/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/work-steal2.bpl -------------------------------------------------------------------------------- This is Ultimate 0.3.0-wip.dk.ample-buchi-a4216cd-m [2025-04-26 18:39:41,683 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-04-26 18:39:41,742 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/settings/gemcutter/Termination.epf [2025-04-26 18:39:41,746 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-04-26 18:39:41,746 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-04-26 18:39:41,746 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:41,746 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.Translation Mode: [2025-04-26 18:39:41,765 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-04-26 18:39:41,766 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-04-26 18:39:41,766 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-04-26 18:39:41,766 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-04-26 18:39:41,766 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-04-26 18:39:41,766 INFO L153 SettingsManager]: * Use SBE=true [2025-04-26 18:39:41,766 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-04-26 18:39:41,767 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-04-26 18:39:41,767 INFO L153 SettingsManager]: * Use old map elimination=false [2025-04-26 18:39:41,768 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-04-26 18:39:41,768 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-04-26 18:39:41,768 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-04-26 18:39:41,768 INFO L153 SettingsManager]: * Automaton type for concurrent programs=PARTIAL_ORDER_BA [2025-04-26 18:39:41,768 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-04-26 18:39:41,768 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * sizeof long=4 [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * sizeof long double=12 [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Use constant arrays=true [2025-04-26 18:39:41,769 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-04-26 18:39:41,769 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-04-26 18:39:41,770 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 [2025-04-26 18:39:41,770 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-04-26 18:39:41,770 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-04-26 18:39:41,770 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-04-26 18:39:41,770 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-04-26 18:39:41,770 INFO L153 SettingsManager]: * Use conditional POR in concurrent analysis=false [2025-04-26 18:39:41,776 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-04-26 18:39:41,776 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR [2025-04-26 18:39:42,029 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-04-26 18:39:42,036 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-04-26 18:39:42,038 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-04-26 18:39:42,039 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2025-04-26 18:39:42,040 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2025-04-26 18:39:42,042 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/POPL2023/work-steal2.bpl [2025-04-26 18:39:42,044 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/POPL2023/work-steal2.bpl' [2025-04-26 18:39:42,065 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-04-26 18:39:42,067 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2025-04-26 18:39:42,068 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-04-26 18:39:42,068 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-04-26 18:39:42,068 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-04-26 18:39:42,075 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,095 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,118 INFO L138 Inliner]: procedures = 4, calls = 4, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 24 [2025-04-26 18:39:42,122 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-04-26 18:39:42,123 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-04-26 18:39:42,123 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-04-26 18:39:42,123 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-04-26 18:39:42,128 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,128 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,130 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,130 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,131 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,131 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,136 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,138 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,139 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,153 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-04-26 18:39:42,153 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-04-26 18:39:42,154 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-04-26 18:39:42,154 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-04-26 18:39:42,155 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/1) ... [2025-04-26 18:39:42,159 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 [2025-04-26 18:39:42,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:42,177 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:42,180 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:42,198 INFO L124 BoogieDeclarations]: Specification and implementation of procedure workerWithAssert given in one single declaration [2025-04-26 18:39:42,198 INFO L130 BoogieDeclarations]: Found specification of procedure workerWithAssert [2025-04-26 18:39:42,198 INFO L138 BoogieDeclarations]: Found implementation of procedure workerWithAssert [2025-04-26 18:39:42,198 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2025-04-26 18:39:42,198 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-04-26 18:39:42,198 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-04-26 18:39:42,198 INFO L124 BoogieDeclarations]: Specification and implementation of procedure worker given in one single declaration [2025-04-26 18:39:42,198 INFO L130 BoogieDeclarations]: Found specification of procedure worker [2025-04-26 18:39:42,199 INFO L138 BoogieDeclarations]: Found implementation of procedure worker [2025-04-26 18:39:42,199 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:42,235 INFO L234 CfgBuilder]: Building ICFG [2025-04-26 18:39:42,237 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-04-26 18:39:42,324 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-04-26 18:39:42,324 INFO L283 CfgBuilder]: Performing block encoding [2025-04-26 18:39:42,375 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-04-26 18:39:42,375 INFO L312 CfgBuilder]: Removed 2 assume(true) statements. [2025-04-26 18:39:42,376 INFO L201 PluginConnector]: Adding new model work-steal2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.04 06:39:42 BoogieIcfgContainer [2025-04-26 18:39:42,376 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-04-26 18:39:42,379 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-04-26 18:39:42,379 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-04-26 18:39:42,386 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-04-26 18:39:42,387 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-04-26 18:39:42,387 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:42" (1/2) ... [2025-04-26 18:39:42,388 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@62feeaaa and model type work-steal2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.04 06:39:42, skipping insertion in model container [2025-04-26 18:39:42,388 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-04-26 18:39:42,388 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "work-steal2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.04 06:39:42" (2/2) ... [2025-04-26 18:39:42,388 INFO L376 chiAutomizerObserver]: Analyzing ICFG work-steal2.bpl [2025-04-26 18:39:42,434 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-04-26 18:39:42,469 INFO L125 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-04-26 18:39:42,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2025-04-26 18:39:42,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:42,471 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:42,473 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:42,514 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 33 places, 32 transitions, 72 flow [2025-04-26 18:39:42,533 INFO L116 PetriNetUnfolderBase]: 4/28 cut-off events. [2025-04-26 18:39:42,535 INFO L117 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-04-26 18:39:42,538 INFO L83 FinitePrefix]: Finished finitePrefix Result has 35 conditions, 28 events. 4/28 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 42 event pairs, 0 based on Foata normal form. 0/23 useless extension candidates. Maximal degree in co-relation 27. Up to 2 conditions per place. [2025-04-26 18:39:42,538 INFO L82 GeneralOperation]: Start removeDead. Operand has 33 places, 32 transitions, 72 flow [2025-04-26 18:39:42,542 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 31 places, 28 transitions, 62 flow [2025-04-26 18:39:42,542 INFO L84 lAbstractionProvider]: Constructed initial Petri net abstraction that has has 31 places, 28 transitions, 62 flow [2025-04-26 18:39:42,542 INFO L113 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 31 places, 28 transitions, 62 flow [2025-04-26 18:39:42,576 INFO L135 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 234 states, 232 states have (on average 2.663793103448276) internal successors, (in total 618), 233 states have internal predecessors, (618), 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:42,579 INFO L171 actionProvider$Eager]: Constructed initial Büchi automaton abstraction (from Petri net) that has 234 states, 232 states have (on average 2.663793103448276) internal successors, (in total 618), 233 states have internal predecessors, (618), 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:42,580 INFO L135 AmpleReduction]: Starting ample reduction [2025-04-26 18:39:42,653 WARN L140 AmpleReduction]: Number of pruned transitions: 51 [2025-04-26 18:39:42,654 WARN L141 AmpleReduction]: Loop nodes with "changing loop node status": 0 [2025-04-26 18:39:42,654 WARN L142 AmpleReduction]: Number of trivial sets caused by loops: 2 [2025-04-26 18:39:42,654 WARN L143 AmpleReduction]: Number of not loop caused trivial ample sets:34 [2025-04-26 18:39:42,654 WARN L144 AmpleReduction]: Number of initially assigned non-trivial ample sets:40 [2025-04-26 18:39:42,654 WARN L145 AmpleReduction]: Times succ was already a loop node:5 [2025-04-26 18:39:42,654 WARN L146 AmpleReduction]: Times some other node on the cycle already had a trivial ample set:2 [2025-04-26 18:39:42,654 INFO L149 AmpleReduction]: Finished ample reduction [2025-04-26 18:39:42,655 INFO L136 dAbstractionProvider]: Constructed initial ample set-reduced NBA abstraction that has 77 states, 75 states have (on average 1.2933333333333332) internal successors, (in total 97), 76 states have internal predecessors, (97), 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:42,661 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-04-26 18:39:42,661 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-04-26 18:39:42,661 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-04-26 18:39:42,661 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-04-26 18:39:42,661 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-04-26 18:39:42,661 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-04-26 18:39:42,661 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-04-26 18:39:42,661 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-04-26 18:39:42,663 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 77 states, 75 states have (on average 1.2933333333333332) internal successors, (in total 97), 76 states have internal predecessors, (97), 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:42,675 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 55 [2025-04-26 18:39:42,676 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:42,676 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:42,683 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2025-04-26 18:39:42,683 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:42,683 INFO L340 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-04-26 18:39:42,684 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 77 states, 75 states have (on average 1.2933333333333332) internal successors, (in total 97), 76 states have internal predecessors, (97), 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:42,686 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 55 [2025-04-26 18:39:42,687 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:42,687 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:42,687 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2025-04-26 18:39:42,687 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:42,694 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[105] L38-->L41: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[107] L41-->workerWithAssertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" [2025-04-26 18:39:42,695 INFO L754 eck$LassoCheckResult]: Loop: "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" [2025-04-26 18:39:42,701 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:42,701 INFO L85 PathProgramCache]: Analyzing trace with hash -458295403, now seen corresponding path program 1 times [2025-04-26 18:39:42,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:42,707 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1498148937] [2025-04-26 18:39:42,707 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:42,707 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:42,749 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-04-26 18:39:42,755 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-04-26 18:39:42,755 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:42,755 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:42,756 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:42,759 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-04-26 18:39:42,764 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-04-26 18:39:42,764 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:42,764 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:42,778 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:42,780 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:42,780 INFO L85 PathProgramCache]: Analyzing trace with hash -602664729, now seen corresponding path program 1 times [2025-04-26 18:39:42,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:42,780 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [503471128] [2025-04-26 18:39:42,780 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:42,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:42,788 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:42,803 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:42,804 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:42,805 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:42,805 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:42,809 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:42,819 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:42,819 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:42,819 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:42,824 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:42,826 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:42,826 INFO L85 PathProgramCache]: Analyzing trace with hash -244566917, now seen corresponding path program 1 times [2025-04-26 18:39:42,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:42,826 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [696652231] [2025-04-26 18:39:42,826 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:42,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:42,833 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-04-26 18:39:42,839 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-04-26 18:39:42,839 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:42,839 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:42,840 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:42,842 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-04-26 18:39:42,847 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-04-26 18:39:42,848 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:42,848 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:42,850 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:43,118 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:43,119 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:43,119 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:43,119 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:43,119 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:43,120 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,120 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:43,120 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:43,120 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration1_Lasso [2025-04-26 18:39:43,120 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:43,120 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:43,135 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,159 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,165 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,169 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,171 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,172 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,175 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,177 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,179 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,182 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,212 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,215 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:43,314 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:43,316 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:43,317 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,317 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,321 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:43,322 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:43,323 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:43,335 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,335 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:43,336 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,336 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,336 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,339 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:43,339 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:43,341 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,347 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2025-04-26 18:39:43,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,349 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:43,350 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:43,351 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:43,361 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,361 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:43,361 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,361 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,361 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,362 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:43,362 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:43,365 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,370 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2025-04-26 18:39:43,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,373 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:43,373 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:43,375 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:43,385 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,385 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:43,385 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,385 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,385 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,386 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:43,386 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:43,387 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,393 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:43,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,395 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:43,397 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:43,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:39:43,408 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,408 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:43,408 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,408 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,408 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,409 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:43,409 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:43,410 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,416 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:43,416 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,418 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:43,419 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:43,419 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:43,429 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,429 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:43,429 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,429 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,429 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,430 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:43,430 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:43,431 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,436 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:43,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,438 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:43,440 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:43,441 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:43,451 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,451 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,451 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,451 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,453 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:43,453 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:43,456 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,461 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:43,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,464 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:43,465 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:43,466 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:43,475 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,476 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:43,476 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,476 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,476 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,476 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:43,476 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:43,477 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,482 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:43,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,485 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:43,486 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:43,486 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:43,496 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,496 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,496 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,496 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,498 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:43,498 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:43,501 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,507 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2025-04-26 18:39:43,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,509 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:43,510 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:43,511 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:43,521 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,521 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,521 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,521 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,523 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:43,523 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:43,526 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:43,531 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:43,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,533 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:43,534 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:43,536 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:43,546 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:43,546 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:43,546 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:43,546 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:43,553 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:43,554 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:43,561 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:43,578 INFO L436 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2025-04-26 18:39:43,578 INFO L437 ModelExtractionUtils]: 9 out of 16 variables were initially zero. Simplification set additionally 4 variables to zero. [2025-04-26 18:39:43,579 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:43,579 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:43,582 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:43,583 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:43,583 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:43,600 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:43,601 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 18:39:43,601 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:43,601 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, cnt) = 1*N - 1*cnt Supporting invariants [] [2025-04-26 18:39:43,607 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:43,609 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-04-26 18:39:43,624 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:43,630 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-04-26 18:39:43,632 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-04-26 18:39:43,632 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:43,632 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:43,633 INFO L256 TraceCheckSpWp]: Trace formula consists of 13 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:39:43,634 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:43,649 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:43,651 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:43,652 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:43,652 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:43,652 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:39:43,653 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:43,864 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:43,877 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2025-04-26 18:39:43,879 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 77 states, 75 states have (on average 1.2933333333333332) internal successors, (in total 97), 76 states have internal predecessors, (97), 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 6 states, 6 states have (on average 2.3333333333333335) internal successors, (in total 14), 6 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:43,991 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 77 states, 75 states have (on average 1.2933333333333332) internal successors, (in total 97), 76 states have internal predecessors, (97), 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 6 states, 6 states have (on average 2.3333333333333335) internal successors, (in total 14), 6 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 112 states and 137 transitions. Complement of second has 8 states. [2025-04-26 18:39:43,992 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:43,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (in total 14), 6 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:43,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2025-04-26 18:39:43,999 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 46 transitions. Stem has 6 letters. Loop has 8 letters. [2025-04-26 18:39:44,000 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:44,000 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 46 transitions. Stem has 14 letters. Loop has 8 letters. [2025-04-26 18:39:44,001 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:44,001 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 46 transitions. Stem has 6 letters. Loop has 16 letters. [2025-04-26 18:39:44,002 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:44,002 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 112 states and 137 transitions. [2025-04-26 18:39:44,008 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 39 [2025-04-26 18:39:44,011 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 112 states to 50 states and 56 transitions. [2025-04-26 18:39:44,012 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2025-04-26 18:39:44,013 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 50 [2025-04-26 18:39:44,014 INFO L74 IsDeterministic]: Start isDeterministic. Operand 50 states and 56 transitions. [2025-04-26 18:39:44,014 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-04-26 18:39:44,014 INFO L218 hiAutomatonCegarLoop]: Abstraction has 50 states and 56 transitions. [2025-04-26 18:39:44,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states and 56 transitions. [2025-04-26 18:39:44,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2025-04-26 18:39:44,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 50 states have (on average 1.12) internal successors, (in total 56), 49 states have internal predecessors, (56), 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:44,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 56 transitions. [2025-04-26 18:39:44,031 INFO L240 hiAutomatonCegarLoop]: Abstraction has 50 states and 56 transitions. [2025-04-26 18:39:44,031 INFO L438 stractBuchiCegarLoop]: Abstraction has 50 states and 56 transitions. [2025-04-26 18:39:44,031 INFO L340 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-04-26 18:39:44,031 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 50 states and 56 transitions. [2025-04-26 18:39:44,032 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 39 [2025-04-26 18:39:44,032 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:44,032 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:44,032 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:44,032 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:44,032 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[117] L53-->L56: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[119] L56-->workerEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" [2025-04-26 18:39:44,032 INFO L754 eck$LassoCheckResult]: Loop: "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:39:44,033 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:44,033 INFO L85 PathProgramCache]: Analyzing trace with hash 1959722199, now seen corresponding path program 1 times [2025-04-26 18:39:44,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:44,033 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1411764190] [2025-04-26 18:39:44,033 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:44,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:44,038 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,039 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,040 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,040 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,040 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:44,040 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,045 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,046 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,046 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,047 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:44,047 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:44,047 INFO L85 PathProgramCache]: Analyzing trace with hash -1352694905, now seen corresponding path program 1 times [2025-04-26 18:39:44,047 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:44,047 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1011499808] [2025-04-26 18:39:44,047 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:44,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:44,054 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,059 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,059 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,059 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,059 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:44,062 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,071 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,072 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,072 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,073 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:44,073 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:44,074 INFO L85 PathProgramCache]: Analyzing trace with hash -995669411, now seen corresponding path program 1 times [2025-04-26 18:39:44,074 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:44,074 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494727866] [2025-04-26 18:39:44,074 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:44,074 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:44,080 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:44,088 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:44,088 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,088 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,088 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:44,090 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:44,094 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:44,094 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,094 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,096 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:44,222 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:44,223 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:44,223 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:44,223 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:44,223 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:44,223 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,223 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:44,223 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:44,223 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration2_Lasso [2025-04-26 18:39:44,223 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:44,223 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:44,224 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,226 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,228 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,229 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,232 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,233 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,277 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,279 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,281 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,283 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,285 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:44,461 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:44,461 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:44,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:44,463 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:44,464 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:44,465 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:44,475 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:44,475 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:44,475 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:44,475 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:44,476 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:44,477 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:44,479 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:44,484 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:44,484 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,485 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:44,486 INFO L229 MonitoredProcess]: Starting monitored process 15 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:44,488 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2025-04-26 18:39:44,489 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:44,498 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:44,499 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:44,499 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:44,499 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:44,499 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:44,500 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:44,500 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:44,501 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:44,506 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Ended with exit code 0 [2025-04-26 18:39:44,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:44,508 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:44,510 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:44,511 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:44,520 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:44,520 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:44,521 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:44,521 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:44,521 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:44,522 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:44,522 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:44,523 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:44,528 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Ended with exit code 0 [2025-04-26 18:39:44,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:44,530 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:44,531 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:44,531 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:44,541 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:44,541 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:44,541 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:44,541 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:44,542 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:44,542 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:44,544 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:44,549 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:44,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:44,551 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:44,552 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:44,552 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:44,562 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:44,562 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:44,562 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:44,562 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:44,562 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:44,562 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:44,562 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:44,563 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:44,568 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:44,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:44,570 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:44,570 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:44,571 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:44,580 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:44,581 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:44,581 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:39:44,581 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:44,595 INFO L402 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2025-04-26 18:39:44,595 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:39:44,614 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:44,642 INFO L436 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2025-04-26 18:39:44,643 INFO L437 ModelExtractionUtils]: 15 out of 31 variables were initially zero. Simplification set additionally 13 variables to zero. [2025-04-26 18:39:44,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:44,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:44,650 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:44,651 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:44,652 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:44,668 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:44,668 INFO L439 nArgumentSynthesizer]: Removed 4 redundant supporting invariants from a total of 4. [2025-04-26 18:39:44,668 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:44,669 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(cnt, N) = -1*cnt + 1*N Supporting invariants [] [2025-04-26 18:39:44,674 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:44,675 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-04-26 18:39:44,687 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:44,691 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,693 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,693 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,693 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:44,693 INFO L256 TraceCheckSpWp]: Trace formula consists of 16 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:39:44,693 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:44,702 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,704 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,704 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,704 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:44,705 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:39:44,705 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:44,878 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:44,879 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2025-04-26 18:39:44,879 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 50 states and 56 transitions. cyclomatic complexity: 10 Second operand has 5 states, 5 states have (on average 3.2) internal successors, (in total 16), 5 states have internal predecessors, (16), 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:44,956 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 50 states and 56 transitions. cyclomatic complexity: 10. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (in total 16), 5 states have internal predecessors, (16), 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 68 states and 77 transitions. Complement of second has 8 states. [2025-04-26 18:39:44,957 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:44,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (in total 16), 5 states have internal predecessors, (16), 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:44,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 35 transitions. [2025-04-26 18:39:44,957 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 35 transitions. Stem has 8 letters. Loop has 8 letters. [2025-04-26 18:39:44,958 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:44,958 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 35 transitions. Stem has 16 letters. Loop has 8 letters. [2025-04-26 18:39:44,958 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:44,958 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 35 transitions. Stem has 8 letters. Loop has 16 letters. [2025-04-26 18:39:44,958 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:44,958 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 68 states and 77 transitions. [2025-04-26 18:39:44,959 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:44,959 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 68 states to 32 states and 34 transitions. [2025-04-26 18:39:44,959 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32 [2025-04-26 18:39:44,959 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32 [2025-04-26 18:39:44,959 INFO L74 IsDeterministic]: Start isDeterministic. Operand 32 states and 34 transitions. [2025-04-26 18:39:44,959 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-04-26 18:39:44,959 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32 states and 34 transitions. [2025-04-26 18:39:44,960 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states and 34 transitions. [2025-04-26 18:39:44,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2025-04-26 18:39:44,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.0625) internal successors, (in total 34), 31 states have internal predecessors, (34), 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:44,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 34 transitions. [2025-04-26 18:39:44,961 INFO L240 hiAutomatonCegarLoop]: Abstraction has 32 states and 34 transitions. [2025-04-26 18:39:44,961 INFO L438 stractBuchiCegarLoop]: Abstraction has 32 states and 34 transitions. [2025-04-26 18:39:44,961 INFO L340 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-04-26 18:39:44,961 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 32 states and 34 transitions. [2025-04-26 18:39:44,961 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:44,961 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:44,961 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:44,961 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:44,961 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:44,962 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" [2025-04-26 18:39:44,962 INFO L754 eck$LassoCheckResult]: Loop: "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:44,962 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:44,962 INFO L85 PathProgramCache]: Analyzing trace with hash 621845136, now seen corresponding path program 1 times [2025-04-26 18:39:44,962 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:44,962 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1501088411] [2025-04-26 18:39:44,962 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:44,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:44,964 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-04-26 18:39:44,965 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-04-26 18:39:44,965 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,965 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,965 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:44,966 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-04-26 18:39:44,967 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-04-26 18:39:44,967 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,967 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,968 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:44,968 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:44,968 INFO L85 PathProgramCache]: Analyzing trace with hash 501272935, now seen corresponding path program 2 times [2025-04-26 18:39:44,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:44,968 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1517091755] [2025-04-26 18:39:44,969 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:44,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:44,972 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,978 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,979 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:39:44,979 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,979 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:44,982 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:44,989 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:44,990 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:44,990 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:44,991 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:44,991 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:44,996 INFO L85 PathProgramCache]: Analyzing trace with hash 804351222, now seen corresponding path program 1 times [2025-04-26 18:39:44,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:44,996 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1703115153] [2025-04-26 18:39:44,996 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:44,996 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:44,998 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-04-26 18:39:45,003 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-04-26 18:39:45,003 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,003 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,003 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:45,005 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-04-26 18:39:45,014 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-04-26 18:39:45,014 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,014 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,016 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:45,113 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:45,114 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:45,114 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:45,114 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:45,114 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:45,114 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,114 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:45,114 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:45,114 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration3_Lasso [2025-04-26 18:39:45,114 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:45,114 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:45,116 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,120 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,125 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,127 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,128 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,130 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,131 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,133 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,134 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,175 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,176 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:45,325 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:45,325 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:45,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,330 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:45,331 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:45,331 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:45,341 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,341 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,341 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,341 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,342 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:45,342 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:45,345 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,350 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:45,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,353 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:45,354 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:45,354 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:45,364 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,364 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,364 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,364 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,365 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:45,365 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:45,368 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,374 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:45,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,376 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:45,378 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:45,379 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:45,389 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,389 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,389 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,389 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,391 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:45,391 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:45,393 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,400 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:45,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,403 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:45,404 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:45,406 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:45,416 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,416 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:45,416 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,416 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,416 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,416 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:45,416 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:45,417 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,424 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:45,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,424 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,426 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:45,427 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:45,430 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:45,440 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,440 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:45,440 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,441 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,441 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,441 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:45,441 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:45,442 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,448 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:45,448 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,450 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:45,451 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:45,452 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:45,461 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,461 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:45,461 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,461 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,462 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,462 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:45,462 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:45,463 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,468 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:45,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,468 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,470 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:45,470 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:45,471 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:45,481 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,481 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:45,481 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,481 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,481 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,481 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:45,481 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:45,482 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,488 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:45,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,488 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,490 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:45,491 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:45,492 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:45,501 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,502 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,502 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,502 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,503 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:45,503 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:45,505 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,511 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:45,511 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,513 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:45,515 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:45,516 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:45,525 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,525 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:45,526 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,526 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:45,526 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,526 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:45,526 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:45,527 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:45,532 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Ended with exit code 0 [2025-04-26 18:39:45,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,534 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:45,535 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:45,536 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:45,545 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:45,546 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:45,546 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:39:45,546 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:45,556 INFO L402 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2025-04-26 18:39:45,557 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:39:45,575 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:45,592 INFO L436 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2025-04-26 18:39:45,592 INFO L437 ModelExtractionUtils]: 20 out of 31 variables were initially zero. Simplification set additionally 8 variables to zero. [2025-04-26 18:39:45,592 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:45,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:45,594 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:45,595 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:45,595 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:45,611 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:45,612 INFO L439 nArgumentSynthesizer]: Removed 4 redundant supporting invariants from a total of 4. [2025-04-26 18:39:45,612 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:45,612 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, cnt) = 1*N - 1*cnt Supporting invariants [] [2025-04-26 18:39:45,618 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:45,618 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-04-26 18:39:45,626 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:45,633 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-04-26 18:39:45,635 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-04-26 18:39:45,635 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,635 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:45,635 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:39:45,636 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:45,648 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:45,650 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:45,650 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,650 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:45,651 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:39:45,651 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:45,776 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:45,776 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2025-04-26 18:39:45,777 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 32 states and 34 transitions. cyclomatic complexity: 4 Second operand has 5 states, 5 states have (on average 3.4) internal successors, (in total 17), 5 states have internal predecessors, (17), 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:45,843 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 32 states and 34 transitions. cyclomatic complexity: 4. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (in total 17), 5 states have internal predecessors, (17), 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 50 states and 55 transitions. Complement of second has 9 states. [2025-04-26 18:39:45,844 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:45,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (in total 17), 5 states have internal predecessors, (17), 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:45,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 18 transitions. [2025-04-26 18:39:45,845 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 18 transitions. Stem has 9 letters. Loop has 8 letters. [2025-04-26 18:39:45,845 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:45,846 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 18 transitions. Stem has 17 letters. Loop has 8 letters. [2025-04-26 18:39:45,846 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:45,846 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 18 transitions. Stem has 9 letters. Loop has 16 letters. [2025-04-26 18:39:45,846 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:45,846 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 50 states and 55 transitions. [2025-04-26 18:39:45,847 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:45,847 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 50 states to 46 states and 50 transitions. [2025-04-26 18:39:45,847 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2025-04-26 18:39:45,847 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 38 [2025-04-26 18:39:45,847 INFO L74 IsDeterministic]: Start isDeterministic. Operand 46 states and 50 transitions. [2025-04-26 18:39:45,847 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:45,847 INFO L218 hiAutomatonCegarLoop]: Abstraction has 46 states and 50 transitions. [2025-04-26 18:39:45,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states and 50 transitions. [2025-04-26 18:39:45,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2025-04-26 18:39:45,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.0888888888888888) internal successors, (in total 49), 44 states have internal predecessors, (49), 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:45,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 49 transitions. [2025-04-26 18:39:45,849 INFO L240 hiAutomatonCegarLoop]: Abstraction has 45 states and 49 transitions. [2025-04-26 18:39:45,849 INFO L438 stractBuchiCegarLoop]: Abstraction has 45 states and 49 transitions. [2025-04-26 18:39:45,849 INFO L340 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-04-26 18:39:45,849 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 45 states and 49 transitions. [2025-04-26 18:39:45,849 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:45,849 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:45,849 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:45,850 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:45,850 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:45,850 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:39:45,850 INFO L754 eck$LassoCheckResult]: Loop: "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:39:45,850 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:45,850 INFO L85 PathProgramCache]: Analyzing trace with hash 2097330140, now seen corresponding path program 1 times [2025-04-26 18:39:45,851 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:45,851 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1556866219] [2025-04-26 18:39:45,851 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:45,851 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:45,853 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-04-26 18:39:45,856 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-04-26 18:39:45,856 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,856 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,856 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:45,857 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-04-26 18:39:45,859 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-04-26 18:39:45,859 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,859 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,866 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:45,866 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:45,866 INFO L85 PathProgramCache]: Analyzing trace with hash 1336743739, now seen corresponding path program 2 times [2025-04-26 18:39:45,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:45,866 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634082143] [2025-04-26 18:39:45,866 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:45,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:45,868 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:45,871 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:45,871 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:39:45,871 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,871 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:45,872 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:45,875 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:45,875 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,875 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,880 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:45,881 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:45,881 INFO L85 PathProgramCache]: Analyzing trace with hash 1821623318, now seen corresponding path program 1 times [2025-04-26 18:39:45,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:45,881 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [981173167] [2025-04-26 18:39:45,881 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:45,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:45,886 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:45,893 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:45,894 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,894 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,894 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:45,895 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:45,900 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:45,900 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:45,900 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:45,902 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:46,087 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:46,087 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:46,087 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:46,087 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:46,087 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:46,087 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:46,087 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:46,087 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:46,087 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration4_Lasso [2025-04-26 18:39:46,088 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:46,088 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:46,090 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,096 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,098 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,235 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,237 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,239 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,242 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,244 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,245 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,248 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:46,567 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:46,567 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:46,567 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:46,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:46,569 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:46,571 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:46,572 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:46,584 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:46,584 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:46,584 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:46,585 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:46,586 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:46,586 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:46,589 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:46,600 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Ended with exit code 0 [2025-04-26 18:39:46,600 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:46,600 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:46,602 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:46,603 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:46,603 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:46,613 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:46,614 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:46,614 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:46,614 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:46,614 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:46,614 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:46,614 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:46,615 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:46,623 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:46,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:46,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:46,624 INFO L229 MonitoredProcess]: Starting monitored process 34 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:46,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Waiting until timeout for monitored process [2025-04-26 18:39:46,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:46,636 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:46,636 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2025-04-26 18:39:46,636 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:39:46,636 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:46,654 INFO L402 nArgumentSynthesizer]: We have 20 Motzkin's Theorem applications. [2025-04-26 18:39:46,654 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:39:46,682 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:46,706 INFO L436 ModelExtractionUtils]: Simplification made 13 calls to the SMT solver. [2025-04-26 18:39:46,706 INFO L437 ModelExtractionUtils]: 25 out of 36 variables were initially zero. Simplification set additionally 5 variables to zero. [2025-04-26 18:39:46,706 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:46,706 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:46,708 INFO L229 MonitoredProcess]: Starting monitored process 35 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:46,708 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2025-04-26 18:39:46,709 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:46,726 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Ended with exit code 0 [2025-04-26 18:39:46,726 INFO L439 nArgumentSynthesizer]: Removed 3 redundant supporting invariants from a total of 4. [2025-04-26 18:39:46,726 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:46,726 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(cnt, workerWithAssertThread1of1ForFork1_steal_num#1, N) = -1*cnt + 1*workerWithAssertThread1of1ForFork1_steal_num#1 + 1*N Supporting invariants [-1*cnt + 1*N >= 0] [2025-04-26 18:39:46,733 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Ended with exit code 0 [2025-04-26 18:39:46,736 INFO L156 tatePredicateManager]: 0 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 18:39:46,750 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:46,754 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-04-26 18:39:46,756 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-04-26 18:39:46,756 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:46,756 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:46,757 INFO L256 TraceCheckSpWp]: Trace formula consists of 19 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:39:46,757 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:46,815 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:46,818 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:46,819 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:46,819 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:46,819 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:46,820 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:46,864 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:46,865 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.3 stem predicates 3 loop predicates [2025-04-26 18:39:46,865 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 45 states and 49 transitions. cyclomatic complexity: 7 Second operand has 6 states, 6 states have (on average 3.0) internal successors, (in total 18), 5 states have internal predecessors, (18), 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:46,980 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 45 states and 49 transitions. cyclomatic complexity: 7. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (in total 18), 5 states have internal predecessors, (18), 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 65 states and 72 transitions. Complement of second has 12 states. [2025-04-26 18:39:46,981 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 8 states 3 stem states 3 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:46,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (in total 18), 5 states have internal predecessors, (18), 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:46,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2025-04-26 18:39:46,981 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 29 transitions. Stem has 10 letters. Loop has 8 letters. [2025-04-26 18:39:46,982 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:46,982 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 29 transitions. Stem has 18 letters. Loop has 8 letters. [2025-04-26 18:39:46,982 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:46,982 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 29 transitions. Stem has 10 letters. Loop has 16 letters. [2025-04-26 18:39:46,982 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:46,982 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 65 states and 72 transitions. [2025-04-26 18:39:46,983 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:46,983 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 65 states to 64 states and 71 transitions. [2025-04-26 18:39:46,983 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46 [2025-04-26 18:39:46,983 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 48 [2025-04-26 18:39:46,983 INFO L74 IsDeterministic]: Start isDeterministic. Operand 64 states and 71 transitions. [2025-04-26 18:39:46,983 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:46,983 INFO L218 hiAutomatonCegarLoop]: Abstraction has 64 states and 71 transitions. [2025-04-26 18:39:46,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states and 71 transitions. [2025-04-26 18:39:46,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2025-04-26 18:39:46,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 61 states have (on average 1.1147540983606556) internal successors, (in total 68), 60 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:39:46,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 68 transitions. [2025-04-26 18:39:46,989 INFO L240 hiAutomatonCegarLoop]: Abstraction has 61 states and 68 transitions. [2025-04-26 18:39:46,989 INFO L438 stractBuchiCegarLoop]: Abstraction has 61 states and 68 transitions. [2025-04-26 18:39:46,989 INFO L340 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-04-26 18:39:46,989 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 61 states and 68 transitions. [2025-04-26 18:39:46,990 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:46,990 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:46,990 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:46,991 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:46,991 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:46,991 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[113] L43-->workerWithAssertErr0ASSERT_VIOLATIONASSERT: Formula: (or (< |v_workerWithAssertThread1of1ForFork1_i#1_3| 0) (<= v_N_4 |v_workerWithAssertThread1of1ForFork1_i#1_3|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} AuxVars[] AssignedVars[]" [2025-04-26 18:39:46,991 INFO L754 eck$LassoCheckResult]: Loop: "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:46,991 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:46,991 INFO L85 PathProgramCache]: Analyzing trace with hash 1260298558, now seen corresponding path program 1 times [2025-04-26 18:39:46,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:46,992 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [837152710] [2025-04-26 18:39:46,992 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:46,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:46,994 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-04-26 18:39:47,001 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-04-26 18:39:47,002 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:47,002 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:47,129 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:47,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:47,129 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [837152710] [2025-04-26 18:39:47,130 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [837152710] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-26 18:39:47,130 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-26 18:39:47,131 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-04-26 18:39:47,132 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [420656094] [2025-04-26 18:39:47,132 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-26 18:39:47,133 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:47,133 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:47,133 INFO L85 PathProgramCache]: Analyzing trace with hash 501272935, now seen corresponding path program 3 times [2025-04-26 18:39:47,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:47,134 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [175717150] [2025-04-26 18:39:47,134 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:39:47,134 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:47,137 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:47,141 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:47,141 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-26 18:39:47,141 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,141 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:47,143 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:47,146 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:47,146 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:47,146 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,147 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:47,226 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:47,227 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-04-26 18:39:47,228 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2025-04-26 18:39:47,228 INFO L87 Difference]: Start difference. First operand 61 states and 68 transitions. cyclomatic complexity: 11 Second operand has 6 states, 5 states have (on average 2.8) internal successors, (in total 14), 5 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:47,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:47,286 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2025-04-26 18:39:47,286 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 74 states and 81 transitions. [2025-04-26 18:39:47,286 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:47,287 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 74 states to 74 states and 81 transitions. [2025-04-26 18:39:47,287 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2025-04-26 18:39:47,287 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2025-04-26 18:39:47,287 INFO L74 IsDeterministic]: Start isDeterministic. Operand 74 states and 81 transitions. [2025-04-26 18:39:47,287 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:47,287 INFO L218 hiAutomatonCegarLoop]: Abstraction has 74 states and 81 transitions. [2025-04-26 18:39:47,287 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states and 81 transitions. [2025-04-26 18:39:47,289 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 64. [2025-04-26 18:39:47,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 64 states have (on average 1.109375) internal successors, (in total 71), 63 states have internal predecessors, (71), 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:47,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 71 transitions. [2025-04-26 18:39:47,289 INFO L240 hiAutomatonCegarLoop]: Abstraction has 64 states and 71 transitions. [2025-04-26 18:39:47,290 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-04-26 18:39:47,290 INFO L438 stractBuchiCegarLoop]: Abstraction has 64 states and 71 transitions. [2025-04-26 18:39:47,290 INFO L340 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-04-26 18:39:47,290 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 64 states and 71 transitions. [2025-04-26 18:39:47,290 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:47,291 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:47,291 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:47,291 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:47,291 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:47,291 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:39:47,292 INFO L754 eck$LassoCheckResult]: Loop: "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:39:47,292 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:47,292 INFO L85 PathProgramCache]: Analyzing trace with hash -834915786, now seen corresponding path program 1 times [2025-04-26 18:39:47,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:47,292 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [431347643] [2025-04-26 18:39:47,292 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:47,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:47,294 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:47,299 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:47,299 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:47,299 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,299 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:47,301 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:47,304 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:47,304 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:47,304 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,306 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:47,306 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:47,306 INFO L85 PathProgramCache]: Analyzing trace with hash 1336743739, now seen corresponding path program 3 times [2025-04-26 18:39:47,307 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:47,307 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [92741041] [2025-04-26 18:39:47,307 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:39:47,307 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:47,311 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:47,313 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:47,313 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-26 18:39:47,313 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,313 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:47,318 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:47,320 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:47,320 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:47,320 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,321 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:47,321 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:47,321 INFO L85 PathProgramCache]: Analyzing trace with hash 834815088, now seen corresponding path program 1 times [2025-04-26 18:39:47,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:47,322 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1418211012] [2025-04-26 18:39:47,322 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:47,322 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:47,324 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:47,329 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:47,330 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:47,330 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,330 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:47,331 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:47,336 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:47,336 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:47,336 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:47,338 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:47,656 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:47,656 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:47,656 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:47,656 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:47,656 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:47,656 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:47,656 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:47,656 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:47,656 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration6_Lasso [2025-04-26 18:39:47,656 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:47,656 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:47,658 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,660 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,824 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,826 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,827 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,830 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,832 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,835 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:47,837 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:48,104 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:48,104 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:48,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:48,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:48,106 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:39:48,107 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:39:48,108 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:48,117 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:48,118 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:48,118 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:48,118 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:48,118 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:48,119 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:48,121 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:48,127 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Ended with exit code 0 [2025-04-26 18:39:48,127 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:48,127 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:48,129 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:39:48,130 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:39:48,131 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:48,141 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:48,141 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:48,141 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:48,141 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:48,141 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:48,141 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:48,141 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:48,142 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:48,147 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:39:48,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:48,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:48,149 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:39:48,150 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:39:48,151 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:48,161 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:48,161 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:48,161 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:48,161 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:48,162 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:48,162 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:48,164 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:48,169 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Ended with exit code 0 [2025-04-26 18:39:48,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:48,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:48,172 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:39:48,172 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:39:48,173 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:48,183 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:48,183 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2025-04-26 18:39:48,183 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:39:48,183 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:48,195 INFO L402 nArgumentSynthesizer]: We have 20 Motzkin's Theorem applications. [2025-04-26 18:39:48,195 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:39:48,220 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:48,245 INFO L436 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2025-04-26 18:39:48,246 INFO L437 ModelExtractionUtils]: 28 out of 41 variables were initially zero. Simplification set additionally 7 variables to zero. [2025-04-26 18:39:48,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:48,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:48,247 INFO L229 MonitoredProcess]: Starting monitored process 40 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:48,249 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Waiting until timeout for monitored process [2025-04-26 18:39:48,249 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:48,265 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Ended with exit code 0 [2025-04-26 18:39:48,266 INFO L439 nArgumentSynthesizer]: Removed 3 redundant supporting invariants from a total of 4. [2025-04-26 18:39:48,266 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:48,266 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, cnt, workerWithAssertThread1of1ForFork1_steal_num#1) = 3*N - 2*cnt + 2*workerWithAssertThread1of1ForFork1_steal_num#1 Supporting invariants [3*N - 2*cnt >= 0] [2025-04-26 18:39:48,272 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:48,275 INFO L156 tatePredicateManager]: 0 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 18:39:48,289 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:48,294 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:48,297 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:48,298 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:48,298 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:48,298 INFO L256 TraceCheckSpWp]: Trace formula consists of 34 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-04-26 18:39:48,299 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:48,553 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:48,554 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:48,554 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:48,554 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:48,555 WARN L254 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-04-26 18:39:48,555 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:48,632 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:48,633 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.7 stem predicates 5 loop predicates [2025-04-26 18:39:48,633 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 64 states and 71 transitions. cyclomatic complexity: 11 Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (in total 26), 11 states have internal predecessors, (26), 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:49,007 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 64 states and 71 transitions. cyclomatic complexity: 11. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (in total 26), 11 states have internal predecessors, (26), 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 97 states and 108 transitions. Complement of second has 21 states. [2025-04-26 18:39:49,007 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 15 states 8 stem states 5 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:49,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (in total 26), 11 states have internal predecessors, (26), 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:49,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 38 transitions. [2025-04-26 18:39:49,008 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 15 states and 38 transitions. Stem has 18 letters. Loop has 8 letters. [2025-04-26 18:39:49,008 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:49,008 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 15 states and 38 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:49,008 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:49,008 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 15 states and 38 transitions. Stem has 18 letters. Loop has 16 letters. [2025-04-26 18:39:49,008 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:49,008 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 97 states and 108 transitions. [2025-04-26 18:39:49,009 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:49,010 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 97 states to 96 states and 107 transitions. [2025-04-26 18:39:49,010 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 60 [2025-04-26 18:39:49,010 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63 [2025-04-26 18:39:49,010 INFO L74 IsDeterministic]: Start isDeterministic. Operand 96 states and 107 transitions. [2025-04-26 18:39:49,010 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:49,010 INFO L218 hiAutomatonCegarLoop]: Abstraction has 96 states and 107 transitions. [2025-04-26 18:39:49,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states and 107 transitions. [2025-04-26 18:39:49,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 73. [2025-04-26 18:39:49,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 73 states have (on average 1.1232876712328768) internal successors, (in total 82), 72 states have internal predecessors, (82), 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:49,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 82 transitions. [2025-04-26 18:39:49,012 INFO L240 hiAutomatonCegarLoop]: Abstraction has 73 states and 82 transitions. [2025-04-26 18:39:49,012 INFO L438 stractBuchiCegarLoop]: Abstraction has 73 states and 82 transitions. [2025-04-26 18:39:49,012 INFO L340 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-04-26 18:39:49,013 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 73 states and 82 transitions. [2025-04-26 18:39:49,013 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:49,013 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:49,013 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:49,013 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:49,013 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:49,014 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:49,014 INFO L754 eck$LassoCheckResult]: Loop: "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:49,014 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:49,014 INFO L85 PathProgramCache]: Analyzing trace with hash 1821623330, now seen corresponding path program 1 times [2025-04-26 18:39:49,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:49,015 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1850683823] [2025-04-26 18:39:49,015 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:49,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:49,017 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:49,020 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:49,020 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:49,020 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:49,020 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:49,021 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:49,024 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:49,025 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:49,025 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:49,026 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:49,026 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:49,026 INFO L85 PathProgramCache]: Analyzing trace with hash -1105178277, now seen corresponding path program 4 times [2025-04-26 18:39:49,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:49,027 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1557937048] [2025-04-26 18:39:49,027 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 18:39:49,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:49,036 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 8 statements into 2 equivalence classes. [2025-04-26 18:39:49,038 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:49,038 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 18:39:49,038 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:49,038 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:49,039 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:49,041 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:49,041 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:49,041 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:49,042 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:49,042 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:49,042 INFO L85 PathProgramCache]: Analyzing trace with hash 1770153084, now seen corresponding path program 2 times [2025-04-26 18:39:49,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:49,042 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [811295139] [2025-04-26 18:39:49,042 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:49,042 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:49,044 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 26 statements into 2 equivalence classes. [2025-04-26 18:39:49,054 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:49,055 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:49,055 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:49,055 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:49,058 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:49,062 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:49,062 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:49,062 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:49,064 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:49,275 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:49,275 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:49,275 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:49,275 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:49,275 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:49,275 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,275 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:49,275 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:49,275 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration7_Lasso [2025-04-26 18:39:49,275 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:49,275 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:49,277 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,280 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,281 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,282 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,284 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,285 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,392 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,394 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,396 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,398 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:49,659 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:49,659 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:49,659 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,659 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,661 INFO L229 MonitoredProcess]: Starting monitored process 41 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:49,662 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Waiting until timeout for monitored process [2025-04-26 18:39:49,662 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:49,672 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:49,672 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:49,672 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:49,672 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:49,674 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:49,674 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:49,676 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:49,681 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Ended with exit code 0 [2025-04-26 18:39:49,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,683 INFO L229 MonitoredProcess]: Starting monitored process 42 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:49,684 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Waiting until timeout for monitored process [2025-04-26 18:39:49,685 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:49,694 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:49,694 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:49,694 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:49,694 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:49,694 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:49,694 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:49,694 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:49,695 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:49,700 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Ended with exit code 0 [2025-04-26 18:39:49,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,700 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,702 INFO L229 MonitoredProcess]: Starting monitored process 43 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:49,702 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Waiting until timeout for monitored process [2025-04-26 18:39:49,704 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:49,713 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:49,713 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:49,713 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:49,713 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:49,714 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:49,714 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:49,717 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:49,722 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:49,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,724 INFO L229 MonitoredProcess]: Starting monitored process 44 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:49,725 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Waiting until timeout for monitored process [2025-04-26 18:39:49,726 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:49,736 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:49,736 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:49,736 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:49,736 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:49,737 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:49,737 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:49,739 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:49,745 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:49,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,746 INFO L229 MonitoredProcess]: Starting monitored process 45 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:49,747 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Waiting until timeout for monitored process [2025-04-26 18:39:49,748 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:49,757 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:49,757 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:49,758 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:49,758 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:49,758 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:49,758 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:49,758 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:49,759 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:49,764 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:49,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,765 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,766 INFO L229 MonitoredProcess]: Starting monitored process 46 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:49,767 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Waiting until timeout for monitored process [2025-04-26 18:39:49,768 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:49,777 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:49,777 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:49,777 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:49,777 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:49,777 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:49,777 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:49,778 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:49,778 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:49,783 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:49,783 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,785 INFO L229 MonitoredProcess]: Starting monitored process 47 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:49,786 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Waiting until timeout for monitored process [2025-04-26 18:39:49,786 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:49,796 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:49,796 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2025-04-26 18:39:49,796 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:39:49,796 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:49,807 INFO L402 nArgumentSynthesizer]: We have 20 Motzkin's Theorem applications. [2025-04-26 18:39:49,807 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:39:49,829 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:49,853 INFO L436 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2025-04-26 18:39:49,853 INFO L437 ModelExtractionUtils]: 20 out of 36 variables were initially zero. Simplification set additionally 10 variables to zero. [2025-04-26 18:39:49,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:49,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:49,861 INFO L229 MonitoredProcess]: Starting monitored process 48 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:49,862 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Waiting until timeout for monitored process [2025-04-26 18:39:49,863 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:49,878 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:49,879 INFO L439 nArgumentSynthesizer]: Removed 3 redundant supporting invariants from a total of 4. [2025-04-26 18:39:49,879 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:49,879 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(cnt, N, workerThread1of1ForFork0_steal_num#1) = -2*cnt + 3*N + 2*workerThread1of1ForFork0_steal_num#1 Supporting invariants [-2*cnt + 3*N >= 0] [2025-04-26 18:39:49,885 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Ended with exit code 0 [2025-04-26 18:39:49,888 INFO L156 tatePredicateManager]: 0 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 18:39:49,901 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:49,906 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-26 18:39:49,909 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-26 18:39:49,909 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:49,909 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:49,909 INFO L256 TraceCheckSpWp]: Trace formula consists of 34 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-04-26 18:39:49,910 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:50,133 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:50,135 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:50,135 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:50,135 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:50,135 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-04-26 18:39:50,136 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:50,208 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:50,209 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.8 stem predicates 4 loop predicates [2025-04-26 18:39:50,209 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 73 states and 82 transitions. cyclomatic complexity: 13 Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (in total 26), 11 states have internal predecessors, (26), 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:50,506 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 73 states and 82 transitions. cyclomatic complexity: 13. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (in total 26), 11 states have internal predecessors, (26), 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 138 states and 152 transitions. Complement of second has 20 states. [2025-04-26 18:39:50,507 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 15 states 9 stem states 4 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:50,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (in total 26), 11 states have internal predecessors, (26), 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:50,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 38 transitions. [2025-04-26 18:39:50,508 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 15 states and 38 transitions. Stem has 18 letters. Loop has 8 letters. [2025-04-26 18:39:50,508 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:50,508 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 15 states and 38 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:50,509 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:50,509 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 15 states and 38 transitions. Stem has 18 letters. Loop has 16 letters. [2025-04-26 18:39:50,510 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:50,510 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 138 states and 152 transitions. [2025-04-26 18:39:50,511 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:50,512 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 138 states to 126 states and 139 transitions. [2025-04-26 18:39:50,512 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 74 [2025-04-26 18:39:50,512 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 83 [2025-04-26 18:39:50,512 INFO L74 IsDeterministic]: Start isDeterministic. Operand 126 states and 139 transitions. [2025-04-26 18:39:50,512 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:50,512 INFO L218 hiAutomatonCegarLoop]: Abstraction has 126 states and 139 transitions. [2025-04-26 18:39:50,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states and 139 transitions. [2025-04-26 18:39:50,518 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 81. [2025-04-26 18:39:50,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 81 states have (on average 1.123456790123457) internal successors, (in total 91), 80 states have internal predecessors, (91), 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:50,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 91 transitions. [2025-04-26 18:39:50,519 INFO L240 hiAutomatonCegarLoop]: Abstraction has 81 states and 91 transitions. [2025-04-26 18:39:50,519 INFO L438 stractBuchiCegarLoop]: Abstraction has 81 states and 91 transitions. [2025-04-26 18:39:50,519 INFO L340 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-04-26 18:39:50,519 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 81 states and 91 transitions. [2025-04-26 18:39:50,520 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:50,520 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:50,520 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:50,520 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:50,520 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:50,521 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[113] L43-->workerWithAssertErr0ASSERT_VIOLATIONASSERT: Formula: (or (< |v_workerWithAssertThread1of1ForFork1_i#1_3| 0) (<= v_N_4 |v_workerWithAssertThread1of1ForFork1_i#1_3|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} AuxVars[] AssignedVars[]" [2025-04-26 18:39:50,521 INFO L754 eck$LassoCheckResult]: Loop: "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:50,522 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:50,522 INFO L85 PathProgramCache]: Analyzing trace with hash 335503000, now seen corresponding path program 1 times [2025-04-26 18:39:50,522 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:50,522 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1657811742] [2025-04-26 18:39:50,522 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:50,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:50,525 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:50,528 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:50,528 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:50,528 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:50,670 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:50,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:50,671 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1657811742] [2025-04-26 18:39:50,671 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1657811742] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:39:50,671 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1424907438] [2025-04-26 18:39:50,671 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:50,671 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:39:50,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:50,674 INFO L229 MonitoredProcess]: Starting monitored process 49 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:50,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Waiting until timeout for monitored process [2025-04-26 18:39:50,696 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:50,711 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:50,711 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:50,711 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:50,711 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-04-26 18:39:50,712 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:50,937 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:50,937 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:39:51,119 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:51,120 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1424907438] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:39:51,120 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:39:51,120 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 8] total 21 [2025-04-26 18:39:51,120 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2101375898] [2025-04-26 18:39:51,120 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:39:51,120 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:51,120 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:51,120 INFO L85 PathProgramCache]: Analyzing trace with hash 501272935, now seen corresponding path program 5 times [2025-04-26 18:39:51,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:51,121 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1358596930] [2025-04-26 18:39:51,121 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 18:39:51,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:51,124 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:51,126 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:51,126 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:39:51,126 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:51,126 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:51,127 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:51,128 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:51,128 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:51,128 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:51,131 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:51,194 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:51,194 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2025-04-26 18:39:51,194 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=421, Unknown=0, NotChecked=0, Total=506 [2025-04-26 18:39:51,195 INFO L87 Difference]: Start difference. First operand 81 states and 91 transitions. cyclomatic complexity: 14 Second operand has 23 states, 22 states have (on average 2.5454545454545454) internal successors, (in total 56), 22 states have internal predecessors, (56), 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:51,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:51,551 INFO L93 Difference]: Finished difference Result 149 states and 163 transitions. [2025-04-26 18:39:51,551 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 149 states and 163 transitions. [2025-04-26 18:39:51,551 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 39 [2025-04-26 18:39:51,552 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 149 states to 149 states and 163 transitions. [2025-04-26 18:39:51,552 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 103 [2025-04-26 18:39:51,552 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 103 [2025-04-26 18:39:51,552 INFO L74 IsDeterministic]: Start isDeterministic. Operand 149 states and 163 transitions. [2025-04-26 18:39:51,552 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:51,552 INFO L218 hiAutomatonCegarLoop]: Abstraction has 149 states and 163 transitions. [2025-04-26 18:39:51,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states and 163 transitions. [2025-04-26 18:39:51,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 103. [2025-04-26 18:39:51,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 103 states have (on average 1.1067961165048543) internal successors, (in total 114), 102 states have internal predecessors, (114), 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:51,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 114 transitions. [2025-04-26 18:39:51,555 INFO L240 hiAutomatonCegarLoop]: Abstraction has 103 states and 114 transitions. [2025-04-26 18:39:51,557 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2025-04-26 18:39:51,558 INFO L438 stractBuchiCegarLoop]: Abstraction has 103 states and 114 transitions. [2025-04-26 18:39:51,558 INFO L340 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-04-26 18:39:51,558 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 103 states and 114 transitions. [2025-04-26 18:39:51,558 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:51,558 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:51,558 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:51,559 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:51,559 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:51,559 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[113] L43-->workerWithAssertErr0ASSERT_VIOLATIONASSERT: Formula: (or (< |v_workerWithAssertThread1of1ForFork1_i#1_3| 0) (<= v_N_4 |v_workerWithAssertThread1of1ForFork1_i#1_3|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} AuxVars[] AssignedVars[]" [2025-04-26 18:39:51,559 INFO L754 eck$LassoCheckResult]: Loop: "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:51,559 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:51,559 INFO L85 PathProgramCache]: Analyzing trace with hash -1233452936, now seen corresponding path program 1 times [2025-04-26 18:39:51,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:51,559 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [405940350] [2025-04-26 18:39:51,559 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:51,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:51,564 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:51,566 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:51,566 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:51,566 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:51,686 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:51,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:51,686 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [405940350] [2025-04-26 18:39:51,686 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [405940350] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:39:51,686 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1209734898] [2025-04-26 18:39:51,686 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:51,686 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:39:51,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:51,688 INFO L229 MonitoredProcess]: Starting monitored process 50 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:51,689 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Waiting until timeout for monitored process [2025-04-26 18:39:51,717 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:51,721 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:51,722 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:51,722 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:51,722 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-04-26 18:39:51,724 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:51,896 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:51,896 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:39:52,076 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:52,076 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1209734898] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:39:52,076 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:39:52,076 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 8] total 21 [2025-04-26 18:39:52,077 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734158742] [2025-04-26 18:39:52,077 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:39:52,077 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:52,077 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:52,077 INFO L85 PathProgramCache]: Analyzing trace with hash 501272935, now seen corresponding path program 6 times [2025-04-26 18:39:52,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:52,077 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [28594030] [2025-04-26 18:39:52,077 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 18:39:52,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:52,081 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:52,083 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:52,083 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-04-26 18:39:52,083 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,083 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:52,086 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:52,087 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:52,087 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:52,087 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,090 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:52,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:52,163 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2025-04-26 18:39:52,163 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=418, Unknown=0, NotChecked=0, Total=506 [2025-04-26 18:39:52,164 INFO L87 Difference]: Start difference. First operand 103 states and 114 transitions. cyclomatic complexity: 16 Second operand has 23 states, 22 states have (on average 2.9545454545454546) internal successors, (in total 65), 22 states have internal predecessors, (65), 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:52,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:52,497 INFO L93 Difference]: Finished difference Result 135 states and 149 transitions. [2025-04-26 18:39:52,497 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 135 states and 149 transitions. [2025-04-26 18:39:52,498 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 31 [2025-04-26 18:39:52,498 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 135 states to 135 states and 149 transitions. [2025-04-26 18:39:52,498 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 94 [2025-04-26 18:39:52,499 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 94 [2025-04-26 18:39:52,499 INFO L74 IsDeterministic]: Start isDeterministic. Operand 135 states and 149 transitions. [2025-04-26 18:39:52,499 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:52,499 INFO L218 hiAutomatonCegarLoop]: Abstraction has 135 states and 149 transitions. [2025-04-26 18:39:52,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states and 149 transitions. [2025-04-26 18:39:52,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 111. [2025-04-26 18:39:52,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 111 states have (on average 1.1081081081081081) internal successors, (in total 123), 110 states have internal predecessors, (123), 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:52,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 123 transitions. [2025-04-26 18:39:52,502 INFO L240 hiAutomatonCegarLoop]: Abstraction has 111 states and 123 transitions. [2025-04-26 18:39:52,505 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2025-04-26 18:39:52,506 INFO L438 stractBuchiCegarLoop]: Abstraction has 111 states and 123 transitions. [2025-04-26 18:39:52,506 INFO L340 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-04-26 18:39:52,506 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 111 states and 123 transitions. [2025-04-26 18:39:52,506 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:52,506 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:52,506 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:52,507 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:52,507 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:52,507 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:52,507 INFO L754 eck$LassoCheckResult]: Loop: "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:39:52,508 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:52,508 INFO L85 PathProgramCache]: Analyzing trace with hash 834815100, now seen corresponding path program 3 times [2025-04-26 18:39:52,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:52,508 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [931543672] [2025-04-26 18:39:52,508 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:39:52,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:52,511 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 26 statements into 2 equivalence classes. [2025-04-26 18:39:52,517 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:52,517 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-04-26 18:39:52,517 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,517 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:52,523 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:52,530 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:52,530 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:52,530 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,532 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:52,533 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:52,533 INFO L85 PathProgramCache]: Analyzing trace with hash -1105178277, now seen corresponding path program 7 times [2025-04-26 18:39:52,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:52,533 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1934207372] [2025-04-26 18:39:52,533 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 18:39:52,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:52,535 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:52,536 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:52,536 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:52,536 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,536 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:52,537 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:52,541 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:52,541 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:52,541 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,542 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:52,542 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:52,543 INFO L85 PathProgramCache]: Analyzing trace with hash 2017454806, now seen corresponding path program 4 times [2025-04-26 18:39:52,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:52,543 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1520995104] [2025-04-26 18:39:52,543 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 18:39:52,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:52,546 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 34 statements into 2 equivalence classes. [2025-04-26 18:39:52,558 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 34 of 34 statements. [2025-04-26 18:39:52,562 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 18:39:52,562 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,562 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:52,564 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-04-26 18:39:52,569 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-04-26 18:39:52,569 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:52,569 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:52,573 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:52,893 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:52,893 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:52,893 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:52,893 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:52,893 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:52,893 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:52,894 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:52,894 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:52,894 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration10_Lasso [2025-04-26 18:39:52,894 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:52,894 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:52,895 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:52,900 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:52,901 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:52,902 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:52,904 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:52,906 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:53,069 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:53,071 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:53,072 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:53,357 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:53,357 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:53,357 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,357 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,359 INFO L229 MonitoredProcess]: Starting monitored process 51 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:53,360 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Waiting until timeout for monitored process [2025-04-26 18:39:53,361 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:53,370 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,371 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:53,371 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,371 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,371 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,371 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:53,371 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:53,372 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,377 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Ended with exit code 0 [2025-04-26 18:39:53,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,379 INFO L229 MonitoredProcess]: Starting monitored process 52 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:53,380 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Waiting until timeout for monitored process [2025-04-26 18:39:53,381 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:53,390 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,391 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,391 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,391 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,391 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:53,391 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:53,393 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,399 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Ended with exit code 0 [2025-04-26 18:39:53,399 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,399 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,401 INFO L229 MonitoredProcess]: Starting monitored process 53 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:53,402 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Waiting until timeout for monitored process [2025-04-26 18:39:53,403 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:53,412 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,413 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:53,413 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,413 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,413 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,413 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:53,413 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:53,414 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,419 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Ended with exit code 0 [2025-04-26 18:39:53,419 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,421 INFO L229 MonitoredProcess]: Starting monitored process 54 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:53,422 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Waiting until timeout for monitored process [2025-04-26 18:39:53,423 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:53,432 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,433 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,433 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,433 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,434 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:53,434 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:53,436 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,442 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Ended with exit code 0 [2025-04-26 18:39:53,442 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,442 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,444 INFO L229 MonitoredProcess]: Starting monitored process 55 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:53,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Waiting until timeout for monitored process [2025-04-26 18:39:53,445 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:53,454 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,455 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,455 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,455 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,455 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:53,455 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:53,457 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,463 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:53,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,465 INFO L229 MonitoredProcess]: Starting monitored process 56 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:53,465 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Waiting until timeout for monitored process [2025-04-26 18:39:53,466 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:53,476 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,476 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,476 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,476 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,477 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:53,477 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:53,479 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,484 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Ended with exit code 0 [2025-04-26 18:39:53,485 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,485 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,486 INFO L229 MonitoredProcess]: Starting monitored process 57 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:53,487 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Waiting until timeout for monitored process [2025-04-26 18:39:53,489 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:53,498 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,498 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,498 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,498 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,499 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:53,499 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:53,501 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,507 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Ended with exit code 0 [2025-04-26 18:39:53,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,509 INFO L229 MonitoredProcess]: Starting monitored process 58 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:53,510 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Waiting until timeout for monitored process [2025-04-26 18:39:53,511 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:53,520 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,520 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:53,520 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:53,520 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,522 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:53,522 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:53,524 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:53,530 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Ended with exit code 0 [2025-04-26 18:39:53,530 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,533 INFO L229 MonitoredProcess]: Starting monitored process 59 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:53,535 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Waiting until timeout for monitored process [2025-04-26 18:39:53,535 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:53,545 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:53,546 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2025-04-26 18:39:53,546 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:39:53,546 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:53,557 INFO L402 nArgumentSynthesizer]: We have 20 Motzkin's Theorem applications. [2025-04-26 18:39:53,558 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:39:53,585 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:53,612 INFO L436 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2025-04-26 18:39:53,612 INFO L437 ModelExtractionUtils]: 24 out of 36 variables were initially zero. Simplification set additionally 6 variables to zero. [2025-04-26 18:39:53,612 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:53,612 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:53,614 INFO L229 MonitoredProcess]: Starting monitored process 60 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:53,615 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Waiting until timeout for monitored process [2025-04-26 18:39:53,615 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:53,632 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Ended with exit code 0 [2025-04-26 18:39:53,632 INFO L439 nArgumentSynthesizer]: Removed 3 redundant supporting invariants from a total of 4. [2025-04-26 18:39:53,632 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:53,632 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(workerThread1of1ForFork0_steal_num#1, N, cnt) = 2*workerThread1of1ForFork0_steal_num#1 + 3*N - 2*cnt Supporting invariants [3*N - 2*cnt >= 0] [2025-04-26 18:39:53,639 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Ended with exit code 0 [2025-04-26 18:39:53,643 INFO L156 tatePredicateManager]: 1 out of 2 supporting invariants were superfluous and have been removed [2025-04-26 18:39:53,656 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:53,660 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:53,664 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:53,665 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:53,665 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:53,665 INFO L256 TraceCheckSpWp]: Trace formula consists of 49 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-04-26 18:39:53,666 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:54,109 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:54,112 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:54,112 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:54,112 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:54,113 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-04-26 18:39:54,113 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:54,173 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:54,174 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.12 stem predicates 4 loop predicates [2025-04-26 18:39:54,174 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18 Second operand has 16 states, 16 states have (on average 2.125) internal successors, (in total 34), 15 states have internal predecessors, (34), 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:54,346 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18. Second operand has 16 states, 16 states have (on average 2.125) internal successors, (in total 34), 15 states have internal predecessors, (34), 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 143 states and 156 transitions. Complement of second has 16 states. [2025-04-26 18:39:54,347 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 11 states 5 stem states 4 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:54,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.125) internal successors, (in total 34), 15 states have internal predecessors, (34), 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:54,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 28 transitions. [2025-04-26 18:39:54,347 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 11 states and 28 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:54,347 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:54,347 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:39:54,360 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:54,364 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:54,368 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:54,368 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:54,368 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:54,368 INFO L256 TraceCheckSpWp]: Trace formula consists of 49 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-04-26 18:39:54,369 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:54,738 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:54,740 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:54,740 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:54,740 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:54,740 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-04-26 18:39:54,741 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:54,799 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:54,799 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.11 stem predicates 4 loop predicates [2025-04-26 18:39:54,799 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18 Second operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (in total 34), 14 states have internal predecessors, (34), 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:54,953 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18. Second operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (in total 34), 14 states have internal predecessors, (34), 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 143 states and 156 transitions. Complement of second has 15 states. [2025-04-26 18:39:54,953 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 4 stem states 4 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:54,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.2666666666666666) internal successors, (in total 34), 14 states have internal predecessors, (34), 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:54,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 28 transitions. [2025-04-26 18:39:54,954 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 10 states and 28 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:54,954 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:54,954 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:39:54,966 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:54,970 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:54,977 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:54,977 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:54,978 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:54,978 INFO L256 TraceCheckSpWp]: Trace formula consists of 49 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-04-26 18:39:54,979 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:55,403 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:55,406 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:55,406 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:55,406 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:55,406 WARN L254 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-04-26 18:39:55,407 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:55,496 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:55,496 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.12 stem predicates 5 loop predicates [2025-04-26 18:39:55,496 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18 Second operand has 17 states, 17 states have (on average 2.0) internal successors, (in total 34), 16 states have internal predecessors, (34), 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:56,192 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18. Second operand has 17 states, 17 states have (on average 2.0) internal successors, (in total 34), 16 states have internal predecessors, (34), 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 181 states and 198 transitions. Complement of second has 36 states. [2025-04-26 18:39:56,192 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 21 states 14 stem states 5 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:56,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (in total 34), 16 states have internal predecessors, (34), 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:56,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 60 transitions. [2025-04-26 18:39:56,193 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 21 states and 60 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:56,193 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:56,193 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 21 states and 60 transitions. Stem has 34 letters. Loop has 8 letters. [2025-04-26 18:39:56,193 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:56,193 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 21 states and 60 transitions. Stem has 26 letters. Loop has 16 letters. [2025-04-26 18:39:56,194 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:56,194 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 181 states and 198 transitions. [2025-04-26 18:39:56,195 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:56,195 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 181 states to 153 states and 168 transitions. [2025-04-26 18:39:56,195 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 90 [2025-04-26 18:39:56,196 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 95 [2025-04-26 18:39:56,196 INFO L74 IsDeterministic]: Start isDeterministic. Operand 153 states and 168 transitions. [2025-04-26 18:39:56,196 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:56,196 INFO L218 hiAutomatonCegarLoop]: Abstraction has 153 states and 168 transitions. [2025-04-26 18:39:56,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states and 168 transitions. [2025-04-26 18:39:56,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 111. [2025-04-26 18:39:56,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 111 states have (on average 1.1081081081081081) internal successors, (in total 123), 110 states have internal predecessors, (123), 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:56,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 123 transitions. [2025-04-26 18:39:56,198 INFO L240 hiAutomatonCegarLoop]: Abstraction has 111 states and 123 transitions. [2025-04-26 18:39:56,198 INFO L438 stractBuchiCegarLoop]: Abstraction has 111 states and 123 transitions. [2025-04-26 18:39:56,198 INFO L340 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-04-26 18:39:56,198 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 111 states and 123 transitions. [2025-04-26 18:39:56,199 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-04-26 18:39:56,199 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:56,199 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:56,199 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:56,199 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:56,200 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:39:56,200 INFO L754 eck$LassoCheckResult]: Loop: "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:39:56,200 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:56,200 INFO L85 PathProgramCache]: Analyzing trace with hash 1770153072, now seen corresponding path program 5 times [2025-04-26 18:39:56,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:56,202 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [830258868] [2025-04-26 18:39:56,202 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 18:39:56,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:56,206 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 26 statements into 2 equivalence classes. [2025-04-26 18:39:56,216 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:56,216 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:56,216 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:56,216 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:56,217 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:56,220 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:56,220 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:56,220 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:56,222 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:56,225 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:56,225 INFO L85 PathProgramCache]: Analyzing trace with hash 1336743739, now seen corresponding path program 4 times [2025-04-26 18:39:56,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:56,226 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [449099000] [2025-04-26 18:39:56,226 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 18:39:56,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:56,227 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 8 statements into 2 equivalence classes. [2025-04-26 18:39:56,229 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:56,229 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 18:39:56,229 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:56,229 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:56,229 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:56,231 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:56,232 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:56,232 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:56,233 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:56,234 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:56,234 INFO L85 PathProgramCache]: Analyzing trace with hash 473406634, now seen corresponding path program 6 times [2025-04-26 18:39:56,234 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:56,234 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372682752] [2025-04-26 18:39:56,234 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 18:39:56,234 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:56,236 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 34 statements into 4 equivalence classes. [2025-04-26 18:39:56,245 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) and asserted 34 of 34 statements. [2025-04-26 18:39:56,245 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2025-04-26 18:39:56,245 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:56,246 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:56,247 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-04-26 18:39:56,255 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-04-26 18:39:56,255 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:56,255 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:56,258 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:56,538 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:56,538 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:56,538 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:56,538 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:56,538 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:56,538 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:56,538 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:56,538 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:56,538 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration11_Lasso [2025-04-26 18:39:56,539 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:56,539 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:56,540 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,542 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,544 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,545 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,546 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,547 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,694 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,696 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:56,697 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:57,009 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:57,009 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:57,009 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:57,009 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:57,013 INFO L229 MonitoredProcess]: Starting monitored process 61 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:57,013 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Waiting until timeout for monitored process [2025-04-26 18:39:57,014 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:57,023 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:57,024 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:57,024 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:57,024 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:57,024 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:57,024 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:57,026 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:57,032 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Ended with exit code 0 [2025-04-26 18:39:57,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:57,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:57,033 INFO L229 MonitoredProcess]: Starting monitored process 62 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:57,034 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Waiting until timeout for monitored process [2025-04-26 18:39:57,035 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:57,044 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:57,045 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:57,045 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:57,045 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:57,045 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:57,045 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:57,052 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:57,057 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Ended with exit code 0 [2025-04-26 18:39:57,057 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:57,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:57,059 INFO L229 MonitoredProcess]: Starting monitored process 63 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:57,060 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Waiting until timeout for monitored process [2025-04-26 18:39:57,061 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:57,070 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:57,071 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:57,071 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:57,071 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:57,071 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:57,071 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:57,074 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:57,080 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Ended with exit code 0 [2025-04-26 18:39:57,080 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:57,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:57,082 INFO L229 MonitoredProcess]: Starting monitored process 64 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:57,083 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Waiting until timeout for monitored process [2025-04-26 18:39:57,083 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:57,093 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:57,093 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:57,093 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:57,093 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:57,093 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:57,093 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:57,093 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:57,094 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:57,100 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Ended with exit code 0 [2025-04-26 18:39:57,100 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:57,100 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:57,101 INFO L229 MonitoredProcess]: Starting monitored process 65 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:57,102 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Waiting until timeout for monitored process [2025-04-26 18:39:57,103 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:57,113 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:57,113 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:57,113 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:57,113 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:57,113 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:57,113 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:57,113 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:57,114 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:57,119 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:57,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:57,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:57,121 INFO L229 MonitoredProcess]: Starting monitored process 66 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:57,121 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Waiting until timeout for monitored process [2025-04-26 18:39:57,124 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:57,133 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:57,133 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2025-04-26 18:39:57,133 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:39:57,133 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:57,144 INFO L402 nArgumentSynthesizer]: We have 20 Motzkin's Theorem applications. [2025-04-26 18:39:57,145 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:39:57,171 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:57,205 INFO L436 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2025-04-26 18:39:57,205 INFO L437 ModelExtractionUtils]: 20 out of 36 variables were initially zero. Simplification set additionally 10 variables to zero. [2025-04-26 18:39:57,205 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:57,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:57,208 INFO L229 MonitoredProcess]: Starting monitored process 67 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:57,209 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Waiting until timeout for monitored process [2025-04-26 18:39:57,210 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:57,228 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Ended with exit code 0 [2025-04-26 18:39:57,228 INFO L439 nArgumentSynthesizer]: Removed 3 redundant supporting invariants from a total of 4. [2025-04-26 18:39:57,228 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:57,228 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(cnt, workerWithAssertThread1of1ForFork1_steal_num#1, N) = -1*cnt + 1*workerWithAssertThread1of1ForFork1_steal_num#1 + 1*N Supporting invariants [-1*cnt + 1*N >= 0] [2025-04-26 18:39:57,235 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Ended with exit code 0 [2025-04-26 18:39:57,239 INFO L156 tatePredicateManager]: 1 out of 2 supporting invariants were superfluous and have been removed [2025-04-26 18:39:57,256 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:57,260 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:57,265 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:57,265 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:57,265 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:57,266 INFO L256 TraceCheckSpWp]: Trace formula consists of 49 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:57,267 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:57,361 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:57,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:57,363 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:57,363 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:57,364 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:57,364 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:57,391 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:57,392 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.4 stem predicates 3 loop predicates [2025-04-26 18:39:57,392 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18 Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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:57,529 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18. Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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 166 states and 183 transitions. Complement of second has 14 states. [2025-04-26 18:39:57,529 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 5 stem states 3 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:57,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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:57,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32 transitions. [2025-04-26 18:39:57,530 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:57,530 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:57,530 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:39:57,541 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:57,549 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:57,553 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:57,553 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:57,553 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:57,553 INFO L256 TraceCheckSpWp]: Trace formula consists of 49 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:57,554 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:57,637 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:57,638 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:57,638 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:57,638 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:57,639 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:57,639 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:57,666 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:57,666 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.4 stem predicates 3 loop predicates [2025-04-26 18:39:57,666 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18 Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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:57,797 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18. Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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 166 states and 183 transitions. Complement of second has 14 states. [2025-04-26 18:39:57,797 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 5 stem states 3 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:57,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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:57,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32 transitions. [2025-04-26 18:39:57,798 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:57,798 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:57,798 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:39:57,815 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:57,820 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-04-26 18:39:57,824 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-04-26 18:39:57,824 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:57,824 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:57,825 INFO L256 TraceCheckSpWp]: Trace formula consists of 49 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:57,825 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:57,916 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:57,917 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:57,918 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:57,918 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:57,918 INFO L256 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:57,918 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:57,944 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:57,945 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.4 stem predicates 3 loop predicates [2025-04-26 18:39:57,945 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18 Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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:58,089 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 111 states and 123 transitions. cyclomatic complexity: 18. Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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 168 states and 186 transitions. Complement of second has 13 states. [2025-04-26 18:39:58,090 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 5 stem states 3 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:58,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (in total 32), 7 states have internal predecessors, (32), 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:58,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 47 transitions. [2025-04-26 18:39:58,090 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 10 states and 47 transitions. Stem has 26 letters. Loop has 8 letters. [2025-04-26 18:39:58,090 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:58,090 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 10 states and 47 transitions. Stem has 34 letters. Loop has 8 letters. [2025-04-26 18:39:58,091 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:58,091 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 10 states and 47 transitions. Stem has 26 letters. Loop has 16 letters. [2025-04-26 18:39:58,091 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:58,091 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 168 states and 186 transitions. [2025-04-26 18:39:58,092 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 32 [2025-04-26 18:39:58,092 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 168 states to 146 states and 162 transitions. [2025-04-26 18:39:58,092 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 92 [2025-04-26 18:39:58,092 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 97 [2025-04-26 18:39:58,093 INFO L74 IsDeterministic]: Start isDeterministic. Operand 146 states and 162 transitions. [2025-04-26 18:39:58,093 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:58,093 INFO L218 hiAutomatonCegarLoop]: Abstraction has 146 states and 162 transitions. [2025-04-26 18:39:58,093 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states and 162 transitions. [2025-04-26 18:39:58,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 102. [2025-04-26 18:39:58,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 102 states have (on average 1.1274509803921569) internal successors, (in total 115), 101 states have internal predecessors, (115), 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:58,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 115 transitions. [2025-04-26 18:39:58,095 INFO L240 hiAutomatonCegarLoop]: Abstraction has 102 states and 115 transitions. [2025-04-26 18:39:58,095 INFO L438 stractBuchiCegarLoop]: Abstraction has 102 states and 115 transitions. [2025-04-26 18:39:58,095 INFO L340 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-04-26 18:39:58,095 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 102 states and 115 transitions. [2025-04-26 18:39:58,096 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 32 [2025-04-26 18:39:58,096 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:58,096 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:58,097 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:58,097 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:58,097 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" [2025-04-26 18:39:58,097 INFO L754 eck$LassoCheckResult]: Loop: "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" [2025-04-26 18:39:58,097 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:58,098 INFO L85 PathProgramCache]: Analyzing trace with hash -1233452935, now seen corresponding path program 2 times [2025-04-26 18:39:58,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:58,098 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [948894735] [2025-04-26 18:39:58,098 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:58,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:58,099 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 22 statements into 2 equivalence classes. [2025-04-26 18:39:58,102 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:58,102 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:58,102 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:58,102 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:58,104 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:58,106 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:58,106 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:58,106 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:58,107 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:58,108 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:58,108 INFO L85 PathProgramCache]: Analyzing trace with hash -1288864107, now seen corresponding path program 1 times [2025-04-26 18:39:58,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:58,108 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1495651819] [2025-04-26 18:39:58,108 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:58,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:58,110 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:58,113 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:58,114 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:58,114 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:58,114 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:58,114 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:58,116 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:58,117 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:58,117 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:58,119 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:58,119 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:58,119 INFO L85 PathProgramCache]: Analyzing trace with hash -481784051, now seen corresponding path program 7 times [2025-04-26 18:39:58,119 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:58,119 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [286038357] [2025-04-26 18:39:58,119 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 18:39:58,119 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:58,123 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 38 statements into 1 equivalence classes. [2025-04-26 18:39:58,128 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 38 of 38 statements. [2025-04-26 18:39:58,128 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:58,128 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:58,128 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:58,130 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 38 statements into 1 equivalence classes. [2025-04-26 18:39:58,135 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 38 of 38 statements. [2025-04-26 18:39:58,136 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:58,136 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:58,138 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:58,358 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:58,358 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:58,358 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:58,358 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:58,358 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:58,358 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:58,358 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:58,358 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:58,359 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration12_Lasso [2025-04-26 18:39:58,359 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:58,359 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:58,360 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:58,433 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:58,434 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:58,436 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:58,437 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:58,439 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:58,441 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:58,592 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:58,592 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:58,592 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:58,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:58,594 INFO L229 MonitoredProcess]: Starting monitored process 68 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:58,600 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Waiting until timeout for monitored process [2025-04-26 18:39:58,601 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:58,610 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:58,610 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:58,610 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:58,610 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:58,610 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:58,611 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:58,611 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:58,612 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:58,617 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Ended with exit code 0 [2025-04-26 18:39:58,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:58,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:58,619 INFO L229 MonitoredProcess]: Starting monitored process 69 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:58,620 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Waiting until timeout for monitored process [2025-04-26 18:39:58,621 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:58,630 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:58,630 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:58,630 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:58,630 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:58,630 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:58,630 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:58,630 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:58,631 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:58,637 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Ended with exit code 0 [2025-04-26 18:39:58,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:58,637 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:58,639 INFO L229 MonitoredProcess]: Starting monitored process 70 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:58,639 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Waiting until timeout for monitored process [2025-04-26 18:39:58,640 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:58,651 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:58,651 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:58,651 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:58,651 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:58,657 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:58,658 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:58,668 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:58,694 INFO L436 ModelExtractionUtils]: Simplification made 21 calls to the SMT solver. [2025-04-26 18:39:58,694 INFO L437 ModelExtractionUtils]: 8 out of 31 variables were initially zero. Simplification set additionally 16 variables to zero. [2025-04-26 18:39:58,694 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:58,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:58,696 INFO L229 MonitoredProcess]: Starting monitored process 71 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:58,697 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Waiting until timeout for monitored process [2025-04-26 18:39:58,697 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:58,713 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Ended with exit code 0 [2025-04-26 18:39:58,713 INFO L439 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 2. [2025-04-26 18:39:58,713 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:58,714 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(workerWithAssertThread1of1ForFork1_steal_x#1, N) = -4*workerWithAssertThread1of1ForFork1_steal_x#1 + 5*N Supporting invariants [-1*workerWithAssertThread1of1ForFork1_steal_x#1 + 1*cnt >= 0, -1*workerWithAssertThread1of1ForFork1_steal_x#1 + 1*N >= 0] [2025-04-26 18:39:58,719 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Ended with exit code 0 [2025-04-26 18:39:58,724 INFO L156 tatePredicateManager]: 2 out of 3 supporting invariants were superfluous and have been removed [2025-04-26 18:39:58,738 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:58,742 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:58,746 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:58,746 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:58,746 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:58,747 INFO L256 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-04-26 18:39:58,747 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:58,852 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:58,855 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:58,855 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:58,855 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:58,856 INFO L256 TraceCheckSpWp]: Trace formula consists of 33 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-04-26 18:39:58,856 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:59,184 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:59,184 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.4 stem predicates 9 loop predicates [2025-04-26 18:39:59,184 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 102 states and 115 transitions. cyclomatic complexity: 18 Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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:59,643 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 102 states and 115 transitions. cyclomatic complexity: 18. Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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 205 states and 227 transitions. Complement of second has 24 states. [2025-04-26 18:39:59,643 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 14 states 4 stem states 9 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:59,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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:59,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 40 transitions. [2025-04-26 18:39:59,644 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 14 states and 40 transitions. Stem has 22 letters. Loop has 16 letters. [2025-04-26 18:39:59,644 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:59,644 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:39:59,655 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:59,659 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:59,662 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:59,662 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:59,662 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:59,663 INFO L256 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-04-26 18:39:59,663 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:59,762 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:59,764 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:59,764 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:59,764 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:59,765 INFO L256 TraceCheckSpWp]: Trace formula consists of 33 conjuncts, 11 conjuncts are in the unsatisfiable core [2025-04-26 18:39:59,765 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:00,097 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:00,097 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.4 stem predicates 9 loop predicates [2025-04-26 18:40:00,097 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 102 states and 115 transitions. cyclomatic complexity: 18 Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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:00,631 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 102 states and 115 transitions. cyclomatic complexity: 18. Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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 205 states and 227 transitions. Complement of second has 26 states. [2025-04-26 18:40:00,632 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 15 states 4 stem states 10 non-accepting loop states 1 accepting loop states [2025-04-26 18:40:00,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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:00,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 39 transitions. [2025-04-26 18:40:00,632 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 15 states and 39 transitions. Stem has 22 letters. Loop has 16 letters. [2025-04-26 18:40:00,632 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:00,632 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:40:00,645 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:00,648 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:40:00,653 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:40:00,654 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:00,654 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:00,654 INFO L256 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-04-26 18:40:00,654 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:00,748 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:40:00,751 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:40:00,751 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:00,751 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:00,752 INFO L256 TraceCheckSpWp]: Trace formula consists of 33 conjuncts, 11 conjuncts are in the unsatisfiable core [2025-04-26 18:40:00,752 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:01,058 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:01,059 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.4 stem predicates 9 loop predicates [2025-04-26 18:40:01,059 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 102 states and 115 transitions. cyclomatic complexity: 18 Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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:01,526 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 102 states and 115 transitions. cyclomatic complexity: 18. Second operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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 176 states and 196 transitions. Complement of second has 25 states. [2025-04-26 18:40:01,526 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 14 states 4 stem states 9 non-accepting loop states 1 accepting loop states [2025-04-26 18:40:01,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.769230769230769) internal successors, (in total 36), 13 states have internal predecessors, (36), 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:01,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 46 transitions. [2025-04-26 18:40:01,527 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 14 states and 46 transitions. Stem has 22 letters. Loop has 16 letters. [2025-04-26 18:40:01,527 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:01,527 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 14 states and 46 transitions. Stem has 38 letters. Loop has 16 letters. [2025-04-26 18:40:01,527 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:01,527 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 14 states and 46 transitions. Stem has 22 letters. Loop has 32 letters. [2025-04-26 18:40:01,527 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:01,527 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 176 states and 196 transitions. [2025-04-26 18:40:01,528 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 56 [2025-04-26 18:40:01,529 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 176 states to 133 states and 149 transitions. [2025-04-26 18:40:01,529 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 66 [2025-04-26 18:40:01,529 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 69 [2025-04-26 18:40:01,529 INFO L74 IsDeterministic]: Start isDeterministic. Operand 133 states and 149 transitions. [2025-04-26 18:40:01,529 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:40:01,529 INFO L218 hiAutomatonCegarLoop]: Abstraction has 133 states and 149 transitions. [2025-04-26 18:40:01,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states and 149 transitions. [2025-04-26 18:40:01,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 115. [2025-04-26 18:40:01,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 115 states have (on average 1.1304347826086956) internal successors, (in total 130), 114 states have internal predecessors, (130), 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:01,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 130 transitions. [2025-04-26 18:40:01,532 INFO L240 hiAutomatonCegarLoop]: Abstraction has 115 states and 130 transitions. [2025-04-26 18:40:01,532 INFO L438 stractBuchiCegarLoop]: Abstraction has 115 states and 130 transitions. [2025-04-26 18:40:01,532 INFO L340 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-04-26 18:40:01,532 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 115 states and 130 transitions. [2025-04-26 18:40:01,532 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 44 [2025-04-26 18:40:01,532 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:40:01,533 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:40:01,533 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:01,533 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:01,533 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" [2025-04-26 18:40:01,534 INFO L754 eck$LassoCheckResult]: Loop: "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" [2025-04-26 18:40:01,534 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:01,534 INFO L85 PathProgramCache]: Analyzing trace with hash -1233452935, now seen corresponding path program 3 times [2025-04-26 18:40:01,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:01,534 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [134174378] [2025-04-26 18:40:01,534 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:40:01,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:01,540 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 22 statements into 2 equivalence classes. [2025-04-26 18:40:01,542 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:40:01,542 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-04-26 18:40:01,542 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:01,542 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:01,544 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:40:01,549 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:40:01,549 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:01,549 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:01,550 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:01,550 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:01,551 INFO L85 PathProgramCache]: Analyzing trace with hash 324675535, now seen corresponding path program 2 times [2025-04-26 18:40:01,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:01,551 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [217309001] [2025-04-26 18:40:01,551 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:40:01,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:01,553 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 24 statements into 2 equivalence classes. [2025-04-26 18:40:01,557 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 18:40:01,558 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:40:01,558 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:01,558 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:01,560 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 18:40:01,566 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 18:40:01,567 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:01,567 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:01,572 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:01,573 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:01,573 INFO L85 PathProgramCache]: Analyzing trace with hash -1082572729, now seen corresponding path program 8 times [2025-04-26 18:40:01,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:01,573 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [695648140] [2025-04-26 18:40:01,573 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:40:01,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:01,577 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 46 statements into 2 equivalence classes. [2025-04-26 18:40:01,583 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 46 of 46 statements. [2025-04-26 18:40:01,584 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:40:01,584 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:01,584 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:01,585 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 46 statements into 1 equivalence classes. [2025-04-26 18:40:01,593 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 46 of 46 statements. [2025-04-26 18:40:01,594 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:01,594 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:01,596 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:01,926 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:40:01,927 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:40:01,927 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:40:01,927 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:40:01,927 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:40:01,927 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:01,927 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:40:01,927 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:40:01,927 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration13_Lasso [2025-04-26 18:40:01,927 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:40:01,927 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:40:01,928 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:01,929 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:01,931 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:02,013 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:02,014 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:02,015 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:02,017 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:02,134 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:40:02,135 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:40:02,135 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:02,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:02,136 INFO L229 MonitoredProcess]: Starting monitored process 72 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:02,137 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Waiting until timeout for monitored process [2025-04-26 18:40:02,138 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:02,148 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:02,148 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:40:02,148 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:02,148 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:02,148 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:02,148 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:40:02,148 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:40:02,149 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:02,155 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Ended with exit code 0 [2025-04-26 18:40:02,155 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:02,155 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:02,157 INFO L229 MonitoredProcess]: Starting monitored process 73 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:02,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Waiting until timeout for monitored process [2025-04-26 18:40:02,158 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:02,167 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:02,168 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:02,168 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:02,168 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:02,168 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:40:02,168 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:40:02,170 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:02,176 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Ended with exit code 0 [2025-04-26 18:40:02,176 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:02,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:02,178 INFO L229 MonitoredProcess]: Starting monitored process 74 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:02,179 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Waiting until timeout for monitored process [2025-04-26 18:40:02,180 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:40:02,189 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:02,189 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:40:02,190 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:02,190 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:02,190 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:02,190 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:40:02,190 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:40:02,191 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:02,196 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Ended with exit code 0 [2025-04-26 18:40:02,196 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:02,196 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:02,198 INFO L229 MonitoredProcess]: Starting monitored process 75 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:02,198 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Waiting until timeout for monitored process [2025-04-26 18:40:02,199 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:02,209 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:02,209 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:02,209 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:02,209 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:02,209 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:40:02,210 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:40:02,212 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:02,217 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Ended with exit code 0 [2025-04-26 18:40:02,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:02,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:02,219 INFO L229 MonitoredProcess]: Starting monitored process 76 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:02,219 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Waiting until timeout for monitored process [2025-04-26 18:40:02,220 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:02,230 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:02,230 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:40:02,230 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:02,230 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:02,230 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:02,230 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:40:02,230 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:40:02,231 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:02,236 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Ended with exit code 0 [2025-04-26 18:40:02,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:02,237 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:02,238 INFO L229 MonitoredProcess]: Starting monitored process 77 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:02,239 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Waiting until timeout for monitored process [2025-04-26 18:40:02,240 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:02,249 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:02,250 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:02,250 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:02,250 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:02,255 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:40:02,255 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:40:02,266 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:40:02,293 INFO L436 ModelExtractionUtils]: Simplification made 12 calls to the SMT solver. [2025-04-26 18:40:02,293 INFO L437 ModelExtractionUtils]: 7 out of 31 variables were initially zero. Simplification set additionally 21 variables to zero. [2025-04-26 18:40:02,293 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:02,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:02,295 INFO L229 MonitoredProcess]: Starting monitored process 78 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:02,297 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Waiting until timeout for monitored process [2025-04-26 18:40:02,297 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:40:02,313 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Ended with exit code 0 [2025-04-26 18:40:02,313 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 18:40:02,313 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:40:02,313 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, cnt) = 1*N - 1*cnt Supporting invariants [] [2025-04-26 18:40:02,320 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Ended with exit code 0 [2025-04-26 18:40:02,323 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 18:40:02,332 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:02,336 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:40:02,340 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:40:02,340 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:02,340 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:02,340 INFO L256 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:40:02,341 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:02,360 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 18:40:02,365 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 18:40:02,365 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:02,365 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:02,366 INFO L256 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 11 conjuncts are in the unsatisfiable core [2025-04-26 18:40:02,366 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:02,675 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:02,675 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 10 loop predicates [2025-04-26 18:40:02,675 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 115 states and 130 transitions. cyclomatic complexity: 21 Second operand has 12 states, 12 states have (on average 3.3333333333333335) internal successors, (in total 40), 12 states have internal predecessors, (40), 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:02,745 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 115 states and 130 transitions. cyclomatic complexity: 21. Second operand has 12 states, 12 states have (on average 3.3333333333333335) internal successors, (in total 40), 12 states have internal predecessors, (40), 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 194 states and 214 transitions. Complement of second has 9 states. [2025-04-26 18:40:02,746 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-04-26 18:40:02,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.3333333333333335) internal successors, (in total 40), 12 states have internal predecessors, (40), 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:02,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2025-04-26 18:40:02,746 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 22 letters. Loop has 24 letters. [2025-04-26 18:40:02,746 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:02,746 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:40:02,752 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:02,759 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:40:02,762 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:40:02,762 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:02,762 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:02,766 INFO L256 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:40:02,766 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:02,783 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 18:40:02,787 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 18:40:02,787 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:02,787 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:02,787 INFO L256 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-04-26 18:40:02,788 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:03,119 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:03,119 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.1 stem predicates 11 loop predicates [2025-04-26 18:40:03,120 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 115 states and 130 transitions. cyclomatic complexity: 21 Second operand has 13 states, 13 states have (on average 3.076923076923077) internal successors, (in total 40), 13 states have internal predecessors, (40), 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:03,492 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 115 states and 130 transitions. cyclomatic complexity: 21. Second operand has 13 states, 13 states have (on average 3.076923076923077) internal successors, (in total 40), 13 states have internal predecessors, (40), 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 219 states and 248 transitions. Complement of second has 23 states. [2025-04-26 18:40:03,493 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 12 states 1 stem states 10 non-accepting loop states 1 accepting loop states [2025-04-26 18:40:03,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.076923076923077) internal successors, (in total 40), 13 states have internal predecessors, (40), 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:03,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 45 transitions. [2025-04-26 18:40:03,493 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 12 states and 45 transitions. Stem has 22 letters. Loop has 24 letters. [2025-04-26 18:40:03,493 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:03,493 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 12 states and 45 transitions. Stem has 46 letters. Loop has 24 letters. [2025-04-26 18:40:03,493 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:03,493 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 12 states and 45 transitions. Stem has 22 letters. Loop has 48 letters. [2025-04-26 18:40:03,494 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:03,494 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 219 states and 248 transitions. [2025-04-26 18:40:03,495 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 16 [2025-04-26 18:40:03,495 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 219 states to 203 states and 229 transitions. [2025-04-26 18:40:03,495 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 65 [2025-04-26 18:40:03,495 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 78 [2025-04-26 18:40:03,495 INFO L74 IsDeterministic]: Start isDeterministic. Operand 203 states and 229 transitions. [2025-04-26 18:40:03,495 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:40:03,496 INFO L218 hiAutomatonCegarLoop]: Abstraction has 203 states and 229 transitions. [2025-04-26 18:40:03,496 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states and 229 transitions. [2025-04-26 18:40:03,498 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 184. [2025-04-26 18:40:03,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 184 states, 184 states have (on average 1.1358695652173914) internal successors, (in total 209), 183 states have internal predecessors, (209), 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:03,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 209 transitions. [2025-04-26 18:40:03,499 INFO L240 hiAutomatonCegarLoop]: Abstraction has 184 states and 209 transitions. [2025-04-26 18:40:03,499 INFO L438 stractBuchiCegarLoop]: Abstraction has 184 states and 209 transitions. [2025-04-26 18:40:03,499 INFO L340 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-04-26 18:40:03,499 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 184 states and 209 transitions. [2025-04-26 18:40:03,499 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 16 [2025-04-26 18:40:03,499 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:40:03,499 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:40:03,500 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:03,500 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:03,500 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" [2025-04-26 18:40:03,500 INFO L754 eck$LassoCheckResult]: Loop: "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:40:03,500 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:03,501 INFO L85 PathProgramCache]: Analyzing trace with hash 1943911836, now seen corresponding path program 4 times [2025-04-26 18:40:03,502 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:03,502 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1966871873] [2025-04-26 18:40:03,502 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 18:40:03,502 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:03,504 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 25 statements into 2 equivalence classes. [2025-04-26 18:40:03,506 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 18:40:03,506 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 18:40:03,506 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:03,506 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:03,507 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 18:40:03,509 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 18:40:03,509 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:03,509 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:03,511 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:03,512 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:03,512 INFO L85 PathProgramCache]: Analyzing trace with hash 501272935, now seen corresponding path program 8 times [2025-04-26 18:40:03,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:03,512 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1521048430] [2025-04-26 18:40:03,512 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:40:03,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:03,517 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:40:03,518 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:40:03,519 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:40:03,519 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:03,519 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:03,519 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:40:03,520 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:40:03,520 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:03,520 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:03,521 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:03,521 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:03,521 INFO L85 PathProgramCache]: Analyzing trace with hash -1340029950, now seen corresponding path program 9 times [2025-04-26 18:40:03,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:03,521 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [827195582] [2025-04-26 18:40:03,521 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:40:03,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:03,523 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 33 statements into 3 equivalence classes. [2025-04-26 18:40:03,528 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:03,528 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2025-04-26 18:40:03,528 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:03,528 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:03,529 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-04-26 18:40:03,532 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:03,532 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:03,532 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:03,533 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:03,721 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:40:03,722 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:40:03,722 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:40:03,722 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:40:03,722 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:40:03,722 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:03,722 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:40:03,722 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:40:03,722 INFO L132 ssoRankerPreferences]: Filename of dumped script: work-steal2.bpl_petrified1_Iteration14_Lasso [2025-04-26 18:40:03,722 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:40:03,722 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:40:03,723 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,779 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,780 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,782 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,783 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,784 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,785 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,787 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,788 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:40:03,913 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:40:03,913 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:40:03,913 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:03,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:03,915 INFO L229 MonitoredProcess]: Starting monitored process 79 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:03,916 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Waiting until timeout for monitored process [2025-04-26 18:40:03,917 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:03,926 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:03,926 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:03,926 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:03,926 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:03,927 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:40:03,927 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:40:03,929 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:03,935 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:03,935 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:03,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:03,937 INFO L229 MonitoredProcess]: Starting monitored process 80 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:03,937 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Waiting until timeout for monitored process [2025-04-26 18:40:03,938 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:03,948 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:03,948 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:03,948 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2025-04-26 18:40:03,948 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:03,957 INFO L402 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2025-04-26 18:40:03,957 INFO L403 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2025-04-26 18:40:03,975 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:40:03,991 INFO L436 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2025-04-26 18:40:03,991 INFO L437 ModelExtractionUtils]: 16 out of 31 variables were initially zero. Simplification set additionally 12 variables to zero. [2025-04-26 18:40:03,991 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:03,991 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:03,993 INFO L229 MonitoredProcess]: Starting monitored process 81 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:03,995 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Waiting until timeout for monitored process [2025-04-26 18:40:03,995 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:40:04,012 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:04,012 INFO L439 nArgumentSynthesizer]: Removed 4 redundant supporting invariants from a total of 4. [2025-04-26 18:40:04,012 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:40:04,012 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, cnt) = 1*N - 1*cnt Supporting invariants [] [2025-04-26 18:40:04,019 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Ended with exit code 0 [2025-04-26 18:40:04,021 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 18:40:04,027 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:04,031 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 18:40:04,035 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 18:40:04,035 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,035 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,035 INFO L256 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:40:04,035 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:04,052 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:40:04,054 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:40:04,054 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,054 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,054 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:40:04,055 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:04,144 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:04,144 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2025-04-26 18:40:04,144 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 184 states and 209 transitions. cyclomatic complexity: 35 Second operand has 5 states, 5 states have (on average 4.8) internal successors, (in total 24), 5 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:40:04,193 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 184 states and 209 transitions. cyclomatic complexity: 35. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (in total 24), 5 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 207 states and 233 transitions. Complement of second has 9 states. [2025-04-26 18:40:04,193 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-04-26 18:40:04,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (in total 24), 5 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:40:04,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 16 transitions. [2025-04-26 18:40:04,194 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 16 transitions. Stem has 25 letters. Loop has 8 letters. [2025-04-26 18:40:04,194 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:04,194 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:40:04,200 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:04,204 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 18:40:04,208 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 18:40:04,208 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,208 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,208 INFO L256 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:40:04,209 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:04,236 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:40:04,238 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:40:04,238 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,238 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,238 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:40:04,238 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:04,354 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:04,355 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.1 stem predicates 4 loop predicates [2025-04-26 18:40:04,355 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 184 states and 209 transitions. cyclomatic complexity: 35 Second operand has 5 states, 5 states have (on average 4.8) internal successors, (in total 24), 5 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:40:04,450 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 184 states and 209 transitions. cyclomatic complexity: 35. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (in total 24), 5 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 207 states and 233 transitions. Complement of second has 11 states. [2025-04-26 18:40:04,451 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 1 stem states 4 non-accepting loop states 1 accepting loop states [2025-04-26 18:40:04,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (in total 24), 5 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:40:04,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 18 transitions. [2025-04-26 18:40:04,451 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 6 states and 18 transitions. Stem has 25 letters. Loop has 8 letters. [2025-04-26 18:40:04,451 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:04,451 INFO L699 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-04-26 18:40:04,457 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:04,461 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 18:40:04,464 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 18:40:04,464 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,464 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,465 INFO L256 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:40:04,465 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:04,482 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:40:04,483 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:40:04,483 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,483 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,483 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-04-26 18:40:04,484 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:04,606 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:04,607 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.1 stem predicates 5 loop predicates [2025-04-26 18:40:04,607 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 184 states and 209 transitions. cyclomatic complexity: 35 Second operand has 6 states, 6 states have (on average 4.0) internal successors, (in total 24), 6 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:40:04,675 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 184 states and 209 transitions. cyclomatic complexity: 35. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (in total 24), 6 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 258 states and 289 transitions. Complement of second has 8 states. [2025-04-26 18:40:04,675 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-04-26 18:40:04,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (in total 24), 6 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:40:04,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 34 transitions. [2025-04-26 18:40:04,676 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 34 transitions. Stem has 25 letters. Loop has 8 letters. [2025-04-26 18:40:04,676 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:04,676 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 34 transitions. Stem has 33 letters. Loop has 8 letters. [2025-04-26 18:40:04,676 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:04,676 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 5 states and 34 transitions. Stem has 25 letters. Loop has 16 letters. [2025-04-26 18:40:04,676 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:04,676 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 258 states and 289 transitions. [2025-04-26 18:40:04,677 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 8 [2025-04-26 18:40:04,678 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 258 states to 186 states and 208 transitions. [2025-04-26 18:40:04,678 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2025-04-26 18:40:04,678 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 66 [2025-04-26 18:40:04,678 INFO L74 IsDeterministic]: Start isDeterministic. Operand 186 states and 208 transitions. [2025-04-26 18:40:04,678 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:40:04,678 INFO L218 hiAutomatonCegarLoop]: Abstraction has 186 states and 208 transitions. [2025-04-26 18:40:04,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states and 208 transitions. [2025-04-26 18:40:04,680 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 174. [2025-04-26 18:40:04,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 174 states have (on average 1.1264367816091954) internal successors, (in total 196), 173 states have internal predecessors, (196), 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:04,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 196 transitions. [2025-04-26 18:40:04,681 INFO L240 hiAutomatonCegarLoop]: Abstraction has 174 states and 196 transitions. [2025-04-26 18:40:04,681 INFO L438 stractBuchiCegarLoop]: Abstraction has 174 states and 196 transitions. [2025-04-26 18:40:04,681 INFO L340 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2025-04-26 18:40:04,681 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 174 states and 196 transitions. [2025-04-26 18:40:04,681 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 8 [2025-04-26 18:40:04,681 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:40:04,681 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:40:04,682 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:04,682 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:04,682 INFO L752 eck$LassoCheckResult]: Stem: "[100] $Ultimate##0-->L27: Formula: (= v_cnt_7 0) InVars {cnt=v_cnt_7} OutVars{cnt=v_cnt_7} AuxVars[] AssignedVars[]" "[89] L27-->L29: Formula: (<= 0 v_N_6) InVars {N=v_N_6} OutVars{N=v_N_6} AuxVars[] AssignedVars[]" "[132] L29-->L38: Formula: (= v_workerWithAssertThread1of1ForFork1_thidvar0_2 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_8|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_10|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_8|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_8|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_10|, workerWithAssertThread1of1ForFork1_thidvar0=v_workerWithAssertThread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1, workerWithAssertThread1of1ForFork1_steal_delta#1, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1, workerWithAssertThread1of1ForFork1_thidvar0]" "[129] L29-1-->L53: Formula: (and (= 2 v_workerThread1of1ForFork0_thidvar0_2) (= 2 v_workerThread1of1ForFork0_thidvar1_2)) InVars {} OutVars{workerThread1of1ForFork0_thidvar0=v_workerThread1of1ForFork0_thidvar0_2, workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_8|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_10|, workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_8|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_8|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_8|, workerThread1of1ForFork0_thidvar1=v_workerThread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[workerThread1of1ForFork0_thidvar0, workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_delta#1, workerThread1of1ForFork0_steal_num#1, workerThread1of1ForFork0_i#1, workerThread1of1ForFork0_thidvar1]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[103] ULTIMATE.startFINAL-->ULTIMATE.startEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[114] L43-->L44: Formula: (and (< |v_workerWithAssertThread1of1ForFork1_i#1_5| v_N_5) (<= 0 |v_workerWithAssertThread1of1ForFork1_i#1_5|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_5|, N=v_N_5} AuxVars[] AssignedVars[]" "[115] L44-->L38: Formula: (= (store v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7| (+ (select v_A_2 |v_workerWithAssertThread1of1ForFork1_i#1_7|) 1)) v_A_1) InVars {A=v_A_2, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} OutVars{A=v_A_1, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_7|} AuxVars[] AssignedVars[A]" "[104] L38-->L39: Formula: (= |v_workerWithAssertThread1of1ForFork1_steal_delta#1_1| 1) InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[106] L39-->L67: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_1|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_1|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[108] L67-->L67-1: Formula: (or (and (<= v_N_29 v_cnt_43) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| |v_workerWithAssertThread1of1ForFork1_steal_x#1_3|) (= 0 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= v_cnt_43 v_cnt_42)) (and (< v_cnt_43 v_N_29) (= (ite (< (+ |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| v_cnt_43) v_N_29) |v_workerWithAssertThread1of1ForFork1_steal_delta#1_3| (+ (* (- 1) v_cnt_43) v_N_29)) |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_4| v_cnt_43) (= v_cnt_42 (+ v_cnt_43 |v_workerWithAssertThread1of1ForFork1_steal_num#1_3|)))) InVars {N=v_N_29, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_43, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_3|} OutVars{N=v_N_29, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_3|, workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_3|, cnt=v_cnt_42, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerWithAssertThread1of1ForFork1_steal_num#1, workerWithAssertThread1of1ForFork1_steal_x#1]" "[109] L67-1-->L39-1: Formula: (and (= |v_workerWithAssertThread1of1ForFork1_sz#1_1| |v_workerWithAssertThread1of1ForFork1_steal_num#1_5|) (= |v_workerWithAssertThread1of1ForFork1_steal_x#1_7| |v_workerWithAssertThread1of1ForFork1_i#1_1|)) InVars {workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_1|, workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_1|, workerWithAssertThread1of1ForFork1_steal_num#1=|v_workerWithAssertThread1of1ForFork1_steal_num#1_5|, workerWithAssertThread1of1ForFork1_steal_x#1=|v_workerWithAssertThread1of1ForFork1_steal_x#1_7|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_sz#1, workerWithAssertThread1of1ForFork1_i#1]" "[110] L39-1-->L40: Formula: true InVars {} OutVars{workerWithAssertThread1of1ForFork1_steal_delta#1=|v_workerWithAssertThread1of1ForFork1_steal_delta#1_5|} AuxVars[] AssignedVars[workerWithAssertThread1of1ForFork1_steal_delta#1]" "[112] L40-->L43: Formula: (< 0 |v_workerWithAssertThread1of1ForFork1_sz#1_5|) InVars {workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} OutVars{workerWithAssertThread1of1ForFork1_sz#1=|v_workerWithAssertThread1of1ForFork1_sz#1_5|} AuxVars[] AssignedVars[]" "[113] L43-->workerWithAssertErr0ASSERT_VIOLATIONASSERT: Formula: (or (< |v_workerWithAssertThread1of1ForFork1_i#1_3| 0) (<= v_N_4 |v_workerWithAssertThread1of1ForFork1_i#1_3|)) InVars {workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} OutVars{workerWithAssertThread1of1ForFork1_i#1=|v_workerWithAssertThread1of1ForFork1_i#1_3|, N=v_N_4} AuxVars[] AssignedVars[]" [2025-04-26 18:40:04,682 INFO L754 eck$LassoCheckResult]: Loop: "[120] L67-->L67-1: Formula: (or (and (= (+ v_cnt_51 |v_workerThread1of1ForFork0_steal_num#1_3|) v_cnt_50) (= (ite (< (+ |v_workerThread1of1ForFork0_steal_delta#1_3| v_cnt_51) v_N_33) |v_workerThread1of1ForFork0_steal_delta#1_3| (+ v_N_33 (* (- 1) v_cnt_51))) |v_workerThread1of1ForFork0_steal_num#1_3|) (= |v_workerThread1of1ForFork0_steal_x#1_4| v_cnt_51) (< v_cnt_51 v_N_33)) (and (= |v_workerThread1of1ForFork0_steal_num#1_3| 0) (<= v_N_33 v_cnt_51) (= v_cnt_51 v_cnt_50) (= |v_workerThread1of1ForFork0_steal_x#1_4| |v_workerThread1of1ForFork0_steal_x#1_3|))) InVars {workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, cnt=v_cnt_51, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_3|} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_3|, N=v_N_33, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_3|, cnt=v_cnt_50, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_4|} AuxVars[] AssignedVars[cnt, workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" "[121] L67-1-->L54-1: Formula: (and (= |v_workerThread1of1ForFork0_sz#1_1| |v_workerThread1of1ForFork0_steal_num#1_5|) (= |v_workerThread1of1ForFork0_steal_x#1_7| |v_workerThread1of1ForFork0_i#1_1|)) InVars {workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_5|, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_1|, workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_7|} AuxVars[] AssignedVars[workerThread1of1ForFork0_sz#1, workerThread1of1ForFork0_i#1]" "[122] L54-1-->L55: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_5|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[124] L55-->L58: Formula: (< 0 |v_workerThread1of1ForFork0_sz#1_5|) InVars {workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} OutVars{workerThread1of1ForFork0_sz#1=|v_workerThread1of1ForFork0_sz#1_5|} AuxVars[] AssignedVars[]" "[125] L58-->L59: Formula: (and (<= 0 |v_workerThread1of1ForFork0_i#1_3|) (< |v_workerThread1of1ForFork0_i#1_3| v_N_10)) InVars {workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} OutVars{workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_3|, N=v_N_10} AuxVars[] AssignedVars[]" "[126] L59-->L53: Formula: (= (store v_A_4 |v_workerThread1of1ForFork0_i#1_5| (+ (select v_A_4 |v_workerThread1of1ForFork0_i#1_5|) 1)) v_A_3) InVars {A=v_A_4, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} OutVars{A=v_A_3, workerThread1of1ForFork0_i#1=|v_workerThread1of1ForFork0_i#1_5|} AuxVars[] AssignedVars[A]" "[116] L53-->L54: Formula: (= |v_workerThread1of1ForFork0_steal_delta#1_1| 1) InVars {} OutVars{workerThread1of1ForFork0_steal_delta#1=|v_workerThread1of1ForFork0_steal_delta#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_delta#1]" "[118] L54-->L67: Formula: true InVars {} OutVars{workerThread1of1ForFork0_steal_x#1=|v_workerThread1of1ForFork0_steal_x#1_1|, workerThread1of1ForFork0_steal_num#1=|v_workerThread1of1ForFork0_steal_num#1_1|} AuxVars[] AssignedVars[workerThread1of1ForFork0_steal_x#1, workerThread1of1ForFork0_steal_num#1]" [2025-04-26 18:40:04,682 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:04,682 INFO L85 PathProgramCache]: Analyzing trace with hash 1611523026, now seen corresponding path program 1 times [2025-04-26 18:40:04,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:04,682 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1613652419] [2025-04-26 18:40:04,683 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:40:04,683 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:04,685 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-04-26 18:40:04,688 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 18:40:04,688 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,688 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,825 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:04,825 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:40:04,825 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1613652419] [2025-04-26 18:40:04,825 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1613652419] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:40:04,826 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318601754] [2025-04-26 18:40:04,826 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:40:04,826 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:40:04,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:04,827 INFO L229 MonitoredProcess]: Starting monitored process 82 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:04,828 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Waiting until timeout for monitored process [2025-04-26 18:40:04,855 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-04-26 18:40:04,859 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 18:40:04,860 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:04,860 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:04,860 INFO L256 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-04-26 18:40:04,861 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:05,150 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:05,150 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:40:05,429 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:05,429 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318601754] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:40:05,429 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:40:05,429 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 12] total 32 [2025-04-26 18:40:05,429 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [746074423] [2025-04-26 18:40:05,429 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:40:05,429 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:40:05,430 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:05,430 INFO L85 PathProgramCache]: Analyzing trace with hash 501272935, now seen corresponding path program 9 times [2025-04-26 18:40:05,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:05,430 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [551464719] [2025-04-26 18:40:05,430 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:40:05,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:05,431 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:40:05,432 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:40:05,433 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-26 18:40:05,433 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:05,433 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:05,433 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:40:05,434 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:40:05,434 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:05,434 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:05,438 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:05,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:40:05,500 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2025-04-26 18:40:05,501 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=191, Invalid=931, Unknown=0, NotChecked=0, Total=1122 [2025-04-26 18:40:05,501 INFO L87 Difference]: Start difference. First operand 174 states and 196 transitions. cyclomatic complexity: 31 Second operand has 34 states, 33 states have (on average 2.696969696969697) internal successors, (in total 89), 33 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:40:06,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:40:06,423 INFO L93 Difference]: Finished difference Result 309 states and 344 transitions. [2025-04-26 18:40:06,423 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 309 states and 344 transitions. [2025-04-26 18:40:06,424 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2025-04-26 18:40:06,425 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 309 states to 0 states and 0 transitions. [2025-04-26 18:40:06,425 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 0 [2025-04-26 18:40:06,425 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 0 [2025-04-26 18:40:06,425 INFO L74 IsDeterministic]: Start isDeterministic. Operand 0 states and 0 transitions. [2025-04-26 18:40:06,425 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-04-26 18:40:06,425 INFO L218 hiAutomatonCegarLoop]: Abstraction has 0 states and 0 transitions. [2025-04-26 18:40:06,425 INFO L240 hiAutomatonCegarLoop]: Abstraction has 0 states and 0 transitions. [2025-04-26 18:40:06,425 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2025-04-26 18:40:06,425 INFO L438 stractBuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2025-04-26 18:40:06,425 INFO L340 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2025-04-26 18:40:06,425 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 0 states and 0 transitions. [2025-04-26 18:40:06,425 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2025-04-26 18:40:06,425 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is true [2025-04-26 18:40:06,436 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:06,437 INFO L201 PluginConnector]: Adding new model work-steal2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 26.04 06:40:06 BoogieIcfgContainer [2025-04-26 18:40:06,437 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-04-26 18:40:06,438 INFO L158 Benchmark]: Toolchain (without parser) took 24370.95ms. Allocated memory was 155.2MB in the beginning and 226.5MB in the end (delta: 71.3MB). Free memory was 84.1MB in the beginning and 84.6MB in the end (delta: -493.4kB). Peak memory consumption was 72.5MB. Max. memory is 8.0GB. [2025-04-26 18:40:06,438 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.87ms. Allocated memory is still 155.2MB. Free memory is still 85.1MB. There was no memory consumed. Max. memory is 8.0GB. [2025-04-26 18:40:06,438 INFO L158 Benchmark]: Boogie Procedure Inliner took 54.38ms. Allocated memory is still 155.2MB. Free memory was 84.0MB in the beginning and 81.5MB in the end (delta: 2.4MB). There was no memory consumed. Max. memory is 8.0GB. [2025-04-26 18:40:06,438 INFO L158 Benchmark]: Boogie Preprocessor took 29.49ms. Allocated memory is still 155.2MB. Free memory was 81.5MB in the beginning and 80.6MB in the end (delta: 907.6kB). There was no memory consumed. Max. memory is 8.0GB. [2025-04-26 18:40:06,438 INFO L158 Benchmark]: RCFGBuilder took 222.35ms. Allocated memory is still 155.2MB. Free memory was 80.5MB in the beginning and 67.4MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2025-04-26 18:40:06,439 INFO L158 Benchmark]: BuchiAutomizer took 24057.67ms. Allocated memory was 155.2MB in the beginning and 226.5MB in the end (delta: 71.3MB). Free memory was 67.3MB in the beginning and 84.6MB in the end (delta: -17.3MB). Peak memory consumption was 55.7MB. Max. memory is 8.0GB. [2025-04-26 18:40:06,439 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 0.87ms. Allocated memory is still 155.2MB. Free memory is still 85.1MB. There was no memory consumed. Max. memory is 8.0GB. * Boogie Procedure Inliner took 54.38ms. Allocated memory is still 155.2MB. Free memory was 84.0MB in the beginning and 81.5MB in the end (delta: 2.4MB). There was no memory consumed. Max. memory is 8.0GB. * Boogie Preprocessor took 29.49ms. Allocated memory is still 155.2MB. Free memory was 81.5MB in the beginning and 80.6MB in the end (delta: 907.6kB). There was no memory consumed. Max. memory is 8.0GB. * RCFGBuilder took 222.35ms. Allocated memory is still 155.2MB. Free memory was 80.5MB in the beginning and 67.4MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * BuchiAutomizer took 24057.67ms. Allocated memory was 155.2MB in the beginning and 226.5MB in the end (delta: 71.3MB). Free memory was 67.3MB in the beginning and 84.6MB in the end (delta: -17.3MB). Peak memory consumption was 55.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 23.9s and 16 iterations. TraceHistogramMax:3. Analysis of lassos took 11.4s. Construction of modules took 1.1s. Büchi inclusion checks took 11.0s. Highest rank in rank-based complementation 3. Minimization of det autom 3. Minimization of nondet autom 12. Automata minimization 0.0s AutomataMinimizationTime, 14 MinimizatonAttempts, 287 StatesRemovedByMinimization, 12 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, 1, 4, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 3/8 HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1541 SdHoareTripleChecker+Valid, 1.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1533 mSDsluCounter, 2037 SdHoareTripleChecker+Invalid, 1.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1535 mSDsCounter, 220 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2389 IncrementalHoareTripleChecker+Invalid, 2609 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 220 mSolverCounterUnsat, 502 mSDtfsCounter, 2389 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont0 unkn0 SFLI0 SFLT0 conc0 concLT0 SILN0 SILU4 SILI0 SILT0 lasso11 LassoPreprocessingBenchmarks: Lassos: inital122 mio100 ax100 hnf100 lsp165 ukn44 mio100 lsp93 div100 bol100 ite100 ukn100 eq176 hnf94 smp93 dnf247 smp58 tf100 neg100 sie102 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: sat Degree: 0 Time: 103ms VariablesStem: 5 VariablesLoop: 9 DisjunctsStem: 2 DisjunctsLoop: 2 SupportingInvariants: 4 MotzkinApplications: 20 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.1s InitialAbstraction: Time to compute Ample Reduction [ms]: 188, Number of transitions in reduction automaton: 97, Number of states in reduction automaton: 77, Underlying: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 15 terminating modules (4 trivial, 7 deterministic, 4 nondeterministic). One deterministic module has affine ranking function N + -1 * cnt and consists of 5 locations. One deterministic module has affine ranking function N + -1 * cnt and consists of 5 locations. One deterministic module has affine ranking function N + -1 * cnt and consists of 5 locations. One deterministic module has affine ranking function num + N + -1 * cnt and consists of 8 locations. One deterministic module has affine ranking function -2 * cnt + 3 * N + num * 2 and consists of 15 locations. One deterministic module has affine ranking function -2 * cnt + 3 * N + 2 * num and consists of 15 locations. One deterministic module has affine ranking function N + -1 * cnt and consists of 12 locations. One nondeterministic module has affine ranking function -2 * cnt + 3 * N + 2 * num and consists of 21 locations. One nondeterministic module has affine ranking function num + N + -1 * cnt and consists of 10 locations. One nondeterministic module has affine ranking function x * -4 + 5 * N and consists of 14 locations. One nondeterministic module has affine ranking function N + -1 * cnt and consists of 5 locations. 4 modules have a trivial ranking function, the largest among these consists of 34 locations. - TerminationAnalysisResult: Termination proven Buchi Automizer proved that your program is terminating RESULT: Ultimate proved your program to be correct! [2025-04-26 18:40:06,451 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:06,651 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:06,852 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:07,053 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...