/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -s ../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-noLbe.epf -i ../../../trunk/examples/svcomp/pthread-deagle/floating_read-15.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-21b0908 [2022-07-22 12:04:05,139 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-22 12:04:05,145 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-22 12:04:05,217 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-22 12:04:05,218 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-22 12:04:05,220 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-22 12:04:05,228 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-22 12:04:05,233 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-22 12:04:05,235 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-22 12:04:05,241 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-22 12:04:05,243 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-22 12:04:05,246 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-22 12:04:05,246 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-22 12:04:05,250 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-22 12:04:05,251 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-22 12:04:05,256 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-22 12:04:05,258 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-22 12:04:05,259 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-22 12:04:05,262 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-22 12:04:05,270 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-22 12:04:05,273 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-22 12:04:05,275 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-22 12:04:05,276 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-22 12:04:05,279 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-22 12:04:05,281 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-22 12:04:05,290 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-22 12:04:05,290 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-22 12:04:05,290 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-22 12:04:05,291 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-22 12:04:05,293 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-22 12:04:05,294 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-22 12:04:05,294 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-22 12:04:05,296 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-22 12:04:05,297 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-22 12:04:05,298 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-22 12:04:05,299 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-22 12:04:05,299 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-22 12:04:05,300 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-22 12:04:05,300 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-22 12:04:05,300 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-22 12:04:05,302 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-22 12:04:05,304 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-22 12:04:05,311 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-noLbe.epf [2022-07-22 12:04:05,357 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-22 12:04:05,358 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-22 12:04:05,358 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-22 12:04:05,358 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-22 12:04:05,360 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-22 12:04:05,360 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-22 12:04:05,360 INFO L138 SettingsManager]: * Use SBE=true [2022-07-22 12:04:05,360 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-22 12:04:05,361 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-22 12:04:05,361 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-22 12:04:05,361 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-22 12:04:05,361 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-22 12:04:05,361 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-22 12:04:05,362 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-22 12:04:05,362 INFO L138 SettingsManager]: * sizeof long=4 [2022-07-22 12:04:05,362 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-22 12:04:05,362 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-22 12:04:05,362 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-07-22 12:04:05,362 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-22 12:04:05,363 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-22 12:04:05,363 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-22 12:04:05,363 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-22 12:04:05,363 INFO L138 SettingsManager]: * sizeof long double=12 [2022-07-22 12:04:05,363 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-22 12:04:05,364 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-22 12:04:05,364 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-22 12:04:05,364 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-22 12:04:05,364 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-22 12:04:05,364 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-22 12:04:05,365 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-22 12:04:05,365 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-22 12:04:05,365 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-07-22 12:04:05,366 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-22 12:04:05,366 INFO L138 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 [2022-07-22 12:04:05,778 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-22 12:04:05,809 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-22 12:04:05,811 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-22 12:04:05,814 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-22 12:04:05,816 INFO L275 PluginConnector]: CDTParser initialized [2022-07-22 12:04:05,817 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/floating_read-15.i [2022-07-22 12:04:05,915 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/904351ad0/d6f56ddf0f5b4f24bcced81c64f2a288/FLAG006cb5ea5 [2022-07-22 12:04:06,683 INFO L306 CDTParser]: Found 1 translation units. [2022-07-22 12:04:06,684 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-15.i [2022-07-22 12:04:06,706 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/904351ad0/d6f56ddf0f5b4f24bcced81c64f2a288/FLAG006cb5ea5 [2022-07-22 12:04:06,932 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/904351ad0/d6f56ddf0f5b4f24bcced81c64f2a288 [2022-07-22 12:04:06,937 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-22 12:04:06,943 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-07-22 12:04:06,947 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-22 12:04:06,948 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-22 12:04:06,952 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-22 12:04:06,953 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 12:04:06" (1/1) ... [2022-07-22 12:04:06,955 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3051f122 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:06, skipping insertion in model container [2022-07-22 12:04:06,956 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 12:04:06" (1/1) ... [2022-07-22 12:04:06,965 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-22 12:04:07,039 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-22 12:04:07,503 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-22 12:04:07,514 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-15.i[31197,31210] [2022-07-22 12:04:07,518 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 12:04:07,525 INFO L203 MainTranslator]: Completed pre-run [2022-07-22 12:04:07,576 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-22 12:04:07,579 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-15.i[31197,31210] [2022-07-22 12:04:07,583 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 12:04:07,646 INFO L208 MainTranslator]: Completed translation [2022-07-22 12:04:07,646 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07 WrapperNode [2022-07-22 12:04:07,646 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-22 12:04:07,647 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-22 12:04:07,648 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-22 12:04:07,648 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-22 12:04:07,656 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,672 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,704 INFO L137 Inliner]: procedures = 162, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-07-22 12:04:07,705 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-22 12:04:07,706 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-22 12:04:07,706 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-22 12:04:07,706 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-22 12:04:07,716 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,717 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,727 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,728 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,746 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,754 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,761 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,772 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-22 12:04:07,773 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-22 12:04:07,773 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-22 12:04:07,773 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-22 12:04:07,774 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (1/1) ... [2022-07-22 12:04:07,787 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 12:04:07,799 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 12:04:07,816 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) [2022-07-22 12:04:07,829 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 [2022-07-22 12:04:07,883 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-07-22 12:04:07,883 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-07-22 12:04:07,883 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-07-22 12:04:07,883 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-07-22 12:04:07,883 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-07-22 12:04:07,884 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-07-22 12:04:07,884 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-07-22 12:04:07,884 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2022-07-22 12:04:07,884 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2022-07-22 12:04:07,884 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-07-22 12:04:07,884 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-22 12:04:07,884 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-22 12:04:07,886 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-07-22 12:04:08,000 INFO L234 CfgBuilder]: Building ICFG [2022-07-22 12:04:08,002 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-22 12:04:08,280 INFO L275 CfgBuilder]: Performing block encoding [2022-07-22 12:04:08,287 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-22 12:04:08,287 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-07-22 12:04:08,290 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 12:04:08 BoogieIcfgContainer [2022-07-22 12:04:08,290 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-22 12:04:08,292 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-22 12:04:08,292 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-22 12:04:08,296 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-22 12:04:08,297 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 12:04:08,297 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 22.07 12:04:06" (1/3) ... [2022-07-22 12:04:08,298 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4833f2f0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 12:04:08, skipping insertion in model container [2022-07-22 12:04:08,298 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 12:04:08,299 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:07" (2/3) ... [2022-07-22 12:04:08,299 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4833f2f0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 12:04:08, skipping insertion in model container [2022-07-22 12:04:08,299 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 12:04:08,299 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 12:04:08" (3/3) ... [2022-07-22 12:04:08,301 INFO L322 chiAutomizerObserver]: Analyzing ICFG floating_read-15.i [2022-07-22 12:04:08,371 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-07-22 12:04:08,420 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 57 places, 59 transitions, 126 flow [2022-07-22 12:04:08,492 INFO L129 PetriNetUnfolder]: 8/80 cut-off events. [2022-07-22 12:04:08,492 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-07-22 12:04:08,496 INFO L84 FinitePrefix]: Finished finitePrefix Result has 86 conditions, 80 events. 8/80 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 95 event pairs, 0 based on Foata normal form. 0/70 useless extension candidates. Maximal degree in co-relation 41. Up to 4 conditions per place. [2022-07-22 12:04:08,496 INFO L82 GeneralOperation]: Start removeDead. Operand has 57 places, 59 transitions, 126 flow [2022-07-22 12:04:08,510 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 57 places, 59 transitions, 126 flow [2022-07-22 12:04:08,528 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:08,529 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:08,529 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:08,529 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:08,529 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:08,529 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:08,529 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:08,530 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:08,532 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:08,677 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 6 [2022-07-22 12:04:08,677 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:08,677 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:08,687 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:08,687 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:08,688 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:08,688 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 192 states, but on-demand construction may add more states [2022-07-22 12:04:08,711 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 6 [2022-07-22 12:04:08,711 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:08,711 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:08,714 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:08,716 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:08,732 INFO L748 eck$LassoCheckResult]: Stem: 60#[ULTIMATE.startENTRY]don't care [124] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 63#[L-1]don't care [114] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 65#[L-1-1]don't care [131] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 67#[L-1-2]don't care [132] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 69#[L16]don't care [113] L16-->L16-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[] 71#[L16-1]don't care [82] L16-1-->L16-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[] 73#[L16-2]don't care [136] L16-2-->L16-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[] 75#[L16-3]don't care [118] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 77#[L16-4]don't care [121] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 79#[L16-5]don't care [111] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 81#[L-1-3]don't care [133] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 83#[L-1-4]don't care [116] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 85#[L-1-5]don't care [95] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 87#[L-1-6]don't care [115] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 89#[L-1-7]don't care [92] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 91#[L718]don't care [100] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 93#[L718-1]don't care [137] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 95#[L719]don't care [84] L719-->L719-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 97#[L719-1]don't care [122] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 99#[L722]don't care [134] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 101#[L723-5]don't care [103] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 105#[L724]don't care [99] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 111#[L724-1]don't care [125] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 117#[L724-2]don't care [91] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 123#[L724-3]don't care [146] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_threadThread1of1ForFork0_thidvar0_2) (= |v_threadThread1of1ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_9| |v_threadThread1of1ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{threadThread1of1ForFork0_#in~arg.offset=|v_threadThread1of1ForFork0_#in~arg.offset_4|, threadThread1of1ForFork0_~thread~0=v_threadThread1of1ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, threadThread1of1ForFork0_~arg.base=v_threadThread1of1ForFork0_~arg.base_6, threadThread1of1ForFork0_~arg.offset=v_threadThread1of1ForFork0_~arg.offset_6, threadThread1of1ForFork0_#res.base=|v_threadThread1of1ForFork0_#res.base_4|, threadThread1of1ForFork0_thidvar0=v_threadThread1of1ForFork0_thidvar0_2, threadThread1of1ForFork0_#res.offset=|v_threadThread1of1ForFork0_#res.offset_4|, threadThread1of1ForFork0_#in~arg.base=|v_threadThread1of1ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[threadThread1of1ForFork0_#in~arg.offset, threadThread1of1ForFork0_~thread~0, threadThread1of1ForFork0_~arg.base, threadThread1of1ForFork0_~arg.offset, threadThread1of1ForFork0_#res.base, threadThread1of1ForFork0_thidvar0, threadThread1of1ForFork0_#res.offset, threadThread1of1ForFork0_#in~arg.base] 129#[threadENTRY, L724-4]don't care [135] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 133#[L724-5, threadENTRY]don't care [89] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 139#[L723-2, threadENTRY]don't care [117] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 147#[L723-3, threadENTRY]don't care [96] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 157#[L723-4, threadENTRY]don't care [112] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 169#[threadENTRY, L723-5]don't care [103] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 183#[L724, threadENTRY]don't care [99] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 201#[L724-1, threadENTRY]don't care [125] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 225#[L724-2, threadENTRY]don't care [91] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 253#[threadENTRY, L724-3]don't care [144] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 285#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [2022-07-22 12:04:08,736 INFO L750 eck$LassoCheckResult]: Loop: 285#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [145] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 285#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [2022-07-22 12:04:08,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:08,743 INFO L85 PathProgramCache]: Analyzing trace with hash 1597522556, now seen corresponding path program 1 times [2022-07-22 12:04:08,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:08,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1291342641] [2022-07-22 12:04:08,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:08,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:09,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:09,002 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:09,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:09,119 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:09,122 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:09,122 INFO L85 PathProgramCache]: Analyzing trace with hash 176, now seen corresponding path program 1 times [2022-07-22 12:04:09,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:09,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [82396165] [2022-07-22 12:04:09,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:09,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:09,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:09,153 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:09,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:09,161 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:09,165 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:09,165 INFO L85 PathProgramCache]: Analyzing trace with hash -2016408171, now seen corresponding path program 1 times [2022-07-22 12:04:09,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:09,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [873119133] [2022-07-22 12:04:09,167 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:09,167 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:09,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:09,234 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:09,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:09,262 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:09,967 WARN L146 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:09,983 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-07-22 12:04:09,987 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 65 places, 66 transitions, 150 flow [2022-07-22 12:04:10,014 INFO L129 PetriNetUnfolder]: 14/133 cut-off events. [2022-07-22 12:04:10,015 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-07-22 12:04:10,016 INFO L84 FinitePrefix]: Finished finitePrefix Result has 147 conditions, 133 events. 14/133 cut-off events. For 6/6 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 215 event pairs, 0 based on Foata normal form. 0/116 useless extension candidates. Maximal degree in co-relation 81. Up to 8 conditions per place. [2022-07-22 12:04:10,016 INFO L82 GeneralOperation]: Start removeDead. Operand has 65 places, 66 transitions, 150 flow [2022-07-22 12:04:10,020 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 65 places, 66 transitions, 150 flow [2022-07-22 12:04:10,020 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:10,020 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:10,021 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:10,021 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:10,021 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:10,021 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:10,021 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:10,021 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:10,022 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:10,171 INFO L131 ngComponentsAnalysis]: Automaton has 36 accepting balls. 36 [2022-07-22 12:04:10,171 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:10,171 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:10,176 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:10,176 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:10,176 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:10,176 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 1194 states, but on-demand construction may add more states [2022-07-22 12:04:10,203 INFO L131 ngComponentsAnalysis]: Automaton has 36 accepting balls. 36 [2022-07-22 12:04:10,205 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:10,205 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:10,208 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:10,209 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:10,212 INFO L748 eck$LassoCheckResult]: Stem: 68#[ULTIMATE.startENTRY]don't care [190] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 71#[L-1]don't care [180] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 73#[L-1-1]don't care [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 75#[L-1-2]don't care [198] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 77#[L16]don't care [179] L16-->L16-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[] 79#[L16-1]don't care [148] L16-1-->L16-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[] 81#[L16-2]don't care [202] L16-2-->L16-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[] 83#[L16-3]don't care [184] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 85#[L16-4]don't care [187] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 87#[L16-5]don't care [177] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 89#[L-1-3]don't care [199] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 91#[L-1-4]don't care [182] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 93#[L-1-5]don't care [161] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 95#[L-1-6]don't care [181] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 97#[L-1-7]don't care [158] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 99#[L718]don't care [166] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 101#[L718-1]don't care [203] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 103#[L719]don't care [150] L719-->L719-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 105#[L719-1]don't care [188] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 107#[L722]don't care [200] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 109#[L723-5]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 113#[L724]don't care [165] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 119#[L724-1]don't care [191] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 125#[L724-2]don't care [157] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 131#[L724-3]don't care [217] L724-3-->threadENTRY: Formula: (and (= v_threadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_ULTIMATE.start_main_~i~0#1_14| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_14|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_6, threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_4|, threadThread1of2ForFork0_thidvar0=v_threadThread1of2ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_14|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_4|, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_6, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_4|, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_4|, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_thidvar0, threadThread1of2ForFork0_#res.offset, threadThread1of2ForFork0_~arg.offset, threadThread1of2ForFork0_#in~arg.base, threadThread1of2ForFork0_#in~arg.offset, threadThread1of2ForFork0_~thread~0] 137#[threadENTRY, L724-4]don't care [201] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 141#[L724-5, threadENTRY]don't care [155] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 147#[L723-2, threadENTRY]don't care [183] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 155#[L723-3, threadENTRY]don't care [162] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 165#[L723-4, threadENTRY]don't care [178] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 177#[threadENTRY, L723-5]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 191#[L724, threadENTRY]don't care [165] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 209#[threadENTRY, L724-1]don't care [191] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 233#[L724-2, threadENTRY]don't care [157] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 261#[threadENTRY, L724-3]don't care [218] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of2ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_16| |v_threadThread2of2ForFork0_#in~arg.offset_4|) (= v_threadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_16|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{threadThread2of2ForFork0_#in~arg.base=|v_threadThread2of2ForFork0_#in~arg.base_4|, threadThread2of2ForFork0_~arg.offset=v_threadThread2of2ForFork0_~arg.offset_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_16|, threadThread2of2ForFork0_#res.offset=|v_threadThread2of2ForFork0_#res.offset_4|, threadThread2of2ForFork0_~arg.base=v_threadThread2of2ForFork0_~arg.base_6, threadThread2of2ForFork0_thidvar0=v_threadThread2of2ForFork0_thidvar0_2, threadThread2of2ForFork0_#in~arg.offset=|v_threadThread2of2ForFork0_#in~arg.offset_4|, threadThread2of2ForFork0_~thread~0=v_threadThread2of2ForFork0_~thread~0_6, threadThread2of2ForFork0_#res.base=|v_threadThread2of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[threadThread2of2ForFork0_#in~arg.base, threadThread2of2ForFork0_~arg.offset, threadThread2of2ForFork0_#res.offset, threadThread2of2ForFork0_~arg.base, threadThread2of2ForFork0_thidvar0, threadThread2of2ForFork0_#in~arg.offset, threadThread2of2ForFork0_~thread~0, threadThread2of2ForFork0_#res.base] 293#[threadENTRY, threadENTRY, L724-4]don't care [201] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 329#[threadENTRY, threadENTRY, L724-5]don't care [155] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 369#[threadENTRY, threadENTRY, L723-2]don't care [183] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 411#[threadENTRY, threadENTRY, L723-3]don't care [162] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 459#[threadENTRY, L723-4, threadENTRY]don't care [178] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 515#[threadENTRY, threadENTRY, L723-5]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 581#[threadENTRY, threadENTRY, L724]don't care [165] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 659#[threadENTRY, threadENTRY, L724-1]don't care [191] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 751#[threadENTRY, threadENTRY, L724-2]don't care [157] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 859#[threadENTRY, threadENTRY, L724-3]don't care [215] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 983#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-22 12:04:10,212 INFO L750 eck$LassoCheckResult]: Loop: 983#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [216] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 983#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-22 12:04:10,213 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:10,213 INFO L85 PathProgramCache]: Analyzing trace with hash 643971283, now seen corresponding path program 1 times [2022-07-22 12:04:10,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:10,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117720590] [2022-07-22 12:04:10,214 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:10,215 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:10,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:10,250 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:10,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:10,285 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:10,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:10,286 INFO L85 PathProgramCache]: Analyzing trace with hash 247, now seen corresponding path program 1 times [2022-07-22 12:04:10,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:10,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1997710618] [2022-07-22 12:04:10,286 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:10,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:10,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:10,294 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:10,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:10,297 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:10,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:10,298 INFO L85 PathProgramCache]: Analyzing trace with hash -1511726491, now seen corresponding path program 1 times [2022-07-22 12:04:10,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:10,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1856799785] [2022-07-22 12:04:10,299 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:10,300 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:10,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:10,336 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:10,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:10,392 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:11,313 WARN L146 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:11,327 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-07-22 12:04:11,332 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 73 places, 73 transitions, 176 flow [2022-07-22 12:04:11,373 INFO L129 PetriNetUnfolder]: 25/219 cut-off events. [2022-07-22 12:04:11,374 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-07-22 12:04:11,375 INFO L84 FinitePrefix]: Finished finitePrefix Result has 247 conditions, 219 events. 25/219 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 7. Compared 476 event pairs, 1 based on Foata normal form. 0/191 useless extension candidates. Maximal degree in co-relation 140. Up to 16 conditions per place. [2022-07-22 12:04:11,375 INFO L82 GeneralOperation]: Start removeDead. Operand has 73 places, 73 transitions, 176 flow [2022-07-22 12:04:11,380 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 73 places, 73 transitions, 176 flow [2022-07-22 12:04:11,380 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:11,380 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:11,381 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:11,381 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:11,381 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:11,381 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:11,381 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:11,381 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:11,381 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:12,310 INFO L131 ngComponentsAnalysis]: Automaton has 216 accepting balls. 216 [2022-07-22 12:04:12,311 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:12,311 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:12,313 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:12,313 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:12,313 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:12,314 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 7794 states, but on-demand construction may add more states [2022-07-22 12:04:12,470 INFO L131 ngComponentsAnalysis]: Automaton has 216 accepting balls. 216 [2022-07-22 12:04:12,470 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:12,470 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:12,523 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:12,523 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:12,528 INFO L748 eck$LassoCheckResult]: Stem: 76#[ULTIMATE.startENTRY]don't care [263] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 79#[L-1]don't care [253] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 81#[L-1-1]don't care [270] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 83#[L-1-2]don't care [271] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 85#[L16]don't care [252] L16-->L16-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[] 87#[L16-1]don't care [221] L16-1-->L16-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[] 89#[L16-2]don't care [275] L16-2-->L16-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[] 91#[L16-3]don't care [257] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 93#[L16-4]don't care [260] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 95#[L16-5]don't care [250] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 97#[L-1-3]don't care [272] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 99#[L-1-4]don't care [255] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 101#[L-1-5]don't care [234] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 103#[L-1-6]don't care [254] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 105#[L-1-7]don't care [231] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 107#[L718]don't care [239] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 109#[L718-1]don't care [276] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 111#[L719]don't care [223] L719-->L719-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 113#[L719-1]don't care [261] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 115#[L722]don't care [273] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 117#[L723-5]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 121#[L724]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 127#[L724-1]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 133#[L724-2]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 139#[L724-3]don't care [295] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_22| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_22|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_22|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_4|, threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_4|, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_6, threadThread1of3ForFork0_thidvar0=v_threadThread1of3ForFork0_thidvar0_2, threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_4|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_6, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#in~arg.base, threadThread1of3ForFork0_#res.offset, threadThread1of3ForFork0_~thread~0, threadThread1of3ForFork0_thidvar0, threadThread1of3ForFork0_#in~arg.offset, threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] 145#[L724-4, threadENTRY]don't care [274] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 151#[L724-5, threadENTRY]don't care [228] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 159#[threadENTRY, L723-2]don't care [256] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 169#[L723-3, threadENTRY]don't care [235] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 181#[L723-4, threadENTRY]don't care [251] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 195#[L723-5, threadENTRY]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 209#[threadENTRY, L724]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 227#[L724-1, threadENTRY]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 249#[threadENTRY, L724-2]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 275#[L724-3, threadENTRY]don't care [296] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of3ForFork0_#in~arg.base_4| 0) (= v_threadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_24|) (= |v_ULTIMATE.start_main_~i~0#1_24| |v_threadThread2of3ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_24|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} OutVars{threadThread2of3ForFork0_thidvar0=v_threadThread2of3ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_24|, threadThread2of3ForFork0_#in~arg.offset=|v_threadThread2of3ForFork0_#in~arg.offset_4|, threadThread2of3ForFork0_~thread~0=v_threadThread2of3ForFork0_~thread~0_6, threadThread2of3ForFork0_#res.offset=|v_threadThread2of3ForFork0_#res.offset_4|, threadThread2of3ForFork0_#res.base=|v_threadThread2of3ForFork0_#res.base_4|, threadThread2of3ForFork0_#in~arg.base=|v_threadThread2of3ForFork0_#in~arg.base_4|, threadThread2of3ForFork0_~arg.offset=v_threadThread2of3ForFork0_~arg.offset_6, threadThread2of3ForFork0_~arg.base=v_threadThread2of3ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} AuxVars[] AssignedVars[threadThread2of3ForFork0_thidvar0, threadThread2of3ForFork0_#in~arg.offset, threadThread2of3ForFork0_~thread~0, threadThread2of3ForFork0_#res.offset, threadThread2of3ForFork0_#res.base, threadThread2of3ForFork0_#in~arg.base, threadThread2of3ForFork0_~arg.offset, threadThread2of3ForFork0_~arg.base] 305#[L724-4, threadENTRY, threadENTRY]don't care [274] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 337#[threadENTRY, threadENTRY, L724-5]don't care [228] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 373#[threadENTRY, threadENTRY, L723-2]don't care [256] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 413#[threadENTRY, threadENTRY, L723-3]don't care [235] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 461#[threadENTRY, threadENTRY, L723-4]don't care [251] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 517#[threadENTRY, threadENTRY, L723-5]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 585#[threadENTRY, L724, threadENTRY]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 665#[threadENTRY, threadENTRY, L724-1]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 759#[threadENTRY, L724-2, threadENTRY]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 867#[threadENTRY, threadENTRY, L724-3]don't care [297] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of3ForFork0_#in~arg.base_4| 0) (= v_threadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_26|) (= |v_ULTIMATE.start_main_~i~0#1_26| |v_threadThread3of3ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_26|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_26|, threadThread3of3ForFork0_~thread~0=v_threadThread3of3ForFork0_~thread~0_6, threadThread3of3ForFork0_#in~arg.offset=|v_threadThread3of3ForFork0_#in~arg.offset_4|, threadThread3of3ForFork0_#res.base=|v_threadThread3of3ForFork0_#res.base_4|, threadThread3of3ForFork0_~arg.offset=v_threadThread3of3ForFork0_~arg.offset_6, threadThread3of3ForFork0_thidvar0=v_threadThread3of3ForFork0_thidvar0_2, threadThread3of3ForFork0_#res.offset=|v_threadThread3of3ForFork0_#res.offset_4|, threadThread3of3ForFork0_#in~arg.base=|v_threadThread3of3ForFork0_#in~arg.base_4|, threadThread3of3ForFork0_~arg.base=v_threadThread3of3ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} AuxVars[] AssignedVars[threadThread3of3ForFork0_~thread~0, threadThread3of3ForFork0_#in~arg.offset, threadThread3of3ForFork0_#res.base, threadThread3of3ForFork0_~arg.offset, threadThread3of3ForFork0_thidvar0, threadThread3of3ForFork0_#res.offset, threadThread3of3ForFork0_#in~arg.base, threadThread3of3ForFork0_~arg.base] 991#[threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [274] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1133#[L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [228] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1299#[L723-2, threadENTRY, threadENTRY, threadENTRY]don't care [256] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1489#[threadENTRY, threadENTRY, threadENTRY, L723-3]don't care [235] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1707#[L723-4, threadENTRY, threadENTRY, threadENTRY]don't care [251] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1955#[L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2243#[L724, threadENTRY, threadENTRY, threadENTRY]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2577#[threadENTRY, threadENTRY, threadENTRY, L724-1]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2967#[L724-2, threadENTRY, threadENTRY, threadENTRY]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 3423#[L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [293] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3957#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-22 12:04:12,529 INFO L750 eck$LassoCheckResult]: Loop: 3957#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [294] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3957#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-22 12:04:12,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:12,529 INFO L85 PathProgramCache]: Analyzing trace with hash 822884060, now seen corresponding path program 1 times [2022-07-22 12:04:12,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:12,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1109772897] [2022-07-22 12:04:12,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:12,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:12,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:12,587 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:12,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:12,618 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:12,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:12,619 INFO L85 PathProgramCache]: Analyzing trace with hash 325, now seen corresponding path program 1 times [2022-07-22 12:04:12,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:12,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [195660955] [2022-07-22 12:04:12,620 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:12,620 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:12,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:12,625 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:12,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:12,629 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:12,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:12,630 INFO L85 PathProgramCache]: Analyzing trace with hash -260397622, now seen corresponding path program 1 times [2022-07-22 12:04:12,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:12,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2143641536] [2022-07-22 12:04:12,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:12,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:12,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:12,659 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:12,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:12,700 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:14,177 WARN L146 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:14,194 INFO L144 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-07-22 12:04:14,201 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 81 places, 80 transitions, 204 flow [2022-07-22 12:04:14,252 INFO L129 PetriNetUnfolder]: 48/373 cut-off events. [2022-07-22 12:04:14,253 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-07-22 12:04:14,254 INFO L84 FinitePrefix]: Finished finitePrefix Result has 428 conditions, 373 events. 48/373 cut-off events. For 48/48 co-relation queries the response was YES. Maximal size of possible extension queue 10. Compared 1134 event pairs, 6 based on Foata normal form. 0/326 useless extension candidates. Maximal degree in co-relation 238. Up to 32 conditions per place. [2022-07-22 12:04:14,255 INFO L82 GeneralOperation]: Start removeDead. Operand has 81 places, 80 transitions, 204 flow [2022-07-22 12:04:14,261 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 81 places, 80 transitions, 204 flow [2022-07-22 12:04:14,265 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:14,265 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:14,265 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:14,265 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:14,265 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:14,266 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:14,266 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:14,266 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:14,266 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:20,428 INFO L131 ngComponentsAnalysis]: Automaton has 1296 accepting balls. 1296 [2022-07-22 12:04:20,429 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:20,429 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:20,431 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:20,431 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:20,432 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:20,432 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 51510 states, but on-demand construction may add more states [2022-07-22 12:04:21,860 INFO L131 ngComponentsAnalysis]: Automaton has 1296 accepting balls. 1296 [2022-07-22 12:04:21,861 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:21,861 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:21,862 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:21,862 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:21,864 INFO L748 eck$LassoCheckResult]: Stem: 84#[ULTIMATE.startENTRY]don't care [343] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 87#[L-1]don't care [333] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 89#[L-1-1]don't care [350] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 91#[L-1-2]don't care [351] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 93#[L16]don't care [332] L16-->L16-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[] 95#[L16-1]don't care [301] L16-1-->L16-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[] 97#[L16-2]don't care [355] L16-2-->L16-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[] 99#[L16-3]don't care [337] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 101#[L16-4]don't care [340] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 103#[L16-5]don't care [330] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 105#[L-1-3]don't care [352] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 107#[L-1-4]don't care [335] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 109#[L-1-5]don't care [314] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 111#[L-1-6]don't care [334] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 113#[L-1-7]don't care [311] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 115#[L718]don't care [319] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 117#[L718-1]don't care [356] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 119#[L719]don't care [303] L719-->L719-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 121#[L719-1]don't care [341] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 123#[L722]don't care [353] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 125#[L723-5]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 129#[L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 135#[L724-1]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 141#[L724-2]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 147#[L724-3]don't care [380] L724-3-->threadENTRY: Formula: (and (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_36|) (= |v_ULTIMATE.start_main_~i~0#1_33| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_33|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_36|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_33|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_36|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] 153#[threadENTRY, L724-4]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 157#[threadENTRY, L724-5]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 163#[threadENTRY, L723-2]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 171#[threadENTRY, L723-3]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 183#[L723-4, threadENTRY]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 197#[L723-5, threadENTRY]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 213#[threadENTRY, L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 233#[threadENTRY, L724-1]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 257#[threadENTRY, L724-2]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 283#[threadENTRY, L724-3]don't care [381] L724-3-->threadENTRY: Formula: (and (= v_threadThread2of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_38|) (= 0 |v_threadThread2of4ForFork0_#in~arg.base_4|) (= |v_ULTIMATE.start_main_~i~0#1_35| |v_threadThread2of4ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_35|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_38|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_35|, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_4|, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_6, threadThread2of4ForFork0_thidvar0=v_threadThread2of4ForFork0_thidvar0_2, threadThread2of4ForFork0_#res.base=|v_threadThread2of4ForFork0_#res.base_4|, threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_4|, threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_6, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_6, threadThread2of4ForFork0_#res.offset=|v_threadThread2of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_38|} AuxVars[] AssignedVars[threadThread2of4ForFork0_#in~arg.offset, threadThread2of4ForFork0_~arg.offset, threadThread2of4ForFork0_thidvar0, threadThread2of4ForFork0_#res.base, threadThread2of4ForFork0_#in~arg.base, threadThread2of4ForFork0_~arg.base, threadThread2of4ForFork0_~thread~0, threadThread2of4ForFork0_#res.offset] 313#[threadENTRY, threadENTRY, L724-4]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 347#[threadENTRY, threadENTRY, L724-5]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 385#[threadENTRY, L723-2, threadENTRY]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 427#[threadENTRY, threadENTRY, L723-3]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 475#[threadENTRY, threadENTRY, L723-4]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 531#[threadENTRY, threadENTRY, L723-5]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 597#[threadENTRY, threadENTRY, L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 675#[threadENTRY, threadENTRY, L724-1]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 767#[threadENTRY, threadENTRY, L724-2]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 875#[threadENTRY, threadENTRY, L724-3]don't care [382] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_37| |v_threadThread3of4ForFork0_#in~arg.offset_4|) (= v_threadThread3of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_40|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_37|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_40|} OutVars{threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_4|, threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_6, threadThread3of4ForFork0_thidvar0=v_threadThread3of4ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_37|, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_6, threadThread3of4ForFork0_#res.base=|v_threadThread3of4ForFork0_#res.base_4|, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_6, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_4|, threadThread3of4ForFork0_#res.offset=|v_threadThread3of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_40|} AuxVars[] AssignedVars[threadThread3of4ForFork0_#in~arg.offset, threadThread3of4ForFork0_~thread~0, threadThread3of4ForFork0_thidvar0, threadThread3of4ForFork0_~arg.offset, threadThread3of4ForFork0_#res.base, threadThread3of4ForFork0_~arg.base, threadThread3of4ForFork0_#in~arg.base, threadThread3of4ForFork0_#res.offset] 999#[threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1141#[threadENTRY, threadENTRY, threadENTRY, L724-5]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1307#[threadENTRY, threadENTRY, L723-2, threadENTRY]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1497#[threadENTRY, threadENTRY, L723-3, threadENTRY]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1715#[L723-4, threadENTRY, threadENTRY, threadENTRY]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1963#[threadENTRY, threadENTRY, threadENTRY, L723-5]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2251#[threadENTRY, threadENTRY, threadENTRY, L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2585#[threadENTRY, threadENTRY, L724-1, threadENTRY]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2975#[threadENTRY, L724-2, threadENTRY, threadENTRY]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 3431#[L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [383] L724-3-->threadENTRY: Formula: (and (= v_threadThread4of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_42|) (= |v_ULTIMATE.start_main_~i~0#1_39| |v_threadThread4of4ForFork0_#in~arg.offset_4|) (= |v_threadThread4of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_39|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_42|} OutVars{threadThread4of4ForFork0_#res.offset=|v_threadThread4of4ForFork0_#res.offset_4|, threadThread4of4ForFork0_~arg.base=v_threadThread4of4ForFork0_~arg.base_6, threadThread4of4ForFork0_~thread~0=v_threadThread4of4ForFork0_~thread~0_6, threadThread4of4ForFork0_#res.base=|v_threadThread4of4ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_39|, threadThread4of4ForFork0_#in~arg.base=|v_threadThread4of4ForFork0_#in~arg.base_4|, threadThread4of4ForFork0_~arg.offset=v_threadThread4of4ForFork0_~arg.offset_6, threadThread4of4ForFork0_thidvar0=v_threadThread4of4ForFork0_thidvar0_2, threadThread4of4ForFork0_#in~arg.offset=|v_threadThread4of4ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_42|} AuxVars[] AssignedVars[threadThread4of4ForFork0_#res.offset, threadThread4of4ForFork0_~arg.base, threadThread4of4ForFork0_~thread~0, threadThread4of4ForFork0_#res.base, threadThread4of4ForFork0_#in~arg.base, threadThread4of4ForFork0_~arg.offset, threadThread4of4ForFork0_thidvar0, threadThread4of4ForFork0_#in~arg.offset] 3965#[threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 4589#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 5317#[threadENTRY, threadENTRY, L723-2, threadENTRY, threadENTRY]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 6159#[threadENTRY, threadENTRY, L723-3, threadENTRY, threadENTRY]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 7129#[L723-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 8239#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 9515#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 10981#[threadENTRY, threadENTRY, L724-1, threadENTRY, threadENTRY]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 12669#[threadENTRY, threadENTRY, L724-2, threadENTRY, threadENTRY]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 14625#[threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [378] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16905#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-22 12:04:21,865 INFO L750 eck$LassoCheckResult]: Loop: 16905#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [379] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16905#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-22 12:04:21,865 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:21,866 INFO L85 PathProgramCache]: Analyzing trace with hash -628648073, now seen corresponding path program 1 times [2022-07-22 12:04:21,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:21,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [223890098] [2022-07-22 12:04:21,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:21,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:21,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:21,893 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:21,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:21,921 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:21,922 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:21,922 INFO L85 PathProgramCache]: Analyzing trace with hash 410, now seen corresponding path program 1 times [2022-07-22 12:04:21,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:21,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1386458277] [2022-07-22 12:04:21,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:21,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:21,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:21,927 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:21,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:21,930 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:21,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:21,931 INFO L85 PathProgramCache]: Analyzing trace with hash 1986746596, now seen corresponding path program 1 times [2022-07-22 12:04:21,931 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:21,931 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [421980865] [2022-07-22 12:04:21,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:21,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:21,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:21,955 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:21,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:21,983 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:23,716 WARN L146 chiAutomizerObserver]: 4 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:23,741 INFO L144 ThreadInstanceAdder]: Constructed 5 joinOtherThreadTransitions. [2022-07-22 12:04:23,744 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 89 places, 87 transitions, 234 flow [2022-07-22 12:04:23,834 INFO L129 PetriNetUnfolder]: 99/667 cut-off events. [2022-07-22 12:04:23,835 INFO L130 PetriNetUnfolder]: For 110/110 co-relation queries the response was YES. [2022-07-22 12:04:23,838 INFO L84 FinitePrefix]: Finished finitePrefix Result has 778 conditions, 667 events. 99/667 cut-off events. For 110/110 co-relation queries the response was YES. Maximal size of possible extension queue 17. Compared 2750 event pairs, 23 based on Foata normal form. 0/585 useless extension candidates. Maximal degree in co-relation 417. Up to 80 conditions per place. [2022-07-22 12:04:23,838 INFO L82 GeneralOperation]: Start removeDead. Operand has 89 places, 87 transitions, 234 flow [2022-07-22 12:04:23,909 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 89 places, 87 transitions, 234 flow [2022-07-22 12:04:23,910 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:23,910 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:23,910 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:23,910 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:23,910 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:23,912 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:23,912 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:23,912 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:23,912 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:05:10,201 INFO L131 ngComponentsAnalysis]: Automaton has 7776 accepting balls. 7776 [2022-07-22 12:05:10,201 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:05:10,201 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:05:10,205 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:05:10,206 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:05:10,206 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:05:10,206 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 342618 states, but on-demand construction may add more states [2022-07-22 12:05:21,119 INFO L131 ngComponentsAnalysis]: Automaton has 7776 accepting balls. 7776 [2022-07-22 12:05:21,120 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:05:21,120 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:05:21,124 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:05:21,124 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:05:21,127 INFO L748 eck$LassoCheckResult]: Stem: 92#[ULTIMATE.startENTRY]don't care [430] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 95#[L-1]don't care [420] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 97#[L-1-1]don't care [437] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 99#[L-1-2]don't care [438] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 101#[L16]don't care [419] L16-->L16-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[] 103#[L16-1]don't care [388] L16-1-->L16-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[] 105#[L16-2]don't care [442] L16-2-->L16-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[] 107#[L16-3]don't care [424] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 109#[L16-4]don't care [427] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 111#[L16-5]don't care [417] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 113#[L-1-3]don't care [439] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 115#[L-1-4]don't care [422] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 117#[L-1-5]don't care [401] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 119#[L-1-6]don't care [421] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 121#[L-1-7]don't care [398] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 123#[L718]don't care [406] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 125#[L718-1]don't care [443] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 127#[L719]don't care [390] L719-->L719-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 129#[L719-1]don't care [428] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 131#[L722]don't care [440] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 133#[L723-5]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 137#[L724]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 143#[L724-1]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 149#[L724-2]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 155#[L724-3]don't care [472] L724-3-->threadENTRY: Formula: (and (= v_threadThread1of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_54|) (= |v_threadThread1of5ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_47| |v_threadThread1of5ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_47|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_54|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_47|, threadThread1of5ForFork0_#res.offset=|v_threadThread1of5ForFork0_#res.offset_4|, threadThread1of5ForFork0_~arg.base=v_threadThread1of5ForFork0_~arg.base_6, threadThread1of5ForFork0_#in~arg.base=|v_threadThread1of5ForFork0_#in~arg.base_4|, threadThread1of5ForFork0_#res.base=|v_threadThread1of5ForFork0_#res.base_4|, threadThread1of5ForFork0_~arg.offset=v_threadThread1of5ForFork0_~arg.offset_6, threadThread1of5ForFork0_~thread~0=v_threadThread1of5ForFork0_~thread~0_6, threadThread1of5ForFork0_thidvar0=v_threadThread1of5ForFork0_thidvar0_2, threadThread1of5ForFork0_#in~arg.offset=|v_threadThread1of5ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_54|} AuxVars[] AssignedVars[threadThread1of5ForFork0_#res.offset, threadThread1of5ForFork0_~arg.base, threadThread1of5ForFork0_#in~arg.base, threadThread1of5ForFork0_#res.base, threadThread1of5ForFork0_~arg.offset, threadThread1of5ForFork0_~thread~0, threadThread1of5ForFork0_thidvar0, threadThread1of5ForFork0_#in~arg.offset] 161#[threadENTRY, L724-4]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 165#[threadENTRY, L724-5]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 171#[threadENTRY, L723-2]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 179#[threadENTRY, L723-3]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 189#[threadENTRY, L723-4]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 201#[threadENTRY, L723-5]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 215#[threadENTRY, L724]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 233#[threadENTRY, L724-1]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 257#[threadENTRY, L724-2]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 285#[threadENTRY, L724-3]don't care [473] L724-3-->threadENTRY: Formula: (and (= 0 |v_threadThread2of5ForFork0_#in~arg.base_4|) (= v_threadThread2of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_56|) (= |v_ULTIMATE.start_main_~i~0#1_49| |v_threadThread2of5ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_49|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_56|} OutVars{threadThread2of5ForFork0_~thread~0=v_threadThread2of5ForFork0_~thread~0_6, threadThread2of5ForFork0_#in~arg.offset=|v_threadThread2of5ForFork0_#in~arg.offset_4|, threadThread2of5ForFork0_#res.offset=|v_threadThread2of5ForFork0_#res.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_49|, threadThread2of5ForFork0_~arg.base=v_threadThread2of5ForFork0_~arg.base_6, threadThread2of5ForFork0_#in~arg.base=|v_threadThread2of5ForFork0_#in~arg.base_4|, threadThread2of5ForFork0_thidvar0=v_threadThread2of5ForFork0_thidvar0_2, threadThread2of5ForFork0_#res.base=|v_threadThread2of5ForFork0_#res.base_4|, threadThread2of5ForFork0_~arg.offset=v_threadThread2of5ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_56|} AuxVars[] AssignedVars[threadThread2of5ForFork0_~thread~0, threadThread2of5ForFork0_#in~arg.offset, threadThread2of5ForFork0_#res.offset, threadThread2of5ForFork0_~arg.base, threadThread2of5ForFork0_#in~arg.base, threadThread2of5ForFork0_thidvar0, threadThread2of5ForFork0_#res.base, threadThread2of5ForFork0_~arg.offset] 317#[threadENTRY, threadENTRY, L724-4]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 353#[L724-5, threadENTRY, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 393#[L723-2, threadENTRY, threadENTRY]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 435#[threadENTRY, L723-3, threadENTRY]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 483#[threadENTRY, L723-4, threadENTRY]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 539#[threadENTRY, threadENTRY, L723-5]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 605#[threadENTRY, threadENTRY, L724]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 683#[L724-1, threadENTRY, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 775#[threadENTRY, threadENTRY, L724-2]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 883#[threadENTRY, threadENTRY, L724-3]don't care [474] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_51| |v_threadThread3of5ForFork0_#in~arg.offset_4|) (= |v_threadThread3of5ForFork0_#in~arg.base_4| 0) (= v_threadThread3of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_58|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_51|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_58|} OutVars{threadThread3of5ForFork0_~arg.base=v_threadThread3of5ForFork0_~arg.base_6, threadThread3of5ForFork0_#res.offset=|v_threadThread3of5ForFork0_#res.offset_4|, threadThread3of5ForFork0_~arg.offset=v_threadThread3of5ForFork0_~arg.offset_6, threadThread3of5ForFork0_~thread~0=v_threadThread3of5ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_51|, threadThread3of5ForFork0_thidvar0=v_threadThread3of5ForFork0_thidvar0_2, threadThread3of5ForFork0_#in~arg.base=|v_threadThread3of5ForFork0_#in~arg.base_4|, threadThread3of5ForFork0_#in~arg.offset=|v_threadThread3of5ForFork0_#in~arg.offset_4|, threadThread3of5ForFork0_#res.base=|v_threadThread3of5ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_58|} AuxVars[] AssignedVars[threadThread3of5ForFork0_~arg.base, threadThread3of5ForFork0_#res.offset, threadThread3of5ForFork0_~arg.offset, threadThread3of5ForFork0_~thread~0, threadThread3of5ForFork0_thidvar0, threadThread3of5ForFork0_#in~arg.base, threadThread3of5ForFork0_#in~arg.offset, threadThread3of5ForFork0_#res.base] 1007#[threadENTRY, L724-4, threadENTRY, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1151#[threadENTRY, threadENTRY, L724-5, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1319#[L723-2, threadENTRY, threadENTRY, threadENTRY]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1511#[L723-3, threadENTRY, threadENTRY, threadENTRY]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1729#[threadENTRY, threadENTRY, threadENTRY, L723-4]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1977#[threadENTRY, threadENTRY, threadENTRY, L723-5]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2263#[threadENTRY, threadENTRY, L724, threadENTRY]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2595#[threadENTRY, L724-1, threadENTRY, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2983#[threadENTRY, L724-2, threadENTRY, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 3439#[threadENTRY, threadENTRY, L724-3, threadENTRY]don't care [475] L724-3-->threadENTRY: Formula: (and (= v_threadThread4of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_60|) (= |v_ULTIMATE.start_main_~i~0#1_53| |v_threadThread4of5ForFork0_#in~arg.offset_4|) (= |v_threadThread4of5ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_53|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_60|} OutVars{threadThread4of5ForFork0_#in~arg.base=|v_threadThread4of5ForFork0_#in~arg.base_4|, threadThread4of5ForFork0_thidvar0=v_threadThread4of5ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_53|, threadThread4of5ForFork0_~arg.base=v_threadThread4of5ForFork0_~arg.base_6, threadThread4of5ForFork0_#res.offset=|v_threadThread4of5ForFork0_#res.offset_4|, threadThread4of5ForFork0_#in~arg.offset=|v_threadThread4of5ForFork0_#in~arg.offset_4|, threadThread4of5ForFork0_~thread~0=v_threadThread4of5ForFork0_~thread~0_6, threadThread4of5ForFork0_~arg.offset=v_threadThread4of5ForFork0_~arg.offset_6, threadThread4of5ForFork0_#res.base=|v_threadThread4of5ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_60|} AuxVars[] AssignedVars[threadThread4of5ForFork0_#in~arg.base, threadThread4of5ForFork0_thidvar0, threadThread4of5ForFork0_~arg.base, threadThread4of5ForFork0_#res.offset, threadThread4of5ForFork0_#in~arg.offset, threadThread4of5ForFork0_~thread~0, threadThread4of5ForFork0_~arg.offset, threadThread4of5ForFork0_#res.base] 3973#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 4599#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-5]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 5329#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-2]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 6173#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-3]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 7143#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-4]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 8253#[threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 9527#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 10991#[threadENTRY, threadENTRY, L724-1, threadENTRY, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 12677#[threadENTRY, threadENTRY, L724-2, threadENTRY, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 14633#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [476] L724-3-->threadENTRY: Formula: (and (= |v_threadThread5of5ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_55| |v_threadThread5of5ForFork0_#in~arg.offset_4|) (= v_threadThread5of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_62|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_55|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_62|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_55|, threadThread5of5ForFork0_#in~arg.base=|v_threadThread5of5ForFork0_#in~arg.base_4|, threadThread5of5ForFork0_#res.offset=|v_threadThread5of5ForFork0_#res.offset_4|, threadThread5of5ForFork0_thidvar0=v_threadThread5of5ForFork0_thidvar0_2, threadThread5of5ForFork0_~arg.base=v_threadThread5of5ForFork0_~arg.base_6, threadThread5of5ForFork0_~thread~0=v_threadThread5of5ForFork0_~thread~0_6, threadThread5of5ForFork0_#in~arg.offset=|v_threadThread5of5ForFork0_#in~arg.offset_4|, threadThread5of5ForFork0_#res.base=|v_threadThread5of5ForFork0_#res.base_4|, threadThread5of5ForFork0_~arg.offset=v_threadThread5of5ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_62|} AuxVars[] AssignedVars[threadThread5of5ForFork0_#in~arg.base, threadThread5of5ForFork0_#res.offset, threadThread5of5ForFork0_thidvar0, threadThread5of5ForFork0_~arg.base, threadThread5of5ForFork0_~thread~0, threadThread5of5ForFork0_#in~arg.offset, threadThread5of5ForFork0_#res.base, threadThread5of5ForFork0_~arg.offset] 16913#[threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 19581#[threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 22705#[threadENTRY, L723-2, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 26351#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-3]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 30589#[threadENTRY, L723-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 35489#[threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 41139#[threadENTRY, L724, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 47633#[threadENTRY, L724-1, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 55093#[threadENTRY, L724-2, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 63679#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [470] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 73597#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-22 12:05:21,127 INFO L750 eck$LassoCheckResult]: Loop: 73597#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [471] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 73597#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-22 12:05:21,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:05:21,128 INFO L85 PathProgramCache]: Analyzing trace with hash -905030268, now seen corresponding path program 1 times [2022-07-22 12:05:21,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:05:21,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2117286948] [2022-07-22 12:05:21,129 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:05:21,129 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:05:21,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:21,188 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:05:21,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:21,255 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:05:21,255 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:05:21,255 INFO L85 PathProgramCache]: Analyzing trace with hash 502, now seen corresponding path program 1 times [2022-07-22 12:05:21,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:05:21,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1938031377] [2022-07-22 12:05:21,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:05:21,256 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:05:21,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:21,261 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:05:21,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:21,264 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:05:21,265 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:05:21,265 INFO L85 PathProgramCache]: Analyzing trace with hash 2008833235, now seen corresponding path program 1 times [2022-07-22 12:05:21,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:05:21,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494621970] [2022-07-22 12:05:21,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:05:21,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:05:21,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:21,290 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:05:21,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:21,317 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:05:23,556 WARN L146 chiAutomizerObserver]: 5 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:05:23,573 INFO L144 ThreadInstanceAdder]: Constructed 6 joinOtherThreadTransitions. [2022-07-22 12:05:23,818 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 97 places, 94 transitions, 266 flow [2022-07-22 12:05:24,087 INFO L129 PetriNetUnfolder]: 214/1249 cut-off events. [2022-07-22 12:05:24,088 INFO L130 PetriNetUnfolder]: For 242/242 co-relation queries the response was YES. [2022-07-22 12:05:24,097 INFO L84 FinitePrefix]: Finished finitePrefix Result has 1481 conditions, 1249 events. 214/1249 cut-off events. For 242/242 co-relation queries the response was YES. Maximal size of possible extension queue 30. Compared 6690 event pairs, 72 based on Foata normal form. 0/1100 useless extension candidates. Maximal degree in co-relation 765. Up to 192 conditions per place. [2022-07-22 12:05:24,097 INFO L82 GeneralOperation]: Start removeDead. Operand has 97 places, 94 transitions, 266 flow [2022-07-22 12:05:24,131 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 97 places, 94 transitions, 266 flow [2022-07-22 12:05:24,133 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:05:24,133 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:05:24,133 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:05:24,133 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:05:24,134 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:05:24,134 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:05:24,134 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:05:24,134 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:05:24,134 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states Received shutdown request... [2022-07-22 12:07:20,365 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 [2022-07-22 12:07:20,367 WARN L321 stractBuchiCegarLoop]: Verification cancelled [2022-07-22 12:07:20,372 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 22.07 12:07:20 BoogieIcfgContainer [2022-07-22 12:07:20,372 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2022-07-22 12:07:20,376 INFO L158 Benchmark]: Toolchain (without parser) took 193434.54ms. Allocated memory was 161.5MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 134.3MB in the beginning and 3.9GB in the end (delta: -3.8GB). Peak memory consumption was 4.4GB. Max. memory is 8.0GB. [2022-07-22 12:07:20,385 INFO L158 Benchmark]: CDTParser took 0.24ms. Allocated memory is still 161.5MB. Free memory was 130.5MB in the beginning and 130.1MB in the end (delta: 440.5kB). There was no memory consumed. Max. memory is 8.0GB. [2022-07-22 12:07:20,388 INFO L158 Benchmark]: CACSL2BoogieTranslator took 699.21ms. Allocated memory is still 161.5MB. Free memory was 134.1MB in the beginning and 115.6MB in the end (delta: 18.4MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. [2022-07-22 12:07:20,391 INFO L158 Benchmark]: Boogie Procedure Inliner took 57.54ms. Allocated memory is still 161.5MB. Free memory was 115.4MB in the beginning and 113.7MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-07-22 12:07:20,391 INFO L158 Benchmark]: Boogie Preprocessor took 66.26ms. Allocated memory is still 161.5MB. Free memory was 113.7MB in the beginning and 112.3MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-07-22 12:07:20,396 INFO L158 Benchmark]: RCFGBuilder took 517.60ms. Allocated memory is still 161.5MB. Free memory was 112.3MB in the beginning and 139.7MB in the end (delta: -27.4MB). Peak memory consumption was 12.7MB. Max. memory is 8.0GB. [2022-07-22 12:07:20,406 INFO L158 Benchmark]: BuchiAutomizer took 192081.06ms. Allocated memory was 161.5MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 139.7MB in the beginning and 3.9GB in the end (delta: -3.8GB). Peak memory consumption was 4.4GB. Max. memory is 8.0GB. [2022-07-22 12:07:20,430 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.24ms. Allocated memory is still 161.5MB. Free memory was 130.5MB in the beginning and 130.1MB in the end (delta: 440.5kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 699.21ms. Allocated memory is still 161.5MB. Free memory was 134.1MB in the beginning and 115.6MB in the end (delta: 18.4MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 57.54ms. Allocated memory is still 161.5MB. Free memory was 115.4MB in the beginning and 113.7MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 66.26ms. Allocated memory is still 161.5MB. Free memory was 113.7MB in the beginning and 112.3MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 517.60ms. Allocated memory is still 161.5MB. Free memory was 112.3MB in the beginning and 139.7MB in the end (delta: -27.4MB). Peak memory consumption was 12.7MB. Max. memory is 8.0GB. * BuchiAutomizer took 192081.06ms. Allocated memory was 161.5MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 139.7MB in the beginning and 3.9GB in the end (delta: -3.8GB). Peak memory consumption was 4.4GB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Trivial decomposition into one module whose termination is unknown. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 117.2s and 5 iterations. TraceHistogramMax:6. Analysis of lassos took 8.2s. Construction of modules took 0.0s. Büchi inclusion checks took 0.0s. Highest rank in rank-based complementation 0. Minimization of det autom 0. Minimization of nondet autom 0. Automata minimization No data available. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [0, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: LassoAnalysisResults: nont5 unkn0 SFLI0 SFLT0 conc0 concLT0 SILN0 SILU0 SILI0 SILT0 lasso0 LassoPreprocessingBenchmarks: LassoTerminationAnalysisBenchmarks: not availableLassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.9s - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction) Buchi Automizer is unable to decide termination: Timeout while executing BuchiIsEmpty. RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown [2022-07-22 12:07:20,530 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Ended with exit code 0 !SESSION 2022-07-22 12:04:03.358 ----------------------------------------------- eclipse.buildId=unknown java.version=11.0.15 java.vendor=Eclipse Adoptium BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB Framework arguments: -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -s ../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-noLbe.epf -i ../../../trunk/examples/svcomp/pthread-deagle/floating_read-15.i Command-line arguments: -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -s ../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-noLbe.epf -i ../../../trunk/examples/svcomp/pthread-deagle/floating_read-15.i !ENTRY org.eclipse.osgi 4 0 2022-07-22 12:07:20.739 !MESSAGE Application error !STACK 1 org.eclipse.core.internal.resources.ResourceException(/)[568]: java.io.FileNotFoundException: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/904351ad0/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree (No such file or directory) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.(FileOutputStream.java:187) at org.eclipse.core.internal.localstore.SafeFileOutputStream.(SafeFileOutputStream.java:55) at org.eclipse.core.internal.resources.SaveManager.saveTree(SaveManager.java:1381) at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1168) at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2333) at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2322) at de.uni_freiburg.informatik.ultimate.core.coreplugin.UltimateCore.start(UltimateCore.java:191) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438) An error has occurred. See the log file /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/904351ad0/.metadata/.log.