/root/.sdkman/candidates/java/21.0.5-tem/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/settings/gemcutter/Termination.epf -tc ../../../trunk/examples/toolchains/BuchiAutomizerBplInline.xml -i ../../../trunk/examples/concurrent/bpl/POPL2023/map-aggr-update2.bpl -------------------------------------------------------------------------------- This is Ultimate 0.3.0-wip.dk.ample-buchi-a4216cd-m [2025-04-26 16:53:45,935 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-04-26 16:53:45,988 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/settings/gemcutter/Termination.epf [2025-04-26 16:53:45,992 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-04-26 16:53:45,992 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-04-26 16:53:45,992 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.Check unreachability of error function in SV-COMP mode [2025-04-26 16:53:45,992 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.Translation Mode: [2025-04-26 16:53:46,007 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-04-26 16:53:46,008 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-04-26 16:53:46,008 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-04-26 16:53:46,008 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-04-26 16:53:46,008 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-04-26 16:53:46,008 INFO L153 SettingsManager]: * Use SBE=true [2025-04-26 16:53:46,008 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Use old map elimination=false [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Automaton type for concurrent programs=PARTIAL_ORDER_BA [2025-04-26 16:53:46,009 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * sizeof long=4 [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * sizeof long double=12 [2025-04-26 16:53:46,009 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * Use constant arrays=true [2025-04-26 16:53:46,010 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 [2025-04-26 16:53:46,010 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * Use conditional POR in concurrent analysis=false [2025-04-26 16:53:46,010 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-04-26 16:53:46,010 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR [2025-04-26 16:53:46,233 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-04-26 16:53:46,240 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-04-26 16:53:46,242 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-04-26 16:53:46,242 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2025-04-26 16:53:46,243 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2025-04-26 16:53:46,244 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/POPL2023/map-aggr-update2.bpl [2025-04-26 16:53:46,244 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/POPL2023/map-aggr-update2.bpl' [2025-04-26 16:53:46,264 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-04-26 16:53:46,265 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2025-04-26 16:53:46,265 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-04-26 16:53:46,265 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-04-26 16:53:46,265 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-04-26 16:53:46,277 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,297 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,304 INFO L138 Inliner]: procedures = 4, calls = 3, calls flagged for inlining = 0, calls inlined = 0, statements flattened = 0 [2025-04-26 16:53:46,305 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-04-26 16:53:46,306 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-04-26 16:53:46,306 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-04-26 16:53:46,306 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-04-26 16:53:46,317 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,317 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,321 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,322 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,323 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,324 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,326 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,327 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,327 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,345 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-04-26 16:53:46,346 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-04-26 16:53:46,346 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-04-26 16:53:46,346 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-04-26 16:53:46,347 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/1) ... [2025-04-26 16:53:46,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 [2025-04-26 16:53:46,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:46,396 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 16:53:46,398 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 16:53:46,418 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread1 given in one single declaration [2025-04-26 16:53:46,418 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-04-26 16:53:46,418 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-04-26 16:53:46,418 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread2 given in one single declaration [2025-04-26 16:53:46,418 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-04-26 16:53:46,418 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-04-26 16:53:46,418 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread3 given in one single declaration [2025-04-26 16:53:46,418 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-04-26 16:53:46,418 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-04-26 16:53:46,418 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2025-04-26 16:53:46,418 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-04-26 16:53:46,418 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-04-26 16:53:46,419 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 16:53:46,466 INFO L234 CfgBuilder]: Building ICFG [2025-04-26 16:53:46,468 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-04-26 16:53:46,558 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-04-26 16:53:46,558 INFO L283 CfgBuilder]: Performing block encoding [2025-04-26 16:53:46,592 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-04-26 16:53:46,592 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-04-26 16:53:46,593 INFO L201 PluginConnector]: Adding new model map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.04 04:53:46 BoogieIcfgContainer [2025-04-26 16:53:46,593 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-04-26 16:53:46,593 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-04-26 16:53:46,594 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-04-26 16:53:46,597 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-04-26 16:53:46,598 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-04-26 16:53:46,598 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 04:53:46" (1/2) ... [2025-04-26 16:53:46,599 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@703c0a40 and model type map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.04 04:53:46, skipping insertion in model container [2025-04-26 16:53:46,599 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-04-26 16:53:46,599 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.04 04:53:46" (2/2) ... [2025-04-26 16:53:46,600 INFO L376 chiAutomizerObserver]: Analyzing ICFG map-aggr-update2.bpl [2025-04-26 16:53:46,662 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-04-26 16:53:46,699 INFO L125 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-04-26 16:53:46,699 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2025-04-26 16:53:46,699 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:46,701 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 16:53:46,703 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 16:53:46,743 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 39 places, 35 transitions, 91 flow [2025-04-26 16:53:46,763 INFO L116 PetriNetUnfolderBase]: 3/29 cut-off events. [2025-04-26 16:53:46,765 INFO L117 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-04-26 16:53:46,770 INFO L83 FinitePrefix]: Finished finitePrefix Result has 42 conditions, 29 events. 3/29 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 58 event pairs, 0 based on Foata normal form. 0/25 useless extension candidates. Maximal degree in co-relation 25. Up to 2 conditions per place. [2025-04-26 16:53:46,770 INFO L82 GeneralOperation]: Start removeDead. Operand has 39 places, 35 transitions, 91 flow [2025-04-26 16:53:46,773 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 36 places, 29 transitions, 76 flow [2025-04-26 16:53:46,773 INFO L84 lAbstractionProvider]: Constructed initial Petri net abstraction that has has 36 places, 29 transitions, 76 flow [2025-04-26 16:53:46,779 INFO L135 AmpleReduction]: Starting ample reduction [2025-04-26 16:53:46,957 WARN L140 AmpleReduction]: Number of pruned transitions: 258 [2025-04-26 16:53:46,957 WARN L141 AmpleReduction]: Loop nodes with "changing loop node status": 0 [2025-04-26 16:53:46,957 WARN L142 AmpleReduction]: Number of trivial sets caused by loops: 48 [2025-04-26 16:53:46,957 WARN L143 AmpleReduction]: Number of not loop caused trivial ample sets:24 [2025-04-26 16:53:46,957 WARN L144 AmpleReduction]: Number of initially assigned non-trivial ample sets:143 [2025-04-26 16:53:46,957 WARN L145 AmpleReduction]: Times succ was already a loop node:18 [2025-04-26 16:53:46,957 WARN L146 AmpleReduction]: Times some other node on the cycle already had a trivial ample set:73 [2025-04-26 16:53:46,957 INFO L149 AmpleReduction]: Finished ample reduction [2025-04-26 16:53:46,960 INFO L136 dAbstractionProvider]: Constructed initial ample set-reduced NBA abstraction that has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:46,966 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-04-26 16:53:46,966 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-04-26 16:53:46,966 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-04-26 16:53:46,966 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-04-26 16:53:46,966 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-04-26 16:53:46,966 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-04-26 16:53:46,967 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-04-26 16:53:46,967 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-04-26 16:53:46,970 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:46,982 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 161 [2025-04-26 16:53:46,983 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:46,983 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:46,988 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2025-04-26 16:53:46,988 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:46,988 INFO L340 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-04-26 16:53:46,989 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:46,993 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 161 [2025-04-26 16:53:46,994 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:46,994 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:46,994 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2025-04-26 16:53:46,994 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:46,997 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" [2025-04-26 16:53:46,997 INFO L754 eck$LassoCheckResult]: Loop: "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" [2025-04-26 16:53:47,001 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:47,001 INFO L85 PathProgramCache]: Analyzing trace with hash 119101, now seen corresponding path program 1 times [2025-04-26 16:53:47,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:47,005 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [683553223] [2025-04-26 16:53:47,005 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:47,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:47,041 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,048 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,048 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,048 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,049 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:47,050 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,051 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,051 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,051 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,061 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:47,063 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:47,063 INFO L85 PathProgramCache]: Analyzing trace with hash 123198, now seen corresponding path program 1 times [2025-04-26 16:53:47,063 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:47,063 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434522992] [2025-04-26 16:53:47,063 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:47,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:47,070 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,075 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,075 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,075 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,076 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:47,077 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,079 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,079 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,079 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,081 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:47,082 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:47,082 INFO L85 PathProgramCache]: Analyzing trace with hash -746735998, now seen corresponding path program 1 times [2025-04-26 16:53:47,082 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:47,083 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [852385212] [2025-04-26 16:53:47,083 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:47,083 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:47,088 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-04-26 16:53:47,094 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-04-26 16:53:47,094 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,094 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,094 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:47,095 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-04-26 16:53:47,102 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-04-26 16:53:47,102 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,102 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,104 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:47,250 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 16:53:47,250 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 16:53:47,250 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 16:53:47,250 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 16:53:47,250 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 16:53:47,251 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:47,251 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 16:53:47,251 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 16:53:47,251 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration1_Lasso [2025-04-26 16:53:47,251 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 16:53:47,251 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 16:53:47,285 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:47,354 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:47,406 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 16:53:47,409 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 16:53:47,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:47,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:47,412 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 16:53:47,413 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 16:53:47,415 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:47,428 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:47,428 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 16:53:47,428 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:47,428 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:47,428 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:47,431 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 16:53:47,431 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 16:53:47,433 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:47,439 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 16:53:47,439 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:47,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:47,441 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 16:53:47,442 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 16:53:47,443 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 16:53:47,453 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:47,453 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:47,453 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:47,453 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:47,460 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:47,460 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:47,467 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 16:53:47,480 INFO L436 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2025-04-26 16:53:47,481 INFO L437 ModelExtractionUtils]: 5 out of 13 variables were initially zero. Simplification set additionally 5 variables to zero. [2025-04-26 16:53:47,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:47,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:47,484 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 16:53:47,486 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 16:53:47,487 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 16:53:47,504 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2025-04-26 16:53:47,505 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 16:53:47,505 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 16:53:47,506 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, thread1Thread1of1ForFork2_i) = 1*N - 1*thread1Thread1of1ForFork2_i Supporting invariants [] [2025-04-26 16:53:47,512 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 16:53:47,515 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-04-26 16:53:47,534 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:47,541 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,542 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,542 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,542 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:47,543 INFO L256 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 16:53:47,543 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:47,556 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,558 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,558 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,558 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:47,558 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 16:53:47,559 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:47,585 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 16:53:47,599 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-04-26 16:53:47,601 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Second operand has 3 states, 3 states have (on average 2.0) internal successors, (in total 6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:47,704 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0). Second operand has 3 states, 3 states have (on average 2.0) internal successors, (in total 6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 471 states and 818 transitions. Complement of second has 6 states. [2025-04-26 16:53:47,705 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 16:53:47,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.0) internal successors, (in total 6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:47,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 58 transitions. [2025-04-26 16:53:47,711 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 58 transitions. Stem has 3 letters. Loop has 3 letters. [2025-04-26 16:53:47,712 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:47,712 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 58 transitions. Stem has 6 letters. Loop has 3 letters. [2025-04-26 16:53:47,712 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:47,712 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 58 transitions. Stem has 3 letters. Loop has 6 letters. [2025-04-26 16:53:47,712 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:47,712 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 471 states and 818 transitions. [2025-04-26 16:53:47,718 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 16:53:47,722 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 471 states to 236 states and 396 transitions. [2025-04-26 16:53:47,723 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 74 [2025-04-26 16:53:47,723 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 119 [2025-04-26 16:53:47,724 INFO L74 IsDeterministic]: Start isDeterministic. Operand 236 states and 396 transitions. [2025-04-26 16:53:47,724 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:47,724 INFO L218 hiAutomatonCegarLoop]: Abstraction has 236 states and 396 transitions. [2025-04-26 16:53:47,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states and 396 transitions. [2025-04-26 16:53:47,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 210. [2025-04-26 16:53:47,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 210 states have (on average 1.7) internal successors, (in total 357), 209 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:47,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 357 transitions. [2025-04-26 16:53:47,762 INFO L240 hiAutomatonCegarLoop]: Abstraction has 210 states and 357 transitions. [2025-04-26 16:53:47,762 INFO L438 stractBuchiCegarLoop]: Abstraction has 210 states and 357 transitions. [2025-04-26 16:53:47,762 INFO L340 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-04-26 16:53:47,762 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 210 states and 357 transitions. [2025-04-26 16:53:47,764 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 16:53:47,764 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:47,764 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:47,765 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:47,766 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:47,766 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 16:53:47,766 INFO L754 eck$LassoCheckResult]: Loop: "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 16:53:47,767 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:47,767 INFO L85 PathProgramCache]: Analyzing trace with hash -354690445, now seen corresponding path program 1 times [2025-04-26 16:53:47,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:47,768 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [250427835] [2025-04-26 16:53:47,768 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:47,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:47,774 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 16:53:47,778 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 16:53:47,778 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,778 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:47,825 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 16:53:47,825 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:53:47,825 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [250427835] [2025-04-26 16:53:47,826 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [250427835] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-26 16:53:47,826 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-26 16:53:47,827 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-04-26 16:53:47,827 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [398762831] [2025-04-26 16:53:47,828 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-26 16:53:47,829 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:53:47,830 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:47,830 INFO L85 PathProgramCache]: Analyzing trace with hash 130149, now seen corresponding path program 1 times [2025-04-26 16:53:47,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:47,830 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [539722086] [2025-04-26 16:53:47,830 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:47,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:47,834 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,836 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,836 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,836 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,836 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:47,840 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:47,842 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:47,843 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:47,843 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:47,848 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:47,971 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:53:47,972 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-26 16:53:47,972 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-04-26 16:53:47,973 INFO L87 Difference]: Start difference. First operand 210 states and 357 transitions. cyclomatic complexity: 176 Second operand has 4 states, 4 states have (on average 2.0) internal successors, (in total 8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:48,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:53:48,022 INFO L93 Difference]: Finished difference Result 210 states and 356 transitions. [2025-04-26 16:53:48,022 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 210 states and 356 transitions. [2025-04-26 16:53:48,024 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 16:53:48,028 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 210 states to 210 states and 356 transitions. [2025-04-26 16:53:48,028 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 93 [2025-04-26 16:53:48,028 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 93 [2025-04-26 16:53:48,028 INFO L74 IsDeterministic]: Start isDeterministic. Operand 210 states and 356 transitions. [2025-04-26 16:53:48,028 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:48,028 INFO L218 hiAutomatonCegarLoop]: Abstraction has 210 states and 356 transitions. [2025-04-26 16:53:48,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states and 356 transitions. [2025-04-26 16:53:48,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 210. [2025-04-26 16:53:48,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 210 states have (on average 1.6952380952380952) internal successors, (in total 356), 209 states have internal predecessors, (356), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:48,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 356 transitions. [2025-04-26 16:53:48,037 INFO L240 hiAutomatonCegarLoop]: Abstraction has 210 states and 356 transitions. [2025-04-26 16:53:48,039 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-26 16:53:48,039 INFO L438 stractBuchiCegarLoop]: Abstraction has 210 states and 356 transitions. [2025-04-26 16:53:48,039 INFO L340 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-04-26 16:53:48,040 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 210 states and 356 transitions. [2025-04-26 16:53:48,040 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 16:53:48,040 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:48,041 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:48,041 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:48,041 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:48,042 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 16:53:48,042 INFO L754 eck$LassoCheckResult]: Loop: "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 16:53:48,042 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:48,042 INFO L85 PathProgramCache]: Analyzing trace with hash 1204123726, now seen corresponding path program 1 times [2025-04-26 16:53:48,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:48,043 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1136509372] [2025-04-26 16:53:48,043 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:48,043 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:48,046 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-04-26 16:53:48,052 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-04-26 16:53:48,052 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:48,052 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:48,052 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:48,053 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-04-26 16:53:48,060 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-04-26 16:53:48,060 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:48,060 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:48,063 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:48,063 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:48,063 INFO L85 PathProgramCache]: Analyzing trace with hash 130149, now seen corresponding path program 2 times [2025-04-26 16:53:48,063 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:48,063 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1967165667] [2025-04-26 16:53:48,063 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:48,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:48,068 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:48,069 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:48,069 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 16:53:48,069 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:48,069 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:48,070 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:48,074 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:48,074 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:48,074 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:48,075 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:48,076 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:48,076 INFO L85 PathProgramCache]: Analyzing trace with hash 483165432, now seen corresponding path program 1 times [2025-04-26 16:53:48,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:48,076 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [922044979] [2025-04-26 16:53:48,076 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:48,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:48,079 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-04-26 16:53:48,084 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-04-26 16:53:48,084 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:48,084 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:48,084 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:48,085 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-04-26 16:53:48,094 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-04-26 16:53:48,094 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:48,094 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:48,096 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:48,274 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 16:53:48,274 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 16:53:48,274 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 16:53:48,274 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 16:53:48,274 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 16:53:48,274 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:48,274 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 16:53:48,274 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 16:53:48,274 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration3_Lasso [2025-04-26 16:53:48,275 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 16:53:48,275 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 16:53:48,276 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:48,280 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:48,282 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:48,413 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:48,416 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:48,659 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 16:53:48,659 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 16:53:48,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:48,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:48,662 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 16:53:48,663 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 16:53:48,664 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:48,674 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:48,674 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:48,674 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:48,674 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:48,675 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:48,676 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:48,678 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:48,684 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2025-04-26 16:53:48,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:48,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:48,686 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 16:53:48,687 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 16:53:48,688 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:48,698 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:48,698 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:48,698 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:48,698 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:48,701 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:48,701 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:48,705 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:48,711 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:48,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:48,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:48,713 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 16:53:48,714 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 16:53:48,716 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:48,726 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:48,726 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2025-04-26 16:53:48,726 INFO L204 nArgumentSynthesizer]: 3 loop disjuncts [2025-04-26 16:53:48,727 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:48,759 INFO L402 nArgumentSynthesizer]: We have 36 Motzkin's Theorem applications. [2025-04-26 16:53:48,760 INFO L403 nArgumentSynthesizer]: A total of 6 supporting invariants were added. [2025-04-26 16:53:48,803 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 16:53:48,860 INFO L436 ModelExtractionUtils]: Simplification made 16 calls to the SMT solver. [2025-04-26 16:53:48,860 INFO L437 ModelExtractionUtils]: 42 out of 57 variables were initially zero. Simplification set additionally 12 variables to zero. [2025-04-26 16:53:48,860 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:48,860 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:48,862 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 16:53:48,864 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 16:53:48,864 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 16:53:48,885 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:48,886 INFO L439 nArgumentSynthesizer]: Removed 6 redundant supporting invariants from a total of 6. [2025-04-26 16:53:48,886 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 16:53:48,886 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread2Thread1of1ForFork0_j, N) = -1*thread2Thread1of1ForFork0_j + 1*N Supporting invariants [] [2025-04-26 16:53:48,893 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 16:53:48,893 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-04-26 16:53:48,904 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:48,909 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-04-26 16:53:48,911 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-04-26 16:53:48,911 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:48,911 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:48,912 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 16:53:48,912 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:48,930 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:48,931 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:48,931 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:48,931 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:48,932 WARN L254 TraceCheckSpWp]: Trace formula consists of 7 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 16:53:48,932 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:48,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 16:53:48,945 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-04-26 16:53:48,945 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 210 states and 356 transitions. cyclomatic complexity: 175 Second operand has 3 states, 3 states have (on average 4.666666666666667) internal successors, (in total 14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:48,988 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 210 states and 356 transitions. cyclomatic complexity: 175. Second operand has 3 states, 3 states have (on average 4.666666666666667) internal successors, (in total 14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 441 states and 765 transitions. Complement of second has 6 states. [2025-04-26 16:53:48,988 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 16:53:48,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.666666666666667) internal successors, (in total 14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:48,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 59 transitions. [2025-04-26 16:53:48,989 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 59 transitions. Stem has 11 letters. Loop has 3 letters. [2025-04-26 16:53:48,989 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:48,989 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 59 transitions. Stem has 14 letters. Loop has 3 letters. [2025-04-26 16:53:48,989 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:48,989 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 59 transitions. Stem has 11 letters. Loop has 6 letters. [2025-04-26 16:53:48,990 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:48,990 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 441 states and 765 transitions. [2025-04-26 16:53:48,992 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 16:53:48,994 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 441 states to 243 states and 407 transitions. [2025-04-26 16:53:48,994 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 84 [2025-04-26 16:53:48,994 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 97 [2025-04-26 16:53:48,994 INFO L74 IsDeterministic]: Start isDeterministic. Operand 243 states and 407 transitions. [2025-04-26 16:53:48,994 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:48,994 INFO L218 hiAutomatonCegarLoop]: Abstraction has 243 states and 407 transitions. [2025-04-26 16:53:48,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 243 states and 407 transitions. [2025-04-26 16:53:48,999 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 243 to 230. [2025-04-26 16:53:48,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 230 states, 230 states have (on average 1.6956521739130435) internal successors, (in total 390), 229 states have internal predecessors, (390), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:49,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 390 transitions. [2025-04-26 16:53:49,000 INFO L240 hiAutomatonCegarLoop]: Abstraction has 230 states and 390 transitions. [2025-04-26 16:53:49,000 INFO L438 stractBuchiCegarLoop]: Abstraction has 230 states and 390 transitions. [2025-04-26 16:53:49,000 INFO L340 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-04-26 16:53:49,000 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 230 states and 390 transitions. [2025-04-26 16:53:49,001 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 16:53:49,001 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:49,001 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:49,001 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:49,001 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:49,002 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:49,002 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:49,002 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,002 INFO L85 PathProgramCache]: Analyzing trace with hash 2093196229, now seen corresponding path program 1 times [2025-04-26 16:53:49,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,002 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [71797607] [2025-04-26 16:53:49,002 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:49,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,005 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 15 statements into 1 equivalence classes. [2025-04-26 16:53:49,007 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 15 of 15 statements. [2025-04-26 16:53:49,008 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,008 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:49,062 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-04-26 16:53:49,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:53:49,062 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [71797607] [2025-04-26 16:53:49,062 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [71797607] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-26 16:53:49,062 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-26 16:53:49,062 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-04-26 16:53:49,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [30978052] [2025-04-26 16:53:49,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-26 16:53:49,062 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:53:49,063 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,063 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 1 times [2025-04-26 16:53:49,063 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,063 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1417794362] [2025-04-26 16:53:49,063 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:49,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,065 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:49,066 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:49,066 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,066 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,066 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:49,066 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:49,067 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:49,067 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,067 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,068 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:49,087 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:53:49,088 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-26 16:53:49,088 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-04-26 16:53:49,088 INFO L87 Difference]: Start difference. First operand 230 states and 390 transitions. cyclomatic complexity: 184 Second operand has 4 states, 4 states have (on average 3.75) internal successors, (in total 15), 3 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:49,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:53:49,114 INFO L93 Difference]: Finished difference Result 360 states and 596 transitions. [2025-04-26 16:53:49,114 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 360 states and 596 transitions. [2025-04-26 16:53:49,116 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 27 [2025-04-26 16:53:49,118 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 360 states to 360 states and 596 transitions. [2025-04-26 16:53:49,118 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 121 [2025-04-26 16:53:49,118 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 121 [2025-04-26 16:53:49,118 INFO L74 IsDeterministic]: Start isDeterministic. Operand 360 states and 596 transitions. [2025-04-26 16:53:49,118 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:49,118 INFO L218 hiAutomatonCegarLoop]: Abstraction has 360 states and 596 transitions. [2025-04-26 16:53:49,119 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 360 states and 596 transitions. [2025-04-26 16:53:49,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 360 to 255. [2025-04-26 16:53:49,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 255 states, 255 states have (on average 1.6901960784313725) internal successors, (in total 431), 254 states have internal predecessors, (431), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:49,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 431 transitions. [2025-04-26 16:53:49,126 INFO L240 hiAutomatonCegarLoop]: Abstraction has 255 states and 431 transitions. [2025-04-26 16:53:49,130 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-26 16:53:49,131 INFO L438 stractBuchiCegarLoop]: Abstraction has 255 states and 431 transitions. [2025-04-26 16:53:49,131 INFO L340 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-04-26 16:53:49,131 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 255 states and 431 transitions. [2025-04-26 16:53:49,132 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 16:53:49,132 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:49,132 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:49,133 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:49,133 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:49,133 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[120] thread1EXIT-->L37: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_4) InVars {thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} AuxVars[] AssignedVars[]" [2025-04-26 16:53:49,133 INFO L754 eck$LassoCheckResult]: Loop: "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" [2025-04-26 16:53:49,133 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,134 INFO L85 PathProgramCache]: Analyzing trace with hash 1919696563, now seen corresponding path program 1 times [2025-04-26 16:53:49,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,134 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [326514486] [2025-04-26 16:53:49,134 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:49,134 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,136 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 16:53:49,143 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 16:53:49,143 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,143 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,143 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:49,144 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 16:53:49,156 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 16:53:49,156 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,156 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,160 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:49,160 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,160 INFO L85 PathProgramCache]: Analyzing trace with hash 138057, now seen corresponding path program 2 times [2025-04-26 16:53:49,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,160 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [229174296] [2025-04-26 16:53:49,160 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:49,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,163 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:49,165 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:49,166 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 16:53:49,166 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,166 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:49,168 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:49,169 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:49,169 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,169 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,170 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:49,170 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,170 INFO L85 PathProgramCache]: Analyzing trace with hash -2104096937, now seen corresponding path program 1 times [2025-04-26 16:53:49,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,170 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1668160084] [2025-04-26 16:53:49,171 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:49,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,175 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 16:53:49,177 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 16:53:49,177 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,177 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:49,242 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 16:53:49,242 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:53:49,242 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1668160084] [2025-04-26 16:53:49,242 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1668160084] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-26 16:53:49,242 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-26 16:53:49,242 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-04-26 16:53:49,242 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [863799721] [2025-04-26 16:53:49,242 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-26 16:53:49,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:53:49,256 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-04-26 16:53:49,256 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2025-04-26 16:53:49,257 INFO L87 Difference]: Start difference. First operand 255 states and 431 transitions. cyclomatic complexity: 202 Second operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (in total 19), 7 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:49,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:53:49,362 INFO L93 Difference]: Finished difference Result 311 states and 499 transitions. [2025-04-26 16:53:49,362 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 311 states and 499 transitions. [2025-04-26 16:53:49,364 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 16:53:49,365 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 311 states to 272 states and 453 transitions. [2025-04-26 16:53:49,365 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 91 [2025-04-26 16:53:49,365 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 91 [2025-04-26 16:53:49,365 INFO L74 IsDeterministic]: Start isDeterministic. Operand 272 states and 453 transitions. [2025-04-26 16:53:49,365 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:49,366 INFO L218 hiAutomatonCegarLoop]: Abstraction has 272 states and 453 transitions. [2025-04-26 16:53:49,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states and 453 transitions. [2025-04-26 16:53:49,370 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 261. [2025-04-26 16:53:49,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 261 states, 261 states have (on average 1.6781609195402298) internal successors, (in total 438), 260 states have internal predecessors, (438), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:49,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 261 states to 261 states and 438 transitions. [2025-04-26 16:53:49,371 INFO L240 hiAutomatonCegarLoop]: Abstraction has 261 states and 438 transitions. [2025-04-26 16:53:49,371 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-04-26 16:53:49,372 INFO L438 stractBuchiCegarLoop]: Abstraction has 261 states and 438 transitions. [2025-04-26 16:53:49,372 INFO L340 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-04-26 16:53:49,372 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 261 states and 438 transitions. [2025-04-26 16:53:49,373 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 16:53:49,373 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:49,373 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:49,373 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:49,373 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:49,373 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[120] thread1EXIT-->L37: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_4) InVars {thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} AuxVars[] AssignedVars[]" [2025-04-26 16:53:49,373 INFO L754 eck$LassoCheckResult]: Loop: "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" [2025-04-26 16:53:49,374 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,374 INFO L85 PathProgramCache]: Analyzing trace with hash 1313649620, now seen corresponding path program 2 times [2025-04-26 16:53:49,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,374 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [316870944] [2025-04-26 16:53:49,374 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:49,374 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,377 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 19 statements into 2 equivalence classes. [2025-04-26 16:53:49,381 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 16:53:49,381 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 16:53:49,381 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,381 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:49,382 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 16:53:49,386 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 16:53:49,386 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,386 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,387 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:49,387 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,387 INFO L85 PathProgramCache]: Analyzing trace with hash 138057, now seen corresponding path program 3 times [2025-04-26 16:53:49,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,388 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1008910017] [2025-04-26 16:53:49,388 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 16:53:49,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,389 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:49,390 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:49,390 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-26 16:53:49,390 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,390 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:49,391 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:49,391 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:49,391 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,391 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,392 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:49,392 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:49,392 INFO L85 PathProgramCache]: Analyzing trace with hash -806063466, now seen corresponding path program 2 times [2025-04-26 16:53:49,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:49,392 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [314933942] [2025-04-26 16:53:49,392 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:49,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:49,395 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 22 statements into 2 equivalence classes. [2025-04-26 16:53:49,400 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 16:53:49,400 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 16:53:49,400 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,400 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:49,401 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 16:53:49,405 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 16:53:49,405 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:49,405 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:49,406 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:49,618 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 16:53:49,618 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 16:53:49,618 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 16:53:49,618 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 16:53:49,618 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 16:53:49,618 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:49,618 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 16:53:49,618 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 16:53:49,618 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration6_Lasso [2025-04-26 16:53:49,618 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 16:53:49,618 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 16:53:49,621 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,697 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,699 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,713 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,715 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,717 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,719 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,721 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,724 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,726 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,727 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,730 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:49,950 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 16:53:49,950 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 16:53:49,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:49,950 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:49,953 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 16:53:49,954 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 16:53:49,954 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:49,964 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:49,965 INFO L203 nArgumentSynthesizer]: 4 stem disjuncts [2025-04-26 16:53:49,965 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:49,965 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:49,968 INFO L402 nArgumentSynthesizer]: We have 12 Motzkin's Theorem applications. [2025-04-26 16:53:49,968 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:49,985 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:49,991 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 16:53:49,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:49,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:49,993 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 16:53:49,994 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 16:53:49,996 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:50,007 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:50,007 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:50,007 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:50,007 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:50,008 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:50,008 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:50,011 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:50,017 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 16:53:50,017 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:50,017 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:50,019 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 16:53:50,020 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 16:53:50,022 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 16:53:50,032 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:50,032 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 16:53:50,032 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:50,032 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:50,032 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:50,033 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 16:53:50,033 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 16:53:50,035 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:50,042 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 16:53:50,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:50,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:50,044 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 16:53:50,046 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 16:53:50,047 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 16:53:50,057 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:50,057 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:50,057 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:50,057 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:50,059 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:50,060 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:50,063 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 16:53:50,075 INFO L436 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2025-04-26 16:53:50,075 INFO L437 ModelExtractionUtils]: 0 out of 10 variables were initially zero. Simplification set additionally 7 variables to zero. [2025-04-26 16:53:50,075 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:50,075 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:50,077 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 16:53:50,079 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 16:53:50,080 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 16:53:50,097 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 16:53:50,097 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 16:53:50,097 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 16:53:50,097 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, thread3Thread1of1ForFork1_k) = 1*N - 1*thread3Thread1of1ForFork1_k Supporting invariants [] [2025-04-26 16:53:50,103 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:50,105 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 16:53:50,114 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:50,121 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 16:53:50,125 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 16:53:50,126 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,126 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:50,126 INFO L256 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 16:53:50,126 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:50,152 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:50,153 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:50,154 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,154 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:50,154 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 16:53:50,154 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:50,166 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 16:53:50,167 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-04-26 16:53:50,167 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 261 states and 438 transitions. cyclomatic complexity: 203 Second operand has 4 states, 4 states have (on average 4.75) internal successors, (in total 19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:50,192 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 261 states and 438 transitions. cyclomatic complexity: 203. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (in total 19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 288 states and 474 transitions. Complement of second has 6 states. [2025-04-26 16:53:50,192 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 16:53:50,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (in total 19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:50,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2025-04-26 16:53:50,193 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 34 transitions. Stem has 19 letters. Loop has 3 letters. [2025-04-26 16:53:50,193 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:50,193 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 34 transitions. Stem has 22 letters. Loop has 3 letters. [2025-04-26 16:53:50,193 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:50,193 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 34 transitions. Stem has 19 letters. Loop has 6 letters. [2025-04-26 16:53:50,193 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:50,193 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 288 states and 474 transitions. [2025-04-26 16:53:50,195 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:50,196 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 288 states to 190 states and 299 transitions. [2025-04-26 16:53:50,196 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2025-04-26 16:53:50,196 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2025-04-26 16:53:50,196 INFO L74 IsDeterministic]: Start isDeterministic. Operand 190 states and 299 transitions. [2025-04-26 16:53:50,196 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:50,196 INFO L218 hiAutomatonCegarLoop]: Abstraction has 190 states and 299 transitions. [2025-04-26 16:53:50,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 190 states and 299 transitions. [2025-04-26 16:53:50,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 190 to 179. [2025-04-26 16:53:50,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 179 states, 179 states have (on average 1.6089385474860336) internal successors, (in total 288), 178 states have internal predecessors, (288), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:50,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 288 transitions. [2025-04-26 16:53:50,200 INFO L240 hiAutomatonCegarLoop]: Abstraction has 179 states and 288 transitions. [2025-04-26 16:53:50,200 INFO L438 stractBuchiCegarLoop]: Abstraction has 179 states and 288 transitions. [2025-04-26 16:53:50,200 INFO L340 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-04-26 16:53:50,200 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 179 states and 288 transitions. [2025-04-26 16:53:50,201 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:50,201 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:50,201 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:50,202 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:50,202 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:50,202 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" [2025-04-26 16:53:50,202 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:50,202 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:50,202 INFO L85 PathProgramCache]: Analyzing trace with hash 18408815, now seen corresponding path program 1 times [2025-04-26 16:53:50,203 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:50,203 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [83866145] [2025-04-26 16:53:50,203 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:50,203 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:50,207 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 16:53:50,210 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 16:53:50,210 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,210 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:50,285 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 16:53:50,286 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:53:50,286 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [83866145] [2025-04-26 16:53:50,286 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [83866145] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 16:53:50,286 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [444387223] [2025-04-26 16:53:50,286 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:50,286 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 16:53:50,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:50,288 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 16:53:50,290 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2025-04-26 16:53:50,310 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 16:53:50,314 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 16:53:50,314 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,314 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:50,315 INFO L256 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 16:53:50,315 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:50,368 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 16:53:50,369 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 16:53:50,411 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 16:53:50,411 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [444387223] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 16:53:50,411 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 16:53:50,411 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 9 [2025-04-26 16:53:50,412 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [118795065] [2025-04-26 16:53:50,412 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 16:53:50,413 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:53:50,413 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:50,413 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 4 times [2025-04-26 16:53:50,414 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:50,414 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2013481897] [2025-04-26 16:53:50,414 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 16:53:50,414 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:50,416 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-04-26 16:53:50,417 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:50,417 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 16:53:50,417 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,417 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:50,417 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:50,418 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:50,418 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,418 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,419 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:50,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:53:50,432 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2025-04-26 16:53:50,433 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2025-04-26 16:53:50,433 INFO L87 Difference]: Start difference. First operand 179 states and 288 transitions. cyclomatic complexity: 126 Second operand has 10 states, 9 states have (on average 4.222222222222222) internal successors, (in total 38), 10 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:50,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:53:50,513 INFO L93 Difference]: Finished difference Result 340 states and 544 transitions. [2025-04-26 16:53:50,513 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 340 states and 544 transitions. [2025-04-26 16:53:50,515 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:50,516 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 340 states to 318 states and 508 transitions. [2025-04-26 16:53:50,516 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 83 [2025-04-26 16:53:50,516 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 83 [2025-04-26 16:53:50,516 INFO L74 IsDeterministic]: Start isDeterministic. Operand 318 states and 508 transitions. [2025-04-26 16:53:50,516 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:50,517 INFO L218 hiAutomatonCegarLoop]: Abstraction has 318 states and 508 transitions. [2025-04-26 16:53:50,517 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 318 states and 508 transitions. [2025-04-26 16:53:50,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 318 to 245. [2025-04-26 16:53:50,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 245 states have (on average 1.6040816326530611) internal successors, (in total 393), 244 states have internal predecessors, (393), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:50,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 393 transitions. [2025-04-26 16:53:50,521 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 393 transitions. [2025-04-26 16:53:50,522 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-04-26 16:53:50,522 INFO L438 stractBuchiCegarLoop]: Abstraction has 245 states and 393 transitions. [2025-04-26 16:53:50,522 INFO L340 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-04-26 16:53:50,522 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 393 transitions. [2025-04-26 16:53:50,523 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:50,523 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:50,523 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:50,524 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 16:53:50,524 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:50,524 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" [2025-04-26 16:53:50,524 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:50,524 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:50,524 INFO L85 PathProgramCache]: Analyzing trace with hash -1338674125, now seen corresponding path program 2 times [2025-04-26 16:53:50,525 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:50,525 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [691682026] [2025-04-26 16:53:50,525 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:50,525 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:50,530 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 22 statements into 2 equivalence classes. [2025-04-26 16:53:50,550 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 16:53:50,550 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 16:53:50,550 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,550 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:50,552 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 16:53:50,565 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 16:53:50,565 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,565 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,571 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:50,571 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:50,572 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 5 times [2025-04-26 16:53:50,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:50,572 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1380835133] [2025-04-26 16:53:50,572 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 16:53:50,572 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:50,576 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:50,576 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:50,577 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 16:53:50,577 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,577 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:50,577 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:50,578 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:50,578 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,578 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,579 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:50,579 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:50,579 INFO L85 PathProgramCache]: Analyzing trace with hash -1669408199, now seen corresponding path program 1 times [2025-04-26 16:53:50,579 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:50,579 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585705077] [2025-04-26 16:53:50,579 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:50,579 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:50,582 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 16:53:50,588 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 16:53:50,588 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,588 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,588 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:50,590 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 16:53:50,596 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 16:53:50,596 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:50,596 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:50,598 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:51,112 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 16:53:51,112 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 16:53:51,112 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 16:53:51,112 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 16:53:51,112 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 16:53:51,112 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:51,112 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 16:53:51,112 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 16:53:51,112 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration8_Lasso [2025-04-26 16:53:51,112 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 16:53:51,112 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 16:53:51,115 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,117 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,119 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,121 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,123 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,125 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,127 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,129 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,130 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,430 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:51,595 WARN L137 XnfTransformerHelper]: expecting exponential blowup for input size 10 [2025-04-26 16:53:53,223 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 16:53:53,224 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 16:53:53,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,226 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 16:53:53,227 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 16:53:53,227 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:53,236 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,237 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,237 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,237 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,238 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,238 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,240 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,245 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 16:53:53,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,248 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 16:53:53,249 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 16:53:53,250 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:53,260 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,260 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,260 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,260 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,261 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,261 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,266 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,271 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:53,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,273 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 16:53:53,275 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 16:53:53,276 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 16:53:53,286 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,286 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,286 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,286 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,287 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,287 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,289 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,297 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:53,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,299 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 16:53:53,300 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 16:53:53,301 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 16:53:53,310 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,310 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,311 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,311 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,312 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,312 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,314 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,319 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Ended with exit code 0 [2025-04-26 16:53:53,319 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,320 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,322 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 16:53:53,323 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 16:53:53,344 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:53,354 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,355 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,355 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,355 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,356 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,356 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,358 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,363 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:53,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,366 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 16:53:53,367 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 16:53:53,368 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 16:53:53,378 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,378 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,378 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,378 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,380 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,380 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,383 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,388 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 16:53:53,389 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,389 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,390 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 16:53:53,391 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 16:53:53,392 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:53,402 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,402 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,402 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,402 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,403 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,403 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,405 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,411 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Ended with exit code 0 [2025-04-26 16:53:53,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,412 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,413 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 16:53:53,415 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 16:53:53,416 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:53,426 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,426 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,426 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,426 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,427 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,427 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,430 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:53,436 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:53,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,438 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 16:53:53,440 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 16:53: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 16:53:53,455 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:53,455 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:53,455 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:53,455 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:53,459 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:53,459 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:53,463 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 16:53:53,471 INFO L436 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2025-04-26 16:53:53,471 INFO L437 ModelExtractionUtils]: 0 out of 10 variables were initially zero. Simplification set additionally 7 variables to zero. [2025-04-26 16:53:53,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:53,472 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:53,474 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 16:53:53,474 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 16:53:53,475 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 16:53:53,493 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 16:53:53,493 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 16:53:53,493 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 16:53:53,493 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread3Thread1of1ForFork1_k, N) = -1*thread3Thread1of1ForFork1_k + 1*N Supporting invariants [] [2025-04-26 16:53:53,498 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2025-04-26 16:53:53,500 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 16:53:53,508 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:53,525 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 16:53:53,529 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 16:53:53,529 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:53,529 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:53,531 INFO L256 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 16:53:53,531 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:53,554 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:53,555 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:53,555 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:53,555 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:53,555 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 16:53:53,555 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:53,568 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 16:53:53,568 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-04-26 16:53:53,568 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 245 states and 393 transitions. cyclomatic complexity: 171 Second operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (in total 19), 3 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:53,608 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 245 states and 393 transitions. cyclomatic complexity: 171. Second operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (in total 19), 3 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 402 states and 650 transitions. Complement of second has 7 states. [2025-04-26 16:53:53,609 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 16:53:53,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (in total 19), 3 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:53,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2025-04-26 16:53:53,610 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 46 transitions. Stem has 22 letters. Loop has 3 letters. [2025-04-26 16:53:53,610 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:53,610 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 46 transitions. Stem has 25 letters. Loop has 3 letters. [2025-04-26 16:53:53,610 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:53,610 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 46 transitions. Stem has 22 letters. Loop has 6 letters. [2025-04-26 16:53:53,610 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:53,610 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 402 states and 650 transitions. [2025-04-26 16:53:53,615 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:53,616 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 402 states to 120 states and 172 transitions. [2025-04-26 16:53:53,616 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 41 [2025-04-26 16:53:53,616 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2025-04-26 16:53:53,616 INFO L74 IsDeterministic]: Start isDeterministic. Operand 120 states and 172 transitions. [2025-04-26 16:53:53,616 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:53,616 INFO L218 hiAutomatonCegarLoop]: Abstraction has 120 states and 172 transitions. [2025-04-26 16:53:53,617 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states and 172 transitions. [2025-04-26 16:53:53,618 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 115. [2025-04-26 16:53:53,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 115 states have (on average 1.4521739130434783) internal successors, (in total 167), 114 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:53,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 167 transitions. [2025-04-26 16:53:53,619 INFO L240 hiAutomatonCegarLoop]: Abstraction has 115 states and 167 transitions. [2025-04-26 16:53:53,619 INFO L438 stractBuchiCegarLoop]: Abstraction has 115 states and 167 transitions. [2025-04-26 16:53:53,619 INFO L340 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-04-26 16:53:53,619 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 115 states and 167 transitions. [2025-04-26 16:53:53,620 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:53,620 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:53,620 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:53,620 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:53,620 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:53,621 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:53,621 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:53,622 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:53,622 INFO L85 PathProgramCache]: Analyzing trace with hash -1706416498, now seen corresponding path program 1 times [2025-04-26 16:53:53,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:53,622 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [271593611] [2025-04-26 16:53:53,622 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:53,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:53,627 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 16:53:53,644 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 16:53:53,644 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:53,644 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:53,644 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:53,646 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 16:53:53,650 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 16:53:53,651 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:53,651 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:53,658 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:53,659 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:53,659 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 6 times [2025-04-26 16:53:53,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:53,659 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [954092521] [2025-04-26 16:53:53,659 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 16:53:53,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:53,661 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:53,662 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:53,662 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-04-26 16:53:53,663 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:53,663 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:53,663 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:53,664 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:53,664 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:53,664 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:53,665 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:53,665 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:53,665 INFO L85 PathProgramCache]: Analyzing trace with hash -620870146, now seen corresponding path program 1 times [2025-04-26 16:53:53,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:53,665 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1826501943] [2025-04-26 16:53:53,666 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 16:53:53,666 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:53,669 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-04-26 16:53:53,680 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 16:53:53,680 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:53,680 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:53,680 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:53,682 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-04-26 16:53:53,694 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 16:53:53,694 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:53,694 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:53,698 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:54,180 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 16:53:54,180 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 16:53:54,180 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 16:53:54,180 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 16:53:54,180 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 16:53:54,180 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:54,180 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 16:53:54,180 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 16:53:54,180 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration9_Lasso [2025-04-26 16:53:54,180 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 16:53:54,180 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 16:53:54,183 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,186 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,187 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,189 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,191 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,193 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,461 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,464 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,466 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,467 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:54,604 WARN L137 XnfTransformerHelper]: expecting exponential blowup for input size 10 [2025-04-26 16:53:56,033 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 16:53:56,034 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 16:53:56,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,036 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 16:53:56,038 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 16:53:56,038 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:56,048 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:56,049 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:56,049 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:56,049 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:56,050 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:56,050 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:56,052 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:56,057 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 16:53:56,057 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,060 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 16:53:56,061 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 16:53:56,062 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:56,071 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:56,072 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:56,072 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:56,072 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:56,073 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:56,073 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:56,075 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:56,081 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:56,081 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,081 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,083 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 16:53:56,084 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 16:53:56,085 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:56,095 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:56,096 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:56,096 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:56,096 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:56,097 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:56,097 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:56,100 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:56,106 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 16:53:56,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,109 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 16:53:56,109 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 16:53:56,110 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:56,121 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:56,121 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:56,121 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:56,121 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:56,122 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:56,122 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:56,124 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:56,132 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Forceful destruction successful, exit code 0 [2025-04-26 16:53:56,132 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,132 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,133 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 16:53:56,134 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 16:53:56,135 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:56,150 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:56,151 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:56,151 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:56,151 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:56,152 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:56,152 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:56,154 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:56,160 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 16:53:56,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,162 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 16:53:56,162 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 16:53:56,163 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:56,173 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:56,173 INFO L203 nArgumentSynthesizer]: 11 stem disjuncts [2025-04-26 16:53:56,173 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:56,173 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:56,185 INFO L402 nArgumentSynthesizer]: We have 26 Motzkin's Theorem applications. [2025-04-26 16:53:56,185 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:56,199 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:53:56,205 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Ended with exit code 0 [2025-04-26 16:53:56,205 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,207 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 16:53:56,208 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 16:53:56,209 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:53:56,221 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:53:56,221 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:53:56,221 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:53:56,221 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:53:56,223 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:53:56,223 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:53:56,227 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 16:53:56,234 INFO L436 ModelExtractionUtils]: Simplification made 6 calls to the SMT solver. [2025-04-26 16:53:56,234 INFO L437 ModelExtractionUtils]: 2 out of 10 variables were initially zero. Simplification set additionally 3 variables to zero. [2025-04-26 16:53:56,234 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:56,234 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,235 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 16:53:56,237 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 16:53:56,238 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 16:53:56,254 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 16:53:56,254 INFO L439 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2025-04-26 16:53:56,254 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 16:53:56,254 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread3Thread1of1ForFork1_k) = -2*thread3Thread1of1ForFork1_k + 3 Supporting invariants [-1*N + 2 >= 0] [2025-04-26 16:53:56,260 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 16:53:56,268 INFO L156 tatePredicateManager]: 1 out of 2 supporting invariants were superfluous and have been removed [2025-04-26 16:53:56,320 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:56,336 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 16:53:56,342 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 16:53:56,342 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:56,342 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:56,343 INFO L256 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 16:53:56,343 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:56,493 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:56,494 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:56,494 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:56,494 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:56,495 WARN L254 TraceCheckSpWp]: Trace formula consists of 9 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 16:53:56,495 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:56,507 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 16:53:56,508 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.5 stem predicates 2 loop predicates [2025-04-26 16:53:56,508 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 115 states and 167 transitions. cyclomatic complexity: 68 Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (in total 24), 7 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:56,598 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 115 states and 167 transitions. cyclomatic complexity: 68. Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (in total 24), 7 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 164 states and 228 transitions. Complement of second has 10 states. [2025-04-26 16:53:56,599 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 8 states 5 stem states 1 non-accepting loop states 2 accepting loop states [2025-04-26 16:53:56,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (in total 24), 7 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:56,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2025-04-26 16:53:56,599 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 52 transitions. Stem has 24 letters. Loop has 3 letters. [2025-04-26 16:53:56,599 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:56,599 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 52 transitions. Stem has 27 letters. Loop has 3 letters. [2025-04-26 16:53:56,600 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:56,600 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 52 transitions. Stem has 24 letters. Loop has 6 letters. [2025-04-26 16:53:56,600 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:53:56,600 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 164 states and 228 transitions. [2025-04-26 16:53:56,601 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:56,601 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 164 states to 140 states and 198 transitions. [2025-04-26 16:53:56,601 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2025-04-26 16:53:56,601 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 41 [2025-04-26 16:53:56,602 INFO L74 IsDeterministic]: Start isDeterministic. Operand 140 states and 198 transitions. [2025-04-26 16:53:56,602 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:56,602 INFO L218 hiAutomatonCegarLoop]: Abstraction has 140 states and 198 transitions. [2025-04-26 16:53:56,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states and 198 transitions. [2025-04-26 16:53:56,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 125. [2025-04-26 16:53:56,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 125 states have (on average 1.44) internal successors, (in total 180), 124 states have internal predecessors, (180), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:56,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 180 transitions. [2025-04-26 16:53:56,604 INFO L240 hiAutomatonCegarLoop]: Abstraction has 125 states and 180 transitions. [2025-04-26 16:53:56,604 INFO L438 stractBuchiCegarLoop]: Abstraction has 125 states and 180 transitions. [2025-04-26 16:53:56,604 INFO L340 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-04-26 16:53:56,604 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 125 states and 180 transitions. [2025-04-26 16:53:56,604 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:56,604 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:56,604 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:56,605 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:56,605 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:56,605 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:56,605 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:56,605 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:56,605 INFO L85 PathProgramCache]: Analyzing trace with hash -202043035, now seen corresponding path program 2 times [2025-04-26 16:53:56,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:56,606 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1605102527] [2025-04-26 16:53:56,606 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:56,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:56,608 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 27 statements into 2 equivalence classes. [2025-04-26 16:53:56,611 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 16:53:56,611 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 16:53:56,611 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:56,676 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:53:56,676 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:53:56,676 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1605102527] [2025-04-26 16:53:56,677 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1605102527] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 16:53:56,677 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1291509427] [2025-04-26 16:53:56,677 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:56,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 16:53:56,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:56,679 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 16:53:56,679 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2025-04-26 16:53:56,699 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 27 statements into 2 equivalence classes. [2025-04-26 16:53:56,704 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 16:53:56,704 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 16:53:56,704 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:56,705 INFO L256 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-04-26 16:53:56,705 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:56,758 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:53:56,759 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 16:53:56,801 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:53:56,802 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1291509427] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 16:53:56,802 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 16:53:56,802 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 12 [2025-04-26 16:53:56,802 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1212335295] [2025-04-26 16:53:56,802 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 16:53:56,802 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:53:56,802 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:56,802 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 7 times [2025-04-26 16:53:56,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:56,802 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1568901741] [2025-04-26 16:53:56,803 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 16:53:56,803 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:56,804 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:56,805 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:56,805 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:56,805 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:56,805 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:56,805 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:56,806 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:56,806 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:56,806 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:56,806 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:56,818 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:53:56,819 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-04-26 16:53:56,819 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2025-04-26 16:53:56,819 INFO L87 Difference]: Start difference. First operand 125 states and 180 transitions. cyclomatic complexity: 71 Second operand has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (in total 35), 12 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:56,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:53:56,954 INFO L93 Difference]: Finished difference Result 186 states and 263 transitions. [2025-04-26 16:53:56,954 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 186 states and 263 transitions. [2025-04-26 16:53:56,955 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:56,956 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 186 states to 182 states and 258 transitions. [2025-04-26 16:53:56,956 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2025-04-26 16:53:56,956 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2025-04-26 16:53:56,956 INFO L74 IsDeterministic]: Start isDeterministic. Operand 182 states and 258 transitions. [2025-04-26 16:53:56,956 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:56,956 INFO L218 hiAutomatonCegarLoop]: Abstraction has 182 states and 258 transitions. [2025-04-26 16:53:56,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states and 258 transitions. [2025-04-26 16:53:56,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 144. [2025-04-26 16:53:56,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 144 states have (on average 1.4305555555555556) internal successors, (in total 206), 143 states have internal predecessors, (206), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:56,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 206 transitions. [2025-04-26 16:53:56,961 INFO L240 hiAutomatonCegarLoop]: Abstraction has 144 states and 206 transitions. [2025-04-26 16:53:56,961 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2025-04-26 16:53:56,961 INFO L438 stractBuchiCegarLoop]: Abstraction has 144 states and 206 transitions. [2025-04-26 16:53:56,961 INFO L340 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-04-26 16:53:56,961 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 144 states and 206 transitions. [2025-04-26 16:53:56,962 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 16:53:56,962 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:56,962 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:56,962 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:56,962 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:56,963 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:56,963 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:56,963 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:56,963 INFO L85 PathProgramCache]: Analyzing trace with hash -1145812407, now seen corresponding path program 3 times [2025-04-26 16:53:56,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:56,963 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1016454042] [2025-04-26 16:53:56,963 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 16:53:56,963 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:56,967 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 27 statements into 2 equivalence classes. [2025-04-26 16:53:56,974 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 16:53:56,974 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-04-26 16:53:56,974 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:57,073 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:53:57,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:53:57,073 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1016454042] [2025-04-26 16:53:57,073 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1016454042] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 16:53:57,073 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1737781475] [2025-04-26 16:53:57,073 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 16:53:57,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 16:53:57,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:53:57,075 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 16:53:57,075 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2025-04-26 16:53:57,100 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 27 statements into 2 equivalence classes. [2025-04-26 16:53:57,107 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 16:53:57,107 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-04-26 16:53:57,107 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:53:57,107 INFO L256 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-04-26 16:53:57,108 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:53:57,178 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:53:57,178 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 16:53:57,238 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:53:57,238 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1737781475] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 16:53:57,238 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 16:53:57,238 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 17 [2025-04-26 16:53:57,238 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [679014310] [2025-04-26 16:53:57,238 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 16:53:57,239 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:53:57,239 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:57,239 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 8 times [2025-04-26 16:53:57,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:57,239 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1988681130] [2025-04-26 16:53:57,239 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:57,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:57,242 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:57,243 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:57,243 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 16:53:57,243 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,243 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:57,243 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:57,244 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:57,244 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:57,244 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,245 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:57,276 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:53:57,276 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2025-04-26 16:53:57,276 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=202, Unknown=0, NotChecked=0, Total=272 [2025-04-26 16:53:57,276 INFO L87 Difference]: Start difference. First operand 144 states and 206 transitions. cyclomatic complexity: 81 Second operand has 17 states, 17 states have (on average 3.1176470588235294) internal successors, (in total 53), 17 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:57,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:53:57,626 INFO L93 Difference]: Finished difference Result 250 states and 318 transitions. [2025-04-26 16:53:57,626 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 250 states and 318 transitions. [2025-04-26 16:53:57,627 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:53:57,628 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 250 states to 236 states and 302 transitions. [2025-04-26 16:53:57,628 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2025-04-26 16:53:57,628 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2025-04-26 16:53:57,628 INFO L74 IsDeterministic]: Start isDeterministic. Operand 236 states and 302 transitions. [2025-04-26 16:53:57,628 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:53:57,628 INFO L218 hiAutomatonCegarLoop]: Abstraction has 236 states and 302 transitions. [2025-04-26 16:53:57,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states and 302 transitions. [2025-04-26 16:53:57,630 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 70. [2025-04-26 16:53:57,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 70 states have (on average 1.2714285714285714) internal successors, (in total 89), 69 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:53:57,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 89 transitions. [2025-04-26 16:53:57,630 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70 states and 89 transitions. [2025-04-26 16:53:57,630 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2025-04-26 16:53:57,631 INFO L438 stractBuchiCegarLoop]: Abstraction has 70 states and 89 transitions. [2025-04-26 16:53:57,631 INFO L340 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-04-26 16:53:57,631 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70 states and 89 transitions. [2025-04-26 16:53:57,631 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:53:57,631 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:53:57,631 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:53:57,632 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:53:57,632 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:53:57,632 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:57,632 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:53:57,632 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:57,632 INFO L85 PathProgramCache]: Analyzing trace with hash -909870641, now seen corresponding path program 4 times [2025-04-26 16:53:57,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:57,632 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [699912383] [2025-04-26 16:53:57,633 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 16:53:57,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:57,635 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 30 statements into 2 equivalence classes. [2025-04-26 16:53:57,657 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 16:53:57,657 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 16:53:57,657 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,657 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:57,658 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-04-26 16:53:57,663 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 16:53:57,663 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:57,663 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,665 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:57,665 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:57,665 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 9 times [2025-04-26 16:53:57,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:57,665 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1980296972] [2025-04-26 16:53:57,665 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 16:53:57,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:57,667 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:57,667 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:57,667 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-26 16:53:57,667 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,667 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:57,668 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:53:57,668 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:53:57,668 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:57,668 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,669 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:57,669 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:53:57,669 INFO L85 PathProgramCache]: Analyzing trace with hash -417554659, now seen corresponding path program 2 times [2025-04-26 16:53:57,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:53:57,669 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [788155577] [2025-04-26 16:53:57,669 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:53:57,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:53:57,671 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-04-26 16:53:57,677 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:53:57,677 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 16:53:57,678 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,678 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:53:57,679 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-04-26 16:53:57,686 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:53:57,686 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:53:57,686 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:53:57,692 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:53:58,725 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 16:53:58,725 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 16:53:58,725 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 16:53:58,725 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 16:53:58,725 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 16:53:58,725 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:53:58,725 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 16:53:58,725 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 16:53:58,725 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration12_Lasso [2025-04-26 16:53:58,725 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 16:53:58,725 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 16:53:58,753 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:53:58,756 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,804 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,806 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,807 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,809 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,811 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,813 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,814 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:02,817 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 16:54:03,065 WARN L137 XnfTransformerHelper]: expecting exponential blowup for input size 15 [2025-04-26 16:54:03,290 WARN L176 XnfTransformerHelper]: Simplifying disjunction of 30144 conjunctions. This might take some time... [2025-04-26 16:54:07,590 INFO L192 XnfTransformerHelper]: Simplified to disjunction of 1600 conjunctions. [2025-04-26 16:54:53,397 WARN L286 SmtUtils]: Spent 45.78s on a formula simplification. DAG size of input: 1656 DAG size of output: 78 (called from [L 67] de.uni_freiburg.informatik.ultimate.icfgtransformer.transformulatransformers.SimplifyPreprocessor.process) [2025-04-26 16:54:53,425 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 16:54:53,426 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 16:54:53,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:54:53,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:54:53,428 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 16:54:53,429 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 16:54:53,431 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:54:53,441 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:54:53,442 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:54:53,442 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:54:53,442 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:54:53,444 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:54:53,444 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:54:53,446 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:54:53,451 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 16:54:53,452 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:54:53,452 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:54:53,453 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 16:54:53,454 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 16:54:53,455 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:54:53,466 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:54:53,466 INFO L203 nArgumentSynthesizer]: 22 stem disjuncts [2025-04-26 16:54:53,466 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:54:53,466 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:54:53,491 INFO L402 nArgumentSynthesizer]: We have 48 Motzkin's Theorem applications. [2025-04-26 16:54:53,491 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:54:53,523 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 16:54:53,529 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Ended with exit code 0 [2025-04-26 16:54:53,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:54:53,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:54:53,531 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 16:54:53,532 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 16:54:53,533 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of 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 16:54:53,543 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 16:54:53,543 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 16:54:53,543 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 16:54:53,543 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 16:54:53,544 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 16:54:53,544 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 16:54:53,548 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 16:54:53,555 INFO L436 ModelExtractionUtils]: Simplification made 6 calls to the SMT solver. [2025-04-26 16:54:53,556 INFO L437 ModelExtractionUtils]: 0 out of 10 variables were initially zero. Simplification set additionally 5 variables to zero. [2025-04-26 16:54:53,556 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:54:53,556 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:54:53,558 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 16:54:53,561 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 16:54:53,561 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 16:54:53,577 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Ended with exit code 0 [2025-04-26 16:54:53,577 INFO L439 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2025-04-26 16:54:53,577 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 16:54:53,577 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread3Thread1of1ForFork1_k) = -2*thread3Thread1of1ForFork1_k + 5 Supporting invariants [-1*N + 3 >= 0] [2025-04-26 16:54:53,582 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Forceful destruction successful, exit code 0 [2025-04-26 16:54:53,586 INFO L156 tatePredicateManager]: 1 out of 2 supporting invariants were superfluous and have been removed [2025-04-26 16:54:53,598 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:53,602 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-04-26 16:54:53,609 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 16:54:53,609 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:53,609 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:53,609 INFO L256 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-04-26 16:54:53,610 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:54:53,723 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:53,724 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:53,724 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:53,724 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:53,724 WARN L254 TraceCheckSpWp]: Trace formula consists of 9 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 16:54:53,724 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:54:53,738 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 16:54:53,738 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.6 stem predicates 2 loop predicates [2025-04-26 16:54:53,738 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 70 states and 89 transitions. cyclomatic complexity: 24 Second operand has 8 states, 8 states have (on average 3.375) internal successors, (in total 27), 8 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:53,823 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 70 states and 89 transitions. cyclomatic complexity: 24. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (in total 27), 8 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 133 states and 168 transitions. Complement of second has 11 states. [2025-04-26 16:54:53,823 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 9 states 6 stem states 1 non-accepting loop states 2 accepting loop states [2025-04-26 16:54:53,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (in total 27), 8 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:53,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 61 transitions. [2025-04-26 16:54:53,824 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 30 letters. Loop has 3 letters. [2025-04-26 16:54:53,824 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:54:53,824 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 33 letters. Loop has 3 letters. [2025-04-26 16:54:53,824 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:54:53,824 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 30 letters. Loop has 6 letters. [2025-04-26 16:54:53,824 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 16:54:53,824 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 133 states and 168 transitions. [2025-04-26 16:54:53,825 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:53,825 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 133 states to 102 states and 129 transitions. [2025-04-26 16:54:53,826 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 23 [2025-04-26 16:54:53,826 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 24 [2025-04-26 16:54:53,826 INFO L74 IsDeterministic]: Start isDeterministic. Operand 102 states and 129 transitions. [2025-04-26 16:54:53,826 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:54:53,826 INFO L218 hiAutomatonCegarLoop]: Abstraction has 102 states and 129 transitions. [2025-04-26 16:54:53,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states and 129 transitions. [2025-04-26 16:54:53,827 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 85. [2025-04-26 16:54:53,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 85 states have (on average 1.2705882352941176) internal successors, (in total 108), 84 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:53,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 108 transitions. [2025-04-26 16:54:53,827 INFO L240 hiAutomatonCegarLoop]: Abstraction has 85 states and 108 transitions. [2025-04-26 16:54:53,827 INFO L438 stractBuchiCegarLoop]: Abstraction has 85 states and 108 transitions. [2025-04-26 16:54:53,827 INFO L340 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-04-26 16:54:53,827 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 85 states and 108 transitions. [2025-04-26 16:54:53,828 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:53,828 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:54:53,828 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:54:53,828 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:54:53,828 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:54:53,829 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:53,829 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:53,829 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:53,829 INFO L85 PathProgramCache]: Analyzing trace with hash 160865574, now seen corresponding path program 5 times [2025-04-26 16:54:53,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:53,829 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1025695527] [2025-04-26 16:54:53,829 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 16:54:53,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:53,834 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 4 equivalence classes. [2025-04-26 16:54:53,842 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:54:53,842 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2025-04-26 16:54:53,842 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:53,923 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:53,923 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:54:53,923 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1025695527] [2025-04-26 16:54:53,924 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1025695527] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 16:54:53,924 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [573275727] [2025-04-26 16:54:53,924 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 16:54:53,924 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 16:54:53,924 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:54:53,926 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 16:54:53,927 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2025-04-26 16:54:53,948 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 4 equivalence classes. [2025-04-26 16:54:53,955 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:54:53,955 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2025-04-26 16:54:53,955 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:53,956 INFO L256 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-04-26 16:54:53,956 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:54:54,028 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:54,028 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 16:54:54,080 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:54,080 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [573275727] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 16:54:54,080 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 16:54:54,081 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 15 [2025-04-26 16:54:54,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1792893699] [2025-04-26 16:54:54,081 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 16:54:54,081 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:54:54,081 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:54,081 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 10 times [2025-04-26 16:54:54,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:54,081 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [289212879] [2025-04-26 16:54:54,081 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 16:54:54,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:54,083 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-04-26 16:54:54,083 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:54,084 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 16:54:54,084 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:54,084 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:54:54,084 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:54,084 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:54,084 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:54,084 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:54,085 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:54:54,095 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:54:54,096 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2025-04-26 16:54:54,096 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2025-04-26 16:54:54,096 INFO L87 Difference]: Start difference. First operand 85 states and 108 transitions. cyclomatic complexity: 28 Second operand has 15 states, 15 states have (on average 3.0) internal successors, (in total 45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:54,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:54:54,281 INFO L93 Difference]: Finished difference Result 191 states and 251 transitions. [2025-04-26 16:54:54,281 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 191 states and 251 transitions. [2025-04-26 16:54:54,282 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:54,282 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 191 states to 191 states and 251 transitions. [2025-04-26 16:54:54,282 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44 [2025-04-26 16:54:54,283 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2025-04-26 16:54:54,283 INFO L74 IsDeterministic]: Start isDeterministic. Operand 191 states and 251 transitions. [2025-04-26 16:54:54,283 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:54:54,283 INFO L218 hiAutomatonCegarLoop]: Abstraction has 191 states and 251 transitions. [2025-04-26 16:54:54,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states and 251 transitions. [2025-04-26 16:54:54,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 104. [2025-04-26 16:54:54,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 104 states have (on average 1.2884615384615385) internal successors, (in total 134), 103 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:54,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 134 transitions. [2025-04-26 16:54:54,285 INFO L240 hiAutomatonCegarLoop]: Abstraction has 104 states and 134 transitions. [2025-04-26 16:54:54,285 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2025-04-26 16:54:54,285 INFO L438 stractBuchiCegarLoop]: Abstraction has 104 states and 134 transitions. [2025-04-26 16:54:54,285 INFO L340 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-04-26 16:54:54,285 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 104 states and 134 transitions. [2025-04-26 16:54:54,286 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:54,286 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:54:54,286 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:54:54,286 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:54:54,286 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:54:54,286 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:54,287 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:54,287 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:54,287 INFO L85 PathProgramCache]: Analyzing trace with hash 1259724294, now seen corresponding path program 6 times [2025-04-26 16:54:54,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:54,287 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1843032670] [2025-04-26 16:54:54,287 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 16:54:54,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:54,290 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 33 statements into 3 equivalence classes. [2025-04-26 16:54:54,294 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:54:54,294 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2025-04-26 16:54:54,294 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:54,393 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:54,393 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:54:54,393 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1843032670] [2025-04-26 16:54:54,393 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1843032670] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 16:54:54,393 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [415646125] [2025-04-26 16:54:54,394 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 16:54:54,394 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 16:54:54,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:54:54,395 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 16:54:54,397 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Waiting until timeout for monitored process [2025-04-26 16:54:54,421 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 33 statements into 3 equivalence classes. [2025-04-26 16:54:54,430 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:54:54,431 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2025-04-26 16:54:54,431 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:54,431 INFO L256 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-04-26 16:54:54,432 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:54:54,525 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:54,525 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 16:54:54,593 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:54,593 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [415646125] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 16:54:54,593 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 16:54:54,593 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 20 [2025-04-26 16:54:54,593 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1473154072] [2025-04-26 16:54:54,593 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 16:54:54,594 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:54:54,594 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:54,594 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 11 times [2025-04-26 16:54:54,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:54,594 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1499713929] [2025-04-26 16:54:54,594 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 16:54:54,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:54,595 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:54,596 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:54,596 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 16:54:54,596 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:54,596 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:54:54,596 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:54,597 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:54,597 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:54,597 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:54,597 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:54:54,611 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:54:54,612 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2025-04-26 16:54:54,612 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=286, Unknown=0, NotChecked=0, Total=380 [2025-04-26 16:54:54,612 INFO L87 Difference]: Start difference. First operand 104 states and 134 transitions. cyclomatic complexity: 38 Second operand has 20 states, 20 states have (on average 3.1) internal successors, (in total 62), 20 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:54,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:54:54,999 INFO L93 Difference]: Finished difference Result 306 states and 390 transitions. [2025-04-26 16:54:54,999 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 306 states and 390 transitions. [2025-04-26 16:54:55,000 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:55,001 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 306 states to 306 states and 390 transitions. [2025-04-26 16:54:55,001 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 59 [2025-04-26 16:54:55,001 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 59 [2025-04-26 16:54:55,001 INFO L74 IsDeterministic]: Start isDeterministic. Operand 306 states and 390 transitions. [2025-04-26 16:54:55,001 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:54:55,001 INFO L218 hiAutomatonCegarLoop]: Abstraction has 306 states and 390 transitions. [2025-04-26 16:54:55,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 306 states and 390 transitions. [2025-04-26 16:54:55,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 306 to 110. [2025-04-26 16:54:55,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 110 states have (on average 1.309090909090909) internal successors, (in total 144), 109 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:55,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 144 transitions. [2025-04-26 16:54:55,004 INFO L240 hiAutomatonCegarLoop]: Abstraction has 110 states and 144 transitions. [2025-04-26 16:54:55,004 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2025-04-26 16:54:55,004 INFO L438 stractBuchiCegarLoop]: Abstraction has 110 states and 144 transitions. [2025-04-26 16:54:55,004 INFO L340 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2025-04-26 16:54:55,004 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 110 states and 144 transitions. [2025-04-26 16:54:55,005 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:55,005 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:54:55,005 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:54:55,005 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:54:55,005 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:54:55,006 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:55,006 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:55,006 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:55,006 INFO L85 PathProgramCache]: Analyzing trace with hash 520858760, now seen corresponding path program 7 times [2025-04-26 16:54:55,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:55,006 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [138517172] [2025-04-26 16:54:55,006 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 16:54:55,006 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:55,009 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-04-26 16:54:55,011 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:54:55,011 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:55,011 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:55,102 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:55,102 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 16:54:55,102 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [138517172] [2025-04-26 16:54:55,102 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [138517172] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 16:54:55,102 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1882123502] [2025-04-26 16:54:55,102 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 16:54:55,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 16:54:55,102 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 16:54:55,104 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 16:54:55,106 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Waiting until timeout for monitored process [2025-04-26 16:54:55,129 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-04-26 16:54:55,134 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 16:54:55,135 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:55,135 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 16:54:55,135 INFO L256 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-04-26 16:54:55,136 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 16:54:55,230 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:55,230 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 16:54:55,291 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 16:54:55,291 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1882123502] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 16:54:55,291 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 16:54:55,291 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 22 [2025-04-26 16:54:55,292 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2146897554] [2025-04-26 16:54:55,292 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 16:54:55,292 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 16:54:55,292 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:55,292 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 12 times [2025-04-26 16:54:55,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:55,292 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2017055774] [2025-04-26 16:54:55,292 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 16:54:55,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:55,294 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:55,295 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:55,295 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-04-26 16:54:55,295 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,295 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:54:55,295 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:55,295 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:55,295 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:55,295 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,296 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:54:55,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 16:54:55,309 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2025-04-26 16:54:55,309 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=351, Unknown=0, NotChecked=0, Total=462 [2025-04-26 16:54:55,309 INFO L87 Difference]: Start difference. First operand 110 states and 144 transitions. cyclomatic complexity: 40 Second operand has 22 states, 22 states have (on average 3.090909090909091) internal successors, (in total 68), 22 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:55,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 16:54:55,725 INFO L93 Difference]: Finished difference Result 440 states and 557 transitions. [2025-04-26 16:54:55,725 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 440 states and 557 transitions. [2025-04-26 16:54:55,727 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:55,728 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 440 states to 440 states and 557 transitions. [2025-04-26 16:54:55,728 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 79 [2025-04-26 16:54:55,728 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 79 [2025-04-26 16:54:55,729 INFO L74 IsDeterministic]: Start isDeterministic. Operand 440 states and 557 transitions. [2025-04-26 16:54:55,729 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 16:54:55,729 INFO L218 hiAutomatonCegarLoop]: Abstraction has 440 states and 557 transitions. [2025-04-26 16:54:55,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 440 states and 557 transitions. [2025-04-26 16:54:55,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 440 to 88. [2025-04-26 16:54:55,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 88 states have (on average 1.2613636363636365) internal successors, (in total 111), 87 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 16:54:55,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 111 transitions. [2025-04-26 16:54:55,731 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88 states and 111 transitions. [2025-04-26 16:54:55,732 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2025-04-26 16:54:55,732 INFO L438 stractBuchiCegarLoop]: Abstraction has 88 states and 111 transitions. [2025-04-26 16:54:55,732 INFO L340 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2025-04-26 16:54:55,732 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 111 transitions. [2025-04-26 16:54:55,732 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 16:54:55,732 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 16:54:55,732 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 16:54:55,733 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 16:54:55,733 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 16:54:55,733 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:55,733 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 16:54:55,733 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:55,733 INFO L85 PathProgramCache]: Analyzing trace with hash -987275350, now seen corresponding path program 8 times [2025-04-26 16:54:55,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:55,734 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1415219972] [2025-04-26 16:54:55,734 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 16:54:55,734 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:55,736 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 36 statements into 2 equivalence classes. [2025-04-26 16:54:55,748 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 36 of 36 statements. [2025-04-26 16:54:55,749 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 16:54:55,749 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,749 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:54:55,750 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 36 statements into 1 equivalence classes. [2025-04-26 16:54:55,759 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 36 of 36 statements. [2025-04-26 16:54:55,759 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:55,759 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,765 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:54:55,765 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:55,765 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 13 times [2025-04-26 16:54:55,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:55,765 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [632370138] [2025-04-26 16:54:55,765 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 16:54:55,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:55,767 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:55,767 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:55,767 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:55,767 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,767 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:54:55,767 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 16:54:55,768 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 16:54:55,768 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:55,768 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,768 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:54:55,769 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 16:54:55,769 INFO L85 PathProgramCache]: Analyzing trace with hash 16197474, now seen corresponding path program 3 times [2025-04-26 16:54:55,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 16:54:55,769 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1826600248] [2025-04-26 16:54:55,769 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 16:54:55,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 16:54:55,772 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 39 statements into 5 equivalence classes. [2025-04-26 16:54:55,788 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) and asserted 39 of 39 statements. [2025-04-26 16:54:55,788 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2025-04-26 16:54:55,788 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,788 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 16:54:55,790 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-04-26 16:54:55,795 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-04-26 16:54:55,795 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 16:54:55,795 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 16:54:55,796 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 16:54:57,922 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 16:54:57,922 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 16:54:57,922 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 16:54:57,923 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 16:54:57,923 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 16:54:57,923 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 16:54:57,923 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 16:54:57,923 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 16:54:57,923 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration16_Lasso [2025-04-26 16:54:57,923 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 16:54:57,923 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 16:54:58,051 WARN L176 XnfTransformerHelper]: Simplifying conjunction of 44948 disjunctions. This might take some time... [2025-04-26 16:56:34,560 INFO L192 XnfTransformerHelper]: Simplified to conjunction of 33083 disjunctions. [2025-04-26 16:56:34,702 WARN L176 XnfTransformerHelper]: Simplifying conjunction of 66307 disjunctions. This might take some time... Received shutdown request... [2025-04-26 16:58:30,441 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 16:58:30,447 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 16:58:30,448 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 16:58:30,448 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 16:58:30,458 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Ended with exit code 0 [2025-04-26 16:58:30,459 INFO L201 PluginConnector]: Adding new model map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 26.04 04:58:30 BoogieIcfgContainer [2025-04-26 16:58:30,459 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-04-26 16:58:30,460 INFO L158 Benchmark]: Toolchain (without parser) took 284194.95ms. Allocated memory was 155.2MB in the beginning and 1.0GB in the end (delta: 851.4MB). Free memory was 83.6MB in the beginning and 861.4MB in the end (delta: -777.8MB). Peak memory consumption was 644.6MB. Max. memory is 8.0GB. [2025-04-26 16:58:30,460 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.22ms. Allocated memory is still 155.2MB. Free memory is still 84.6MB. There was no memory consumed. Max. memory is 8.0GB. [2025-04-26 16:58:30,460 INFO L158 Benchmark]: Boogie Procedure Inliner took 40.11ms. Allocated memory is still 155.2MB. Free memory was 83.6MB in the beginning and 81.7MB in the end (delta: 1.9MB). There was no memory consumed. Max. memory is 8.0GB. [2025-04-26 16:58:30,460 INFO L158 Benchmark]: Boogie Preprocessor took 39.14ms. Allocated memory is still 155.2MB. Free memory was 81.7MB in the beginning and 80.7MB in the end (delta: 1.1MB). Peak memory consumption was 4.2MB. Max. memory is 8.0GB. [2025-04-26 16:58:30,460 INFO L158 Benchmark]: RCFGBuilder took 247.27ms. Allocated memory is still 155.2MB. Free memory was 80.7MB in the beginning and 69.7MB in the end (delta: 11.0MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. [2025-04-26 16:58:30,461 INFO L158 Benchmark]: BuchiAutomizer took 283865.80ms. Allocated memory was 155.2MB in the beginning and 1.0GB in the end (delta: 851.4MB). Free memory was 69.7MB in the beginning and 861.4MB in the end (delta: -791.8MB). Peak memory consumption was 632.0MB. Max. memory is 8.0GB. [2025-04-26 16:58:30,461 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.22ms. Allocated memory is still 155.2MB. Free memory is still 84.6MB. There was no memory consumed. Max. memory is 8.0GB. * Boogie Procedure Inliner took 40.11ms. Allocated memory is still 155.2MB. Free memory was 83.6MB in the beginning and 81.7MB in the end (delta: 1.9MB). There was no memory consumed. Max. memory is 8.0GB. * Boogie Preprocessor took 39.14ms. Allocated memory is still 155.2MB. Free memory was 81.7MB in the beginning and 80.7MB in the end (delta: 1.1MB). Peak memory consumption was 4.2MB. Max. memory is 8.0GB. * RCFGBuilder took 247.27ms. Allocated memory is still 155.2MB. Free memory was 80.7MB in the beginning and 69.7MB in the end (delta: 11.0MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. * BuchiAutomizer took 283865.80ms. Allocated memory was 155.2MB in the beginning and 1.0GB in the end (delta: 851.4MB). Free memory was 69.7MB in the beginning and 861.4MB in the end (delta: -791.8MB). Peak memory consumption was 632.0MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 283.7s and 16 iterations. TraceHistogramMax:4. Analysis of lassos took 280.4s. Construction of modules took 0.9s. Büchi inclusion checks took 1.9s. Highest rank in rank-based complementation 3. Minimization of det autom 0. Minimization of nondet autom 15. Automata minimization 0.1s AutomataMinimizationTime, 15 MinimizatonAttempts, 1115 StatesRemovedByMinimization, 14 NontrivialMinimizations. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [6, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1313 SdHoareTripleChecker+Valid, 1.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1309 mSDsluCounter, 847 SdHoareTripleChecker+Invalid, 0.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 592 mSDsCounter, 94 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1851 IncrementalHoareTripleChecker+Invalid, 1945 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 94 mSolverCounterUnsat, 255 mSDtfsCounter, 1851 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont0 unkn0 SFLI0 SFLT0 conc1 concLT0 SILN0 SILU8 SILI0 SILT0 lasso6 LassoPreprocessingBenchmarks: Lassos: inital191 mio100 ax100 hnf100 lsp1325 ukn18 mio100 lsp106 div100 bol100 ite100 ukn100 eq152 hnf98 smp66 dnf7030 smp29 tf100 neg100 sie100 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 71ms VariablesStem: 11 VariablesLoop: 0 DisjunctsStem: 22 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 48 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.2s InitialAbstraction: Time to compute Ample Reduction [ms]: 262, Number of transitions in reduction automaton: 366, Number of states in reduction automaton: 216, Underlying: - StatisticsResult: Constructed decomposition of program Decomposition not yet finished - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction) Buchi Automizer is unable to decide termination: Timeout while BuchiAutomatonCegarLoop was analyzing lasso (stem: length 37 TraceHistMax 4 loop: length 4 TraceHistMax 1),while LassoBuilder was applying LassoPartitioneer to lasso for termination ,while CnfTransformerHelper was XNF transformer was simplifying 66307 disjunctions. . RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown