/root/.sdkman/candidates/java/current/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf --buchiautomizer.automaton.type.for.concurrent.programs BUCHI_PETRI_NET -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -i ../../../trunk/examples/svcomp/weaver/popl20-figure1.wvr.c -------------------------------------------------------------------------------- This is Ultimate 0.2.3-?-9ecb849-m [2024-02-09 23:36:54,713 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-09 23:36:54,780 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf [2024-02-09 23:36:54,784 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-09 23:36:54,785 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-09 23:36:54,785 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.Only consider context switches at boundaries of atomic blocks [2024-02-09 23:36:54,812 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-09 23:36:54,812 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-09 23:36:54,813 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-09 23:36:54,816 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-09 23:36:54,816 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-09 23:36:54,816 INFO L153 SettingsManager]: * Use SBE=true [2024-02-09 23:36:54,817 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-02-09 23:36:54,817 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-02-09 23:36:54,818 INFO L153 SettingsManager]: * Use old map elimination=false [2024-02-09 23:36:54,818 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-02-09 23:36:54,818 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-02-09 23:36:54,818 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-02-09 23:36:54,818 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-09 23:36:54,819 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-02-09 23:36:54,819 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-09 23:36:54,819 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-09 23:36:54,820 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-09 23:36:54,820 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-09 23:36:54,820 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-02-09 23:36:54,820 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-02-09 23:36:54,820 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-02-09 23:36:54,820 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-02-09 23:36:54,820 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-09 23:36:54,821 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-09 23:36:54,821 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-02-09 23:36:54,821 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-09 23:36:54,822 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-09 23:36:54,822 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-09 23:36:54,822 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-09 23:36:54,822 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-09 23:36:54,822 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-09 23:36:54,823 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-02-09 23:36:54,823 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: Automaton type for concurrent programs -> BUCHI_PETRI_NET [2024-02-09 23:36:55,060 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-09 23:36:55,077 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-09 23:36:55,079 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-09 23:36:55,079 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-09 23:36:55,080 INFO L274 PluginConnector]: CDTParser initialized [2024-02-09 23:36:55,081 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/popl20-figure1.wvr.c [2024-02-09 23:36:56,083 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-09 23:36:56,240 INFO L384 CDTParser]: Found 1 translation units. [2024-02-09 23:36:56,241 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-figure1.wvr.c [2024-02-09 23:36:56,246 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5b42b6cbc/d877dfef1b514e4e9e80807dcb2212f8/FLAG9554af93c [2024-02-09 23:36:56,257 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5b42b6cbc/d877dfef1b514e4e9e80807dcb2212f8 [2024-02-09 23:36:56,259 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-09 23:36:56,260 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-02-09 23:36:56,261 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-09 23:36:56,261 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-09 23:36:56,266 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-09 23:36:56,266 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,267 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3dc298f9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56, skipping insertion in model container [2024-02-09 23:36:56,267 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,291 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-09 23:36:56,401 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-09 23:36:56,410 INFO L202 MainTranslator]: Completed pre-run [2024-02-09 23:36:56,423 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-09 23:36:56,462 WARN L672 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2024-02-09 23:36:56,462 WARN L672 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2024-02-09 23:36:56,468 INFO L206 MainTranslator]: Completed translation [2024-02-09 23:36:56,468 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56 WrapperNode [2024-02-09 23:36:56,468 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-09 23:36:56,469 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-02-09 23:36:56,469 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-02-09 23:36:56,469 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-02-09 23:36:56,487 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,496 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,510 INFO L138 Inliner]: procedures = 21, calls = 25, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 70 [2024-02-09 23:36:56,511 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-02-09 23:36:56,511 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-02-09 23:36:56,511 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-02-09 23:36:56,511 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-02-09 23:36:56,517 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,518 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,519 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,519 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,522 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,525 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,526 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,526 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,528 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-02-09 23:36:56,529 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-02-09 23:36:56,529 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-02-09 23:36:56,529 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-02-09 23:36:56,529 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (1/1) ... [2024-02-09 23:36:56,534 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:56,541 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:56,555 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:56,559 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-02-09 23:36:56,592 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-02-09 23:36:56,592 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-02-09 23:36:56,592 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-02-09 23:36:56,592 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-02-09 23:36:56,592 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-02-09 23:36:56,592 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-02-09 23:36:56,592 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-02-09 23:36:56,592 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-02-09 23:36:56,592 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-02-09 23:36:56,593 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-02-09 23:36:56,593 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-02-09 23:36:56,593 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-02-09 23:36:56,593 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-02-09 23:36:56,593 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-02-09 23:36:56,594 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-02-09 23:36:56,658 INFO L236 CfgBuilder]: Building ICFG [2024-02-09 23:36:56,659 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2024-02-09 23:36:56,785 INFO L277 CfgBuilder]: Performing block encoding [2024-02-09 23:36:56,819 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-02-09 23:36:56,819 INFO L302 CfgBuilder]: Removed 2 assume(true) statements. [2024-02-09 23:36:56,826 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.02 11:36:56 BoogieIcfgContainer [2024-02-09 23:36:56,826 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-02-09 23:36:56,827 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-02-09 23:36:56,827 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-02-09 23:36:56,829 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-02-09 23:36:56,830 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-09 23:36:56,830 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 09.02 11:36:56" (1/3) ... [2024-02-09 23:36:56,831 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@274c426a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.02 11:36:56, skipping insertion in model container [2024-02-09 23:36:56,831 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-09 23:36:56,831 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:36:56" (2/3) ... [2024-02-09 23:36:56,831 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@274c426a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.02 11:36:56, skipping insertion in model container [2024-02-09 23:36:56,831 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-09 23:36:56,831 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.02 11:36:56" (3/3) ... [2024-02-09 23:36:56,832 INFO L332 chiAutomizerObserver]: Analyzing ICFG popl20-figure1.wvr.c [2024-02-09 23:36:56,898 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-02-09 23:36:56,924 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 79 places, 79 transitions, 172 flow [2024-02-09 23:36:56,952 INFO L124 PetriNetUnfolderBase]: 5/75 cut-off events. [2024-02-09 23:36:56,952 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2024-02-09 23:36:56,956 INFO L83 FinitePrefix]: Finished finitePrefix Result has 84 conditions, 75 events. 5/75 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 52 event pairs, 0 based on Foata normal form. 0/70 useless extension candidates. Maximal degree in co-relation 37. Up to 2 conditions per place. [2024-02-09 23:36:56,957 INFO L82 GeneralOperation]: Start removeDead. Operand has 79 places, 79 transitions, 172 flow [2024-02-09 23:36:56,960 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 77 places, 75 transitions, 162 flow [2024-02-09 23:36:56,965 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2024-02-09 23:36:56,966 INFO L304 stractBuchiCegarLoop]: Hoare is false [2024-02-09 23:36:56,966 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-02-09 23:36:56,966 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-02-09 23:36:56,966 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-02-09 23:36:56,966 INFO L308 stractBuchiCegarLoop]: Difference is false [2024-02-09 23:36:56,966 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-02-09 23:36:56,966 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiPetriNetCegarLoop ======== [2024-02-09 23:36:56,967 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 77 places, 75 transitions, 162 flow [2024-02-09 23:36:56,976 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:36:56,976 INFO L124 PetriNetUnfolderBase]: 1/33 cut-off events. [2024-02-09 23:36:56,976 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-02-09 23:36:56,976 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:36:56,979 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-02-09 23:36:56,979 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 77 places, 75 transitions, 162 flow [2024-02-09 23:36:56,984 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:36:56,984 INFO L124 PetriNetUnfolderBase]: 1/33 cut-off events. [2024-02-09 23:36:56,984 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-02-09 23:36:56,984 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:36:56,990 INFO L748 eck$LassoCheckResult]: Stem: 83#[$Ultimate##0]true [164] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 85#[L-1]true [168] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 87#[L21]true [163] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 89#[L21-1]true [176] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 91#[L21-2]true [175] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 93#[L21-3]true [151] L21-3-->L21-4: Formula: (and (= 21 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 95#[L21-4]true [197] L21-4-->L38: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 97#[L38]true [198] L38-->L-1-1: Formula: (= v_~counter~0_6 0) InVars {} OutVars{~counter~0=v_~counter~0_6} AuxVars[] AssignedVars[~counter~0] 99#[L-1-1]true [183] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 101#[L-1-2]true [186] L-1-2-->L62: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] 103#[L62]true [191] L62-->L62-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 105#[L62-1]true [180] L62-1-->L62-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 107#[L62-2]true [162] L62-2-->L64: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] 109#[L64]true [152] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 111#[L64-1]true [185] L64-1-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] 113#[L67]true [181] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] 115#[L67-1]true [156] L67-1-->L67-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 117#[L67-2]true [144] L67-2-->L67-3: Formula: (and (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_3|) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_3| 4) (select |v_#length_7| |v_ULTIMATE.start_main_~#t1~0#1.base_3|)) (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, #length=|v_#length_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_3|, #length=|v_#length_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] 119#[L67-3]true [230] L67-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_7| v_thread1Thread1of1ForFork1_thidvar0_2) (= 0 v_thread1Thread1of1ForFork1_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_7|} OutVars{thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_7|, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_8|, thread1Thread1of1ForFork1_#t~post2=|v_thread1Thread1of1ForFork1_#t~post2_4|, thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_14, thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_4|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_2, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#t~post1, thread1Thread1of1ForFork1_#t~post2, thread1Thread1of1ForFork1_~i~0, thread1Thread1of1ForFork1_#res.offset, thread1Thread1of1ForFork1_thidvar1, thread1Thread1of1ForFork1_thidvar0] 121#[$Ultimate##0, L67-4]true [203] $Ultimate##0-->L41-4: Formula: (= v_thread1Thread1of1ForFork1_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~i~0] 123#[L41-4, L67-4]true [2024-02-09 23:36:56,990 INFO L750 eck$LassoCheckResult]: Loop: 123#[L41-4, L67-4]true [204] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork1_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 126#[L42, L67-4]true [207] L42-->L44: Formula: (= (+ v_~counter~0_13 1) v_~counter~0_12) InVars {~counter~0=v_~counter~0_13} OutVars{~counter~0=v_~counter~0_12, thread1Thread1of1ForFork1_#t~post2=|v_thread1Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork1_#t~post2] 128#[L44, L67-4]true [209] L44-->L41-2: Formula: (= |v_thread1Thread1of1ForFork1_#t~post1_1| v_thread1Thread1of1ForFork1_~i~0_9) InVars {thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_9} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_9, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#t~post1] 130#[L41-2, L67-4]true [211] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork1_~i~0_11 (+ |v_thread1Thread1of1ForFork1_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_3|} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_11, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~i~0] 132#[L41-3, L67-4]true [213] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#t~post1] 123#[L41-4, L67-4]true [2024-02-09 23:36:56,994 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:36:56,995 INFO L85 PathProgramCache]: Analyzing trace with hash 505019454, now seen corresponding path program 1 times [2024-02-09 23:36:57,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:36:57,009 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [761485946] [2024-02-09 23:36:57,009 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:36:57,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:36:57,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:57,114 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:36:57,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:57,142 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:36:57,144 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:36:57,144 INFO L85 PathProgramCache]: Analyzing trace with hash 223401775, now seen corresponding path program 1 times [2024-02-09 23:36:57,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:36:57,145 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1785736561] [2024-02-09 23:36:57,145 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:36:57,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:36:57,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:57,150 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:36:57,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:57,156 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:36:57,157 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:36:57,158 INFO L85 PathProgramCache]: Analyzing trace with hash 1143732498, now seen corresponding path program 1 times [2024-02-09 23:36:57,158 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:36:57,158 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1078129466] [2024-02-09 23:36:57,158 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:36:57,158 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:36:57,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:57,175 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:36:57,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:57,191 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:36:57,261 INFO L210 LassoAnalysis]: Preferences: [2024-02-09 23:36:57,261 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-09 23:36:57,262 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-09 23:36:57,262 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-09 23:36:57,262 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2024-02-09 23:36:57,262 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,262 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-09 23:36:57,262 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-09 23:36:57,262 INFO L133 ssoRankerPreferences]: Filename of dumped script: popl20-figure1.wvr.c_BEv2_Iteration1_Loop [2024-02-09 23:36:57,262 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-09 23:36:57,262 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-09 23:36:57,278 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,288 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,297 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,306 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,309 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,313 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,315 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,319 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,391 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-09 23:36:57,391 INFO L404 LassoAnalysis]: Checking for nontermination... [2024-02-09 23:36:57,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,395 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,399 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:36:57,399 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:57,414 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-02-09 23:36:57,422 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2024-02-09 23:36:57,428 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep#funAddr~thread2.offset_1=1} Honda state: {v_rep#funAddr~thread2.offset_1=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2024-02-09 23:36:57,433 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:57,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,434 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,435 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,441 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:36:57,441 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:57,451 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-02-09 23:36:57,460 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:57,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,465 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,466 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-02-09 23:36:57,467 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-02-09 23:36:57,467 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:57,566 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-02-09 23:36:57,572 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:57,573 INFO L210 LassoAnalysis]: Preferences: [2024-02-09 23:36:57,573 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-09 23:36:57,573 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-09 23:36:57,573 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-09 23:36:57,573 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2024-02-09 23:36:57,573 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,573 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-09 23:36:57,573 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-09 23:36:57,573 INFO L133 ssoRankerPreferences]: Filename of dumped script: popl20-figure1.wvr.c_BEv2_Iteration1_Loop [2024-02-09 23:36:57,573 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-09 23:36:57,573 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-09 23:36:57,575 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,578 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,580 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,583 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,588 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,591 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,594 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,596 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:57,671 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-09 23:36:57,674 INFO L490 LassoAnalysis]: Using template 'affine'. [2024-02-09 23:36:57,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,677 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,680 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:57,689 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:57,689 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:57,689 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:57,689 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:57,693 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:36:57,693 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:36:57,696 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-02-09 23:36:57,710 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:36:57,715 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:57,716 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,716 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,717 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,720 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-02-09 23:36:57,721 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:57,728 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:57,729 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:57,729 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:57,729 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:57,731 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:36:57,731 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:36:57,747 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:36:57,753 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:57,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,755 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,758 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-02-09 23:36:57,759 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:57,766 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:57,766 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:57,766 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:57,767 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:57,768 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:36:57,768 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:36:57,784 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:36:57,790 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:57,790 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,791 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,797 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:57,805 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:57,805 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:36:57,805 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:57,805 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:57,805 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:57,806 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:36:57,806 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:36:57,810 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-02-09 23:36:57,819 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-02-09 23:36:57,822 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-02-09 23:36:57,822 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-02-09 23:36:57,823 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:57,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:57,833 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:57,838 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-02-09 23:36:57,838 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-02-09 23:36:57,838 INFO L513 LassoAnalysis]: Proved termination. [2024-02-09 23:36:57,839 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(~N~0, thread1Thread1of1ForFork1_~i~0) = 1*~N~0 - 1*thread1Thread1of1ForFork1_~i~0 Supporting invariants [] [2024-02-09 23:36:57,839 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-02-09 23:36:57,851 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:57,853 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-02-09 23:36:57,875 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:36:57,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:36:57,913 INFO L262 TraceCheckSpWp]: Trace formula consists of 69 conjuncts, 2 conjunts are in the unsatisfiable core [2024-02-09 23:36:57,915 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:36:57,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:36:57,958 WARN L260 TraceCheckSpWp]: Trace formula consists of 10 conjuncts, 5 conjunts are in the unsatisfiable core [2024-02-09 23:36:57,960 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:36:58,031 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:36:58,069 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2024-02-09 23:36:58,072 INFO L162 BuchiComplementFKV]: Start buchiComplementFKV with optimization HEIMAT2. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:36:58,332 INFO L171 BuchiComplementFKV]: Finished buchiComplementFKV with optimization HEIMAT2. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 13 states and 1399 transitions.8 powerset states5 rank states. The highest rank that occured is 1 [2024-02-09 23:36:58,333 INFO L89 BuchiIntersect]: Starting Intersection [2024-02-09 23:36:58,334 INFO L72 uchiIntersectDefault]: Starting Basic Intersection [2024-02-09 23:36:58,350 INFO L85 uchiIntersectDefault]: Exiting Basic Intersection [2024-02-09 23:36:58,351 INFO L99 BuchiIntersect]: Exiting Intersection [2024-02-09 23:36:58,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 7 states 1 stem states 4 non-accepting loop states 1 accepting loop states [2024-02-09 23:36:58,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:36:58,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 527 transitions. [2024-02-09 23:36:58,366 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 527 transitions. Stem has 20 letters. Loop has 5 letters. [2024-02-09 23:36:58,366 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:36:58,366 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 527 transitions. Stem has 25 letters. Loop has 5 letters. [2024-02-09 23:36:58,366 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:36:58,366 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 527 transitions. Stem has 20 letters. Loop has 10 letters. [2024-02-09 23:36:58,367 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:36:58,367 INFO L428 stractBuchiCegarLoop]: Abstraction has has 103 places, 2646 transitions, 10986 flow [2024-02-09 23:36:58,367 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-02-09 23:36:58,367 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 103 places, 2646 transitions, 10986 flow [2024-02-09 23:36:58,703 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:58,748 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:36:58,748 INFO L124 PetriNetUnfolderBase]: 1135/1692 cut-off events. [2024-02-09 23:36:58,748 INFO L125 PetriNetUnfolderBase]: For 19/19 co-relation queries the response was YES. [2024-02-09 23:36:58,748 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:36:58,750 INFO L748 eck$LassoCheckResult]: Stem: 83#[$Ultimate##0]true [164] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 85#[L-1]true [168] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 87#[L21]true [163] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 89#[L21-1]true [176] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 91#[L21-2]true [175] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 93#[L21-3]true [151] L21-3-->L21-4: Formula: (and (= 21 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 95#[L21-4]true [197] L21-4-->L38: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 97#[L38]true [198] L38-->L-1-1: Formula: (= v_~counter~0_6 0) InVars {} OutVars{~counter~0=v_~counter~0_6} AuxVars[] AssignedVars[~counter~0] 99#[L-1-1]true [183] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 101#[L-1-2]true [186] L-1-2-->L62: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] 103#[L62]true [191] L62-->L62-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 105#[L62-1]true [180] L62-1-->L62-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 107#[L62-2]true [162] L62-2-->L64: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] 109#[L64]true [152] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 111#[L64-1]true [185] L64-1-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] 113#[L67]true [181] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] 115#[L67-1]true [156] L67-1-->L67-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 117#[L67-2]true [144] L67-2-->L67-3: Formula: (and (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_3|) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_3| 4) (select |v_#length_7| |v_ULTIMATE.start_main_~#t1~0#1.base_3|)) (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, #length=|v_#length_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_3|, #length=|v_#length_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] 119#[L67-3]true [230] L67-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_7| v_thread1Thread1of1ForFork1_thidvar0_2) (= 0 v_thread1Thread1of1ForFork1_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_7|} OutVars{thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_7|, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_8|, thread1Thread1of1ForFork1_#t~post2=|v_thread1Thread1of1ForFork1_#t~post2_4|, thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_14, thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_4|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_2, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#t~post1, thread1Thread1of1ForFork1_#t~post2, thread1Thread1of1ForFork1_~i~0, thread1Thread1of1ForFork1_#res.offset, thread1Thread1of1ForFork1_thidvar1, thread1Thread1of1ForFork1_thidvar0] 121#[$Ultimate##0, L67-4]true [177] L67-4-->L67-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] 304#[L67-5, $Ultimate##0]true [135] L67-5-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] 306#[L68, $Ultimate##0]true [182] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] 308#[L68-1, $Ultimate##0]true [155] L68-1-->L68-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] 310#[L68-2, $Ultimate##0]true [140] L68-2-->L68-3: Formula: (and (<= (+ 4 |v_ULTIMATE.start_main_~#t2~0#1.offset_3|) (select |v_#length_8| |v_ULTIMATE.start_main_~#t2~0#1.base_3|)) (= (select |v_#valid_9| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) 1) (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) (<= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_3|)) InVars {ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, #valid=|v_#valid_9|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, #length=|v_#length_8|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, #valid=|v_#valid_9|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, #length=|v_#length_8|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] 312#[L68-3, $Ultimate##0]true [227] L68-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_7| v_thread2Thread1of1ForFork0_thidvar0_2) (= v_thread2Thread1of1ForFork0_thidvar2_2 0) (= v_thread2Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_7|} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_4|, thread2Thread1of1ForFork0_#res#1.base=|v_thread2Thread1of1ForFork0_#res#1.base_4|, thread2Thread1of1ForFork0_#res#1.offset=|v_thread2Thread1of1ForFork0_#res#1.offset_4|, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_4|, thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_2, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_7|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_14|, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_8|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_4|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_#res#1.base, thread2Thread1of1ForFork0_#res#1.offset, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_thidvar2, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_~i~1#1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_#t~post3#1, thread2Thread1of1ForFork0_#t~post4#1] 314#[L68-4, $Ultimate##0, $Ultimate##0]true [214] $Ultimate##0-->L51-4: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_1| 0) InVars {} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 316#[L51-4, L68-4, $Ultimate##0]true [215] L51-4-->L52: Formula: (< |v_thread2Thread1of1ForFork0_~i~1#1_3| v_~N~0_4) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} AuxVars[] AssignedVars[] 318#[L68-4, L52, $Ultimate##0]true [218] L52-->L55: Formula: (and (not (= (ite (< 0 v_~counter~0_35) 1 0) 0)) (= (+ v_~counter~0_34 1) v_~counter~0_35)) InVars {~counter~0=v_~counter~0_35} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~counter~0=v_~counter~0_34, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_1|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_#t~post4#1] 320#[L68-4, L55, $Ultimate##0]true [220] L55-->L51-2: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_9| |v_thread2Thread1of1ForFork0_#t~post3#1_1|) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 322#[L68-4, L51-2, $Ultimate##0]true [222] L51-2-->L51-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post3#1_3| 1) |v_thread2Thread1of1ForFork0_~i~1#1_11|) InVars {thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_11|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 324#[L51-3, L68-4, $Ultimate##0]true [224] L51-3-->L51-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 316#[L51-4, L68-4, $Ultimate##0]true [2024-02-09 23:36:58,751 INFO L750 eck$LassoCheckResult]: Loop: 316#[L51-4, L68-4, $Ultimate##0]true [215] L51-4-->L52: Formula: (< |v_thread2Thread1of1ForFork0_~i~1#1_3| v_~N~0_4) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} AuxVars[] AssignedVars[] 318#[L68-4, L52, $Ultimate##0]true [218] L52-->L55: Formula: (and (not (= (ite (< 0 v_~counter~0_35) 1 0) 0)) (= (+ v_~counter~0_34 1) v_~counter~0_35)) InVars {~counter~0=v_~counter~0_35} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~counter~0=v_~counter~0_34, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_1|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_#t~post4#1] 320#[L68-4, L55, $Ultimate##0]true [220] L55-->L51-2: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_9| |v_thread2Thread1of1ForFork0_#t~post3#1_1|) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 322#[L68-4, L51-2, $Ultimate##0]true [222] L51-2-->L51-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post3#1_3| 1) |v_thread2Thread1of1ForFork0_~i~1#1_11|) InVars {thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_11|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 324#[L51-3, L68-4, $Ultimate##0]true [224] L51-3-->L51-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 316#[L51-4, L68-4, $Ultimate##0]true [215] L51-4-->L52: Formula: (< |v_thread2Thread1of1ForFork0_~i~1#1_3| v_~N~0_4) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} AuxVars[] AssignedVars[] 318#[L68-4, L52, $Ultimate##0]true [218] L52-->L55: Formula: (and (not (= (ite (< 0 v_~counter~0_35) 1 0) 0)) (= (+ v_~counter~0_34 1) v_~counter~0_35)) InVars {~counter~0=v_~counter~0_35} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~counter~0=v_~counter~0_34, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_1|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_#t~post4#1] 320#[L68-4, L55, $Ultimate##0]true [220] L55-->L51-2: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_9| |v_thread2Thread1of1ForFork0_#t~post3#1_1|) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 322#[L68-4, L51-2, $Ultimate##0]true [222] L51-2-->L51-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post3#1_3| 1) |v_thread2Thread1of1ForFork0_~i~1#1_11|) InVars {thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_11|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 324#[L51-3, L68-4, $Ultimate##0]true [224] L51-3-->L51-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 316#[L51-4, L68-4, $Ultimate##0]true [2024-02-09 23:36:58,753 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:36:58,753 INFO L85 PathProgramCache]: Analyzing trace with hash 1660944420, now seen corresponding path program 1 times [2024-02-09 23:36:58,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:36:58,754 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577200307] [2024-02-09 23:36:58,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:36:58,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:36:58,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:36:58,885 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:36:58,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-09 23:36:58,885 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1577200307] [2024-02-09 23:36:58,886 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1577200307] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-09 23:36:58,886 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-09 23:36:58,886 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-02-09 23:36:58,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1519711272] [2024-02-09 23:36:58,887 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-09 23:36:58,888 INFO L753 eck$LassoCheckResult]: stem already infeasible [2024-02-09 23:36:58,889 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:36:58,889 INFO L85 PathProgramCache]: Analyzing trace with hash -1333992543, now seen corresponding path program 1 times [2024-02-09 23:36:58,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:36:58,889 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1485088995] [2024-02-09 23:36:58,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:36:58,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:36:58,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:58,895 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:36:58,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:36:58,900 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:36:58,946 INFO L210 LassoAnalysis]: Preferences: [2024-02-09 23:36:58,946 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-09 23:36:58,946 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-09 23:36:58,947 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-09 23:36:58,947 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2024-02-09 23:36:58,947 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:58,947 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-09 23:36:58,949 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-09 23:36:58,949 INFO L133 ssoRankerPreferences]: Filename of dumped script: popl20-figure1.wvr.c_BEv2_Iteration2_Loop [2024-02-09 23:36:58,953 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-09 23:36:58,953 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-09 23:36:58,956 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,958 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,960 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,962 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,965 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,969 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,971 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,979 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,981 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:58,983 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,051 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-09 23:36:59,052 INFO L404 LassoAnalysis]: Checking for nontermination... [2024-02-09 23:36:59,052 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,053 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,058 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:36:59,058 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:59,068 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2024-02-09 23:36:59,077 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2024-02-09 23:36:59,077 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {thread2Thread1of1ForFork0_#t~post4#1=0} Honda state: {thread2Thread1of1ForFork0_#t~post4#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2024-02-09 23:36:59,083 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,084 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,084 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,085 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,088 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:36:59,088 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:59,103 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2024-02-09 23:36:59,105 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2024-02-09 23:36:59,105 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep#funAddr~thread1.base_3=-1} Honda state: {v_rep#funAddr~thread1.base_3=-1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2024-02-09 23:36:59,111 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,113 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,118 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:36:59,118 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:59,131 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2024-02-09 23:36:59,137 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2024-02-09 23:36:59,137 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep#funAddr~thread2.base_3=-1} Honda state: {v_rep#funAddr~thread2.base_3=-1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2024-02-09 23:36:59,143 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,144 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,144 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,145 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,150 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:36:59,150 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:59,159 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2024-02-09 23:36:59,168 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2024-02-09 23:36:59,168 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=0} Honda state: {thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2024-02-09 23:36:59,173 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,174 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,174 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,175 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,180 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:36:59,180 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:59,189 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2024-02-09 23:36:59,203 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,205 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,210 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-02-09 23:36:59,211 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:36:59,225 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2024-02-09 23:36:59,229 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-02-09 23:36:59,235 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,236 INFO L210 LassoAnalysis]: Preferences: [2024-02-09 23:36:59,236 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-09 23:36:59,236 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-09 23:36:59,236 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-09 23:36:59,236 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2024-02-09 23:36:59,236 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,236 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-09 23:36:59,236 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-09 23:36:59,236 INFO L133 ssoRankerPreferences]: Filename of dumped script: popl20-figure1.wvr.c_BEv2_Iteration2_Loop [2024-02-09 23:36:59,236 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-09 23:36:59,236 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-09 23:36:59,238 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,241 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,243 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,245 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,247 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,251 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,254 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,258 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,260 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,262 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:36:59,330 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-09 23:36:59,330 INFO L490 LassoAnalysis]: Using template 'affine'. [2024-02-09 23:36:59,330 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,331 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,336 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:59,343 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:59,344 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:59,344 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:59,344 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:59,350 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:36:59,350 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:36:59,352 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2024-02-09 23:36:59,366 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:36:59,369 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,370 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,371 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,374 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:59,381 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:59,381 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:36:59,381 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:59,381 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:59,381 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:59,382 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:36:59,382 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:36:59,385 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2024-02-09 23:36:59,393 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:36:59,403 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,404 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,405 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,406 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2024-02-09 23:36:59,410 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:59,416 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:59,416 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:36:59,416 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:59,416 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:59,417 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:59,417 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:36:59,417 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:36:59,426 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:36:59,434 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,435 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,436 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,441 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:59,447 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:59,448 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:59,448 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:59,448 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:59,449 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:36:59,449 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:36:59,452 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2024-02-09 23:36:59,464 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:36:59,470 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Ended with exit code 0 [2024-02-09 23:36:59,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,472 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,479 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:36:59,486 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:36:59,486 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:36:59,486 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:36:59,486 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:36:59,486 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:36:59,487 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:36:59,487 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:36:59,489 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2024-02-09 23:36:59,498 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-02-09 23:36:59,500 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-02-09 23:36:59,500 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2024-02-09 23:36:59,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:36:59,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:36:59,502 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:36:59,506 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-02-09 23:36:59,507 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-02-09 23:36:59,507 INFO L513 LassoAnalysis]: Proved termination. [2024-02-09 23:36:59,507 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(~counter~0) = 1*~counter~0 Supporting invariants [] [2024-02-09 23:36:59,510 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2024-02-09 23:36:59,510 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2024-02-09 23:36:59,511 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-02-09 23:36:59,523 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:36:59,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:36:59,553 INFO L262 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 2 conjunts are in the unsatisfiable core [2024-02-09 23:36:59,554 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:36:59,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:36:59,616 INFO L262 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 5 conjunts are in the unsatisfiable core [2024-02-09 23:36:59,617 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:36:59,655 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:36:59,655 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2024-02-09 23:36:59,656 INFO L162 BuchiComplementFKV]: Start buchiComplementFKV with optimization HEIMAT2. Operand has 5 states, 5 states have (on average 8.2) internal successors, (41), 5 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:36:59,683 INFO L171 BuchiComplementFKV]: Finished buchiComplementFKV with optimization HEIMAT2. Operand has 5 states, 5 states have (on average 8.2) internal successors, (41), 5 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 7 states and 759 transitions.5 powerset states2 rank states. The highest rank that occured is 1 [2024-02-09 23:36:59,683 INFO L89 BuchiIntersect]: Starting Intersection [2024-02-09 23:36:59,683 INFO L72 uchiIntersectDefault]: Starting Basic Intersection [2024-02-09 23:37:00,011 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2024-02-09 23:37:00,041 INFO L85 uchiIntersectDefault]: Exiting Basic Intersection [2024-02-09 23:37:00,041 INFO L99 BuchiIntersect]: Exiting Intersection [2024-02-09 23:37:00,041 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2024-02-09 23:37:00,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 8.2) internal successors, (41), 5 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:37:00,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 312 transitions. [2024-02-09 23:37:00,043 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 312 transitions. Stem has 31 letters. Loop has 10 letters. [2024-02-09 23:37:00,043 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:37:00,043 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 312 transitions. Stem has 41 letters. Loop has 10 letters. [2024-02-09 23:37:00,045 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:37:00,045 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 312 transitions. Stem has 31 letters. Loop has 20 letters. [2024-02-09 23:37:00,046 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:37:00,047 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-09 23:37:00,049 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-02-09 23:37:00,050 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-02-09 23:37:00,070 INFO L175 Difference]: Start difference. First operand has 117 places, 51444 transitions, 316704 flow. Second operand 3 states and 237 transitions. [2024-02-09 23:37:00,071 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 117 places, 51444 transitions, 316704 flow. Second operand 3 states and 237 transitions. [2024-02-09 23:37:00,072 INFO L120 encePairwiseOnDemand]: Number of universal subtrahend loopers: 72 of 79 [2024-02-09 23:37:00,073 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-09 23:37:16,029 INFO L124 PetriNetUnfolderBase]: 26803/36120 cut-off events. [2024-02-09 23:37:16,029 INFO L125 PetriNetUnfolderBase]: For 1524/1524 co-relation queries the response was YES. [2024-02-09 23:37:16,067 INFO L83 FinitePrefix]: Finished finitePrefix Result has 111261 conditions, 36120 events. 26803/36120 cut-off events. For 1524/1524 co-relation queries the response was YES. Maximal size of possible extension queue 554. Compared 175965 event pairs, 65 based on Foata normal form. 713/20750 useless extension candidates. Maximal degree in co-relation 87261. Up to 7435 conditions per place. [2024-02-09 23:37:16,219 INFO L140 encePairwiseOnDemand]: 72/79 looper letters, 117 selfloop transitions, 28 changer transitions 24/3050 dead transitions. [2024-02-09 23:37:16,219 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 96 places, 3050 transitions, 18962 flow [2024-02-09 23:37:16,231 INFO L231 Difference]: Finished difference. Result has 120 places, 3026 transitions, 18724 flow [2024-02-09 23:37:16,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-02-09 23:37:16,232 INFO L428 stractBuchiCegarLoop]: Abstraction has has 120 places, 3026 transitions, 18724 flow [2024-02-09 23:37:16,232 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-02-09 23:37:16,232 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 120 places, 3026 transitions, 18724 flow [2024-02-09 23:37:29,213 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:37:29,213 INFO L124 PetriNetUnfolderBase]: 23601/31207 cut-off events. [2024-02-09 23:37:29,213 INFO L125 PetriNetUnfolderBase]: For 742/742 co-relation queries the response was YES. [2024-02-09 23:37:29,213 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:37:29,215 INFO L748 eck$LassoCheckResult]: Stem: 83#[$Ultimate##0]true [164] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 85#[L-1]true [168] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 87#[L21]true [163] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 89#[L21-1]true [176] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 91#[L21-2]true [175] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 93#[L21-3]true [151] L21-3-->L21-4: Formula: (and (= 21 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 95#[L21-4]true [197] L21-4-->L38: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 97#[L38]true [198] L38-->L-1-1: Formula: (= v_~counter~0_6 0) InVars {} OutVars{~counter~0=v_~counter~0_6} AuxVars[] AssignedVars[~counter~0] 99#[L-1-1]true [183] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 101#[L-1-2]true [186] L-1-2-->L62: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] 103#[L62]true [191] L62-->L62-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 105#[L62-1]true [180] L62-1-->L62-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 107#[L62-2]true [162] L62-2-->L64: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] 109#[L64]true [152] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 111#[L64-1]true [185] L64-1-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] 113#[L67]true [181] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] 115#[L67-1]true [156] L67-1-->L67-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 117#[L67-2]true [144] L67-2-->L67-3: Formula: (and (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_3|) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_3| 4) (select |v_#length_7| |v_ULTIMATE.start_main_~#t1~0#1.base_3|)) (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, #length=|v_#length_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_3|, #length=|v_#length_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] 119#[L67-3]true [230] L67-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_7| v_thread1Thread1of1ForFork1_thidvar0_2) (= 0 v_thread1Thread1of1ForFork1_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_7|} OutVars{thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_7|, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_8|, thread1Thread1of1ForFork1_#t~post2=|v_thread1Thread1of1ForFork1_#t~post2_4|, thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_14, thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_4|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_2, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#t~post1, thread1Thread1of1ForFork1_#t~post2, thread1Thread1of1ForFork1_~i~0, thread1Thread1of1ForFork1_#res.offset, thread1Thread1of1ForFork1_thidvar1, thread1Thread1of1ForFork1_thidvar0] 121#[$Ultimate##0, L67-4]true [177] L67-4-->L67-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] 304#[L67-5, $Ultimate##0]true [135] L67-5-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] 306#[L68, $Ultimate##0]true [182] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] 308#[L68-1, $Ultimate##0]true [155] L68-1-->L68-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] 310#[L68-2, $Ultimate##0]true [140] L68-2-->L68-3: Formula: (and (<= (+ 4 |v_ULTIMATE.start_main_~#t2~0#1.offset_3|) (select |v_#length_8| |v_ULTIMATE.start_main_~#t2~0#1.base_3|)) (= (select |v_#valid_9| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) 1) (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) (<= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_3|)) InVars {ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, #valid=|v_#valid_9|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, #length=|v_#length_8|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, #valid=|v_#valid_9|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, #length=|v_#length_8|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] 312#[L68-3, $Ultimate##0]true [203] $Ultimate##0-->L41-4: Formula: (= v_thread1Thread1of1ForFork1_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~i~0] 516#[L41-4, L68-3]true [227] L68-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_7| v_thread2Thread1of1ForFork0_thidvar0_2) (= v_thread2Thread1of1ForFork0_thidvar2_2 0) (= v_thread2Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_7|} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_4|, thread2Thread1of1ForFork0_#res#1.base=|v_thread2Thread1of1ForFork0_#res#1.base_4|, thread2Thread1of1ForFork0_#res#1.offset=|v_thread2Thread1of1ForFork0_#res#1.offset_4|, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_4|, thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_2, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_7|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_14|, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_8|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_4|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_#res#1.base, thread2Thread1of1ForFork0_#res#1.offset, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_thidvar2, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_~i~1#1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_#t~post3#1, thread2Thread1of1ForFork0_#t~post4#1] 518#[L41-4, L68-4, $Ultimate##0]true [214] $Ultimate##0-->L51-4: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_1| 0) InVars {} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 520#[L51-4, L41-4, L68-4]true [215] L51-4-->L52: Formula: (< |v_thread2Thread1of1ForFork0_~i~1#1_3| v_~N~0_4) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} AuxVars[] AssignedVars[] 522#[L41-4, L68-4, L52]true [204] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork1_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 524#[L68-4, L42, L52]true [207] L42-->L44: Formula: (= (+ v_~counter~0_13 1) v_~counter~0_12) InVars {~counter~0=v_~counter~0_13} OutVars{~counter~0=v_~counter~0_12, thread1Thread1of1ForFork1_#t~post2=|v_thread1Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork1_#t~post2] 526#[L68-4, L44, L52]true [218] L52-->L55: Formula: (and (not (= (ite (< 0 v_~counter~0_35) 1 0) 0)) (= (+ v_~counter~0_34 1) v_~counter~0_35)) InVars {~counter~0=v_~counter~0_35} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~counter~0=v_~counter~0_34, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_1|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_#t~post4#1] 528#[L68-4, L44, L55]true [220] L55-->L51-2: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_9| |v_thread2Thread1of1ForFork0_#t~post3#1_1|) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 530#[L68-4, L44, L51-2]true [209] L44-->L41-2: Formula: (= |v_thread1Thread1of1ForFork1_#t~post1_1| v_thread1Thread1of1ForFork1_~i~0_9) InVars {thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_9} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_9, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#t~post1] 532#[L68-4, L41-2, L51-2]true [222] L51-2-->L51-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post3#1_3| 1) |v_thread2Thread1of1ForFork0_~i~1#1_11|) InVars {thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_11|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 534#[L51-3, L68-4, L41-2]true [211] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork1_~i~0_11 (+ |v_thread1Thread1of1ForFork1_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_3|} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_11, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~i~0] 536#[L51-3, L68-4, L41-3]true [224] L51-3-->L51-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 538#[L51-4, L68-4, L41-3]true [215] L51-4-->L52: Formula: (< |v_thread2Thread1of1ForFork0_~i~1#1_3| v_~N~0_4) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} AuxVars[] AssignedVars[] 540#[L68-4, L41-3, L52]true [218] L52-->L55: Formula: (and (not (= (ite (< 0 v_~counter~0_35) 1 0) 0)) (= (+ v_~counter~0_34 1) v_~counter~0_35)) InVars {~counter~0=v_~counter~0_35} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~counter~0=v_~counter~0_34, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_1|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_#t~post4#1] 542#[L68-4, L41-3, L55]true [213] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#t~post1] 544#[L41-4, L68-4, L55]true [204] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork1_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork1_~i~0=v_thread1Thread1of1ForFork1_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 546#[L68-4, L42, L55]true [220] L55-->L51-2: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_9| |v_thread2Thread1of1ForFork0_#t~post3#1_1|) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 548#[L68-4, L42, L51-2]true [222] L51-2-->L51-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post3#1_3| 1) |v_thread2Thread1of1ForFork0_~i~1#1_11|) InVars {thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_11|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 550#[L51-3, L68-4, L42]true [207] L42-->L44: Formula: (= (+ v_~counter~0_13 1) v_~counter~0_12) InVars {~counter~0=v_~counter~0_13} OutVars{~counter~0=v_~counter~0_12, thread1Thread1of1ForFork1_#t~post2=|v_thread1Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork1_#t~post2] 552#[L51-3, L68-4, L44]true [142] L68-4-->L68-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] 554#[L51-3, L68-5, L44]true [224] L51-3-->L51-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 556#[L51-4, L68-5, L44]true [2024-02-09 23:37:29,215 INFO L750 eck$LassoCheckResult]: Loop: 556#[L51-4, L68-5, L44]true [215] L51-4-->L52: Formula: (< |v_thread2Thread1of1ForFork0_~i~1#1_3| v_~N~0_4) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} AuxVars[] AssignedVars[] 559#[L68-5, L44, L52]true [218] L52-->L55: Formula: (and (not (= (ite (< 0 v_~counter~0_35) 1 0) 0)) (= (+ v_~counter~0_34 1) v_~counter~0_35)) InVars {~counter~0=v_~counter~0_35} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~counter~0=v_~counter~0_34, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_1|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_#t~post4#1] 561#[L68-5, L44, L55]true [220] L55-->L51-2: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_9| |v_thread2Thread1of1ForFork0_#t~post3#1_1|) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 563#[L68-5, L44, L51-2]true [222] L51-2-->L51-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post3#1_3| 1) |v_thread2Thread1of1ForFork0_~i~1#1_11|) InVars {thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_11|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 554#[L51-3, L68-5, L44]true [224] L51-3-->L51-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 556#[L51-4, L68-5, L44]true [215] L51-4-->L52: Formula: (< |v_thread2Thread1of1ForFork0_~i~1#1_3| v_~N~0_4) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_3|, ~N~0=v_~N~0_4} AuxVars[] AssignedVars[] 559#[L68-5, L44, L52]true [218] L52-->L55: Formula: (and (not (= (ite (< 0 v_~counter~0_35) 1 0) 0)) (= (+ v_~counter~0_34 1) v_~counter~0_35)) InVars {~counter~0=v_~counter~0_35} OutVars{thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~counter~0=v_~counter~0_34, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, thread2Thread1of1ForFork0_#t~post4#1=|v_thread2Thread1of1ForFork0_#t~post4#1_1|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork0_#t~post4#1] 561#[L68-5, L44, L55]true [220] L55-->L51-2: Formula: (= |v_thread2Thread1of1ForFork0_~i~1#1_9| |v_thread2Thread1of1ForFork0_#t~post3#1_1|) InVars {thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_9|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 563#[L68-5, L44, L51-2]true [222] L51-2-->L51-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post3#1_3| 1) |v_thread2Thread1of1ForFork0_~i~1#1_11|) InVars {thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} OutVars{thread2Thread1of1ForFork0_~i~1#1=|v_thread2Thread1of1ForFork0_~i~1#1_11|, thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1#1] 554#[L51-3, L68-5, L44]true [224] L51-3-->L51-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post3#1=|v_thread2Thread1of1ForFork0_#t~post3#1_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post3#1] 556#[L51-4, L68-5, L44]true [2024-02-09 23:37:29,215 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:37:29,215 INFO L85 PathProgramCache]: Analyzing trace with hash 1104693897, now seen corresponding path program 1 times [2024-02-09 23:37:29,215 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:37:29,216 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1941338363] [2024-02-09 23:37:29,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:37:29,216 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:37:29,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:37:29,329 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:37:29,329 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-09 23:37:29,329 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1941338363] [2024-02-09 23:37:29,329 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1941338363] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-09 23:37:29,329 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [862316940] [2024-02-09 23:37:29,330 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:37:29,330 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-09 23:37:29,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,331 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,333 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2024-02-09 23:37:29,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:37:29,398 INFO L262 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 4 conjunts are in the unsatisfiable core [2024-02-09 23:37:29,400 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:37:29,434 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-02-09 23:37:29,435 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-02-09 23:37:29,435 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [862316940] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-09 23:37:29,435 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-02-09 23:37:29,435 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 5 [2024-02-09 23:37:29,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281781559] [2024-02-09 23:37:29,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-09 23:37:29,436 INFO L753 eck$LassoCheckResult]: stem already infeasible [2024-02-09 23:37:29,436 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:37:29,436 INFO L85 PathProgramCache]: Analyzing trace with hash -1333992543, now seen corresponding path program 2 times [2024-02-09 23:37:29,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:37:29,437 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494956924] [2024-02-09 23:37:29,437 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:37:29,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:37:29,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:37:29,446 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:37:29,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:37:29,452 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:37:29,492 INFO L210 LassoAnalysis]: Preferences: [2024-02-09 23:37:29,493 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-09 23:37:29,493 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-09 23:37:29,493 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-09 23:37:29,493 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2024-02-09 23:37:29,493 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,493 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-09 23:37:29,493 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-09 23:37:29,493 INFO L133 ssoRankerPreferences]: Filename of dumped script: popl20-figure1.wvr.c_BEv2_Iteration3_Loop [2024-02-09 23:37:29,493 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-09 23:37:29,493 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-09 23:37:29,494 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,496 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,499 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,500 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,502 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,503 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,506 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,508 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,509 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,511 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,554 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-09 23:37:29,555 INFO L404 LassoAnalysis]: Checking for nontermination... [2024-02-09 23:37:29,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,555 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,556 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,559 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:37:29,559 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:37:29,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2024-02-09 23:37:29,584 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2024-02-09 23:37:29,584 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep#funAddr~thread1.base_5=-1} Honda state: {v_rep#funAddr~thread1.base_5=-1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2024-02-09 23:37:29,590 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Forceful destruction successful, exit code 0 [2024-02-09 23:37:29,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,594 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,597 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-02-09 23:37:29,597 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:37:29,604 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2024-02-09 23:37:29,626 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2024-02-09 23:37:29,627 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,627 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,627 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,630 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-02-09 23:37:29,630 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-02-09 23:37:29,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2024-02-09 23:37:29,819 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-02-09 23:37:29,823 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Ended with exit code 0 [2024-02-09 23:37:29,823 INFO L210 LassoAnalysis]: Preferences: [2024-02-09 23:37:29,823 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-09 23:37:29,823 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-09 23:37:29,823 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-09 23:37:29,823 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2024-02-09 23:37:29,823 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,823 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-09 23:37:29,823 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-09 23:37:29,823 INFO L133 ssoRankerPreferences]: Filename of dumped script: popl20-figure1.wvr.c_BEv2_Iteration3_Loop [2024-02-09 23:37:29,823 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-09 23:37:29,823 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-09 23:37:29,824 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,838 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,840 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,843 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,847 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,849 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,851 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,853 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,854 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,855 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:37:29,901 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-09 23:37:29,901 INFO L490 LassoAnalysis]: Using template 'affine'. [2024-02-09 23:37:29,901 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,902 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,906 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:37:29,912 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:37:29,912 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:37:29,912 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:37:29,912 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:37:29,915 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:37:29,915 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:37:29,918 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2024-02-09 23:37:29,926 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:37:29,937 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Forceful destruction successful, exit code 0 [2024-02-09 23:37:29,937 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,937 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,938 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,943 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:37:29,949 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:37:29,949 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:37:29,950 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:37:29,950 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:37:29,952 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:37:29,952 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:37:29,955 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2024-02-09 23:37:29,963 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:37:29,968 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Forceful destruction successful, exit code 0 [2024-02-09 23:37:29,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,970 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,973 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:37:29,979 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:37:29,979 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:37:29,980 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:37:29,980 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:37:29,980 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:37:29,981 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:37:29,981 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:37:29,984 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2024-02-09 23:37:29,992 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-02-09 23:37:29,995 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-02-09 23:37:29,995 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-02-09 23:37:29,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:37:29,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:37:29,997 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-02-09 23:37:29,999 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-02-09 23:37:29,999 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-02-09 23:37:29,999 INFO L513 LassoAnalysis]: Proved termination. [2024-02-09 23:37:29,999 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(~N~0, thread2Thread1of1ForFork0_~i~1#1) = 1*~N~0 - 1*thread2Thread1of1ForFork0_~i~1#1 Supporting invariants [] [2024-02-09 23:37:30,002 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2024-02-09 23:37:30,004 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Forceful destruction successful, exit code 0 [2024-02-09 23:37:30,005 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-02-09 23:37:30,015 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:37:30,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:37:30,035 INFO L262 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 2 conjunts are in the unsatisfiable core [2024-02-09 23:37:30,036 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:37:30,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:37:30,081 INFO L262 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 7 conjunts are in the unsatisfiable core [2024-02-09 23:37:30,081 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:37:30,135 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:37:30,136 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 6 loop predicates [2024-02-09 23:37:30,136 INFO L162 BuchiComplementFKV]: Start buchiComplementFKV with optimization HEIMAT2. Operand has 8 states, 8 states have (on average 6.125) internal successors, (49), 8 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:37:30,292 INFO L171 BuchiComplementFKV]: Finished buchiComplementFKV with optimization HEIMAT2. Operand has 8 states, 8 states have (on average 6.125) internal successors, (49), 8 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 15 states and 1628 transitions.9 powerset states6 rank states. The highest rank that occured is 1 [2024-02-09 23:37:30,292 INFO L89 BuchiIntersect]: Starting Intersection [2024-02-09 23:37:30,292 INFO L72 uchiIntersectDefault]: Starting Basic Intersection [2024-02-09 23:37:30,889 INFO L85 uchiIntersectDefault]: Exiting Basic Intersection [2024-02-09 23:37:30,889 INFO L99 BuchiIntersect]: Exiting Intersection [2024-02-09 23:37:30,890 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 8 states 1 stem states 5 non-accepting loop states 1 accepting loop states [2024-02-09 23:37:30,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.125) internal successors, (49), 8 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:37:30,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 603 transitions. [2024-02-09 23:37:30,891 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 603 transitions. Stem has 45 letters. Loop has 10 letters. [2024-02-09 23:37:30,891 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:37:30,891 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 603 transitions. Stem has 55 letters. Loop has 10 letters. [2024-02-09 23:37:30,892 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:37:30,892 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 603 transitions. Stem has 45 letters. Loop has 20 letters. [2024-02-09 23:37:30,892 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:37:30,892 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-09 23:37:30,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-02-09 23:37:30,892 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2024-02-09 23:37:30,917 INFO L175 Difference]: Start difference. First operand has 150 places, 124780 transitions, 1018612 flow. Second operand 4 states and 316 transitions. [2024-02-09 23:37:30,917 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 150 places, 124780 transitions, 1018612 flow. Second operand 4 states and 316 transitions. [2024-02-09 23:37:30,918 INFO L120 encePairwiseOnDemand]: Number of universal subtrahend loopers: 72 of 79 [2024-02-09 23:37:30,918 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-09 23:37:34,897 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Forceful destruction successful, exit code 0 Received shutdown request... [2024-02-09 23:41:32,632 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-02-09 23:41:32,632 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-02-09 23:41:32,745 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer has thrown an exception: java.lang.AssertionError: clock still running: AutomataDifference at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopStatisticsGenerator.getValue(CegarLoopStatisticsGenerator.java:146) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiCegarLoopBenchmarkGenerator.getValue(BuchiCegarLoopBenchmarkGenerator.java:131) at de.uni_freiburg.informatik.ultimate.util.statistics.StatisticsData.aggregateBenchmarkData(StatisticsData.java:60) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerTimingBenchmark.(BuchiAutomizerTimingBenchmark.java:39) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.doTerminationAnalysis(BuchiAutomizerObserver.java:176) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.finish(BuchiAutomizerObserver.java:341) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2024-02-09 23:41:32,748 INFO L158 Benchmark]: Toolchain (without parser) took 276487.30ms. Allocated memory was 185.6MB in the beginning and 3.2GB in the end (delta: 3.0GB). Free memory was 122.9MB in the beginning and 498.1MB in the end (delta: -375.1MB). Peak memory consumption was 2.9GB. Max. memory is 8.0GB. [2024-02-09 23:41:32,748 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 185.6MB. Free memory is still 132.1MB. There was no memory consumed. Max. memory is 8.0GB. [2024-02-09 23:41:32,754 INFO L158 Benchmark]: CACSL2BoogieTranslator took 207.76ms. Allocated memory is still 185.6MB. Free memory was 122.8MB in the beginning and 161.6MB in the end (delta: -38.8MB). Peak memory consumption was 19.1MB. Max. memory is 8.0GB. [2024-02-09 23:41:32,754 INFO L158 Benchmark]: Boogie Procedure Inliner took 41.71ms. Allocated memory is still 185.6MB. Free memory was 161.6MB in the beginning and 161.1MB in the end (delta: 481.6kB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2024-02-09 23:41:32,754 INFO L158 Benchmark]: Boogie Preprocessor took 16.79ms. Allocated memory is still 185.6MB. Free memory was 161.1MB in the beginning and 159.9MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2024-02-09 23:41:32,754 INFO L158 Benchmark]: RCFGBuilder took 297.35ms. Allocated memory is still 185.6MB. Free memory was 159.9MB in the beginning and 145.2MB in the end (delta: 14.7MB). Peak memory consumption was 14.7MB. Max. memory is 8.0GB. [2024-02-09 23:41:32,755 INFO L158 Benchmark]: BuchiAutomizer took 275920.12ms. Allocated memory was 185.6MB in the beginning and 3.2GB in the end (delta: 3.0GB). Free memory was 144.8MB in the beginning and 498.1MB in the end (delta: -353.3MB). Peak memory consumption was 3.0GB. Max. memory is 8.0GB. [2024-02-09 23:41:32,756 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 185.6MB. Free memory is still 132.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 207.76ms. Allocated memory is still 185.6MB. Free memory was 122.8MB in the beginning and 161.6MB in the end (delta: -38.8MB). Peak memory consumption was 19.1MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 41.71ms. Allocated memory is still 185.6MB. Free memory was 161.6MB in the beginning and 161.1MB in the end (delta: 481.6kB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 16.79ms. Allocated memory is still 185.6MB. Free memory was 161.1MB in the beginning and 159.9MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 297.35ms. Allocated memory is still 185.6MB. Free memory was 159.9MB in the beginning and 145.2MB in the end (delta: 14.7MB). Peak memory consumption was 14.7MB. Max. memory is 8.0GB. * BuchiAutomizer took 275920.12ms. Allocated memory was 185.6MB in the beginning and 3.2GB in the end (delta: 3.0GB). Free memory was 144.8MB in the beginning and 498.1MB in the end (delta: -353.3MB). Peak memory consumption was 3.0GB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Decomposition not yet finished * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: - ExceptionOrErrorResult: AssertionError: clock still running: AutomataDifference de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: AssertionError: clock still running: AutomataDifference: de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopStatisticsGenerator.getValue(CegarLoopStatisticsGenerator.java:146) RESULT: Ultimate could not prove your program: Toolchain returned no result. Completed graceful shutdown