/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-syntacticLbe.epf -i ../../../trunk/examples/svcomp/pthread-deagle/floating_read-20.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-0d686a6 [2022-07-26 14:21:35,227 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-26 14:21:35,229 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-26 14:21:35,281 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-26 14:21:35,282 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-26 14:21:35,283 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-26 14:21:35,286 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-26 14:21:35,291 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-26 14:21:35,292 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-26 14:21:35,296 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-26 14:21:35,297 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-26 14:21:35,299 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-26 14:21:35,299 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-26 14:21:35,301 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-26 14:21:35,302 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-26 14:21:35,304 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-26 14:21:35,305 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-26 14:21:35,305 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-26 14:21:35,308 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-26 14:21:35,312 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-26 14:21:35,314 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-26 14:21:35,315 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-26 14:21:35,315 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-26 14:21:35,316 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-26 14:21:35,318 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-26 14:21:35,322 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-26 14:21:35,322 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-26 14:21:35,323 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-26 14:21:35,323 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-26 14:21:35,324 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-26 14:21:35,325 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-26 14:21:35,325 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-26 14:21:35,326 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-26 14:21:35,327 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-26 14:21:35,328 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-26 14:21:35,328 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-26 14:21:35,328 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-26 14:21:35,329 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-26 14:21:35,329 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-26 14:21:35,330 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-26 14:21:35,330 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-26 14:21:35,332 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-26 14:21:35,333 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-syntacticLbe.epf [2022-07-26 14:21:35,362 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-26 14:21:35,363 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-26 14:21:35,363 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-26 14:21:35,363 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-26 14:21:35,364 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-26 14:21:35,364 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-26 14:21:35,364 INFO L138 SettingsManager]: * Use SBE=true [2022-07-26 14:21:35,365 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-26 14:21:35,365 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-26 14:21:35,365 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-26 14:21:35,366 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-26 14:21:35,366 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-26 14:21:35,366 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-26 14:21:35,366 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-26 14:21:35,367 INFO L138 SettingsManager]: * sizeof long=4 [2022-07-26 14:21:35,367 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-26 14:21:35,367 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * sizeof long double=12 [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-26 14:21:35,368 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-26 14:21:35,369 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-26 14:21:35,369 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-26 14:21:35,369 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-26 14:21:35,369 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-26 14:21:35,369 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-26 14:21:35,370 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-26 14:21:35,370 INFO L138 SettingsManager]: * Independence relation used for large block encoding in concurrent analysis=SYNTACTIC [2022-07-26 14:21:35,370 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-26 14:21:35,370 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-26 14:21:35,587 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-26 14:21:35,606 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-26 14:21:35,608 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-26 14:21:35,609 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-26 14:21:35,609 INFO L275 PluginConnector]: CDTParser initialized [2022-07-26 14:21:35,610 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/floating_read-20.i [2022-07-26 14:21:35,684 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a7991a7d/ca703495afc449a78421ed04ae69bd5a/FLAG9d496aedd [2022-07-26 14:21:36,156 INFO L306 CDTParser]: Found 1 translation units. [2022-07-26 14:21:36,157 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-20.i [2022-07-26 14:21:36,190 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a7991a7d/ca703495afc449a78421ed04ae69bd5a/FLAG9d496aedd [2022-07-26 14:21:36,520 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a7991a7d/ca703495afc449a78421ed04ae69bd5a [2022-07-26 14:21:36,522 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-26 14:21:36,524 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-07-26 14:21:36,528 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-26 14:21:36,529 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-26 14:21:36,532 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-26 14:21:36,532 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,533 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7488195 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36, skipping insertion in model container [2022-07-26 14:21:36,533 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,550 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-26 14:21:36,588 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-26 14:21:36,847 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-26 14:21:36,858 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-20.i[31197,31210] [2022-07-26 14:21:36,861 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-26 14:21:36,867 INFO L203 MainTranslator]: Completed pre-run [2022-07-26 14:21:36,906 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-26 14:21:36,908 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-20.i[31197,31210] [2022-07-26 14:21:36,909 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-26 14:21:36,936 INFO L208 MainTranslator]: Completed translation [2022-07-26 14:21:36,937 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36 WrapperNode [2022-07-26 14:21:36,937 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-26 14:21:36,938 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-26 14:21:36,938 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-26 14:21:36,938 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-26 14:21:36,944 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,960 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,975 INFO L137 Inliner]: procedures = 162, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-07-26 14:21:36,975 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-26 14:21:36,976 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-26 14:21:36,976 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-26 14:21:36,976 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-26 14:21:36,982 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,982 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,987 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,987 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,992 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,995 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,997 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:36,998 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-26 14:21:36,999 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-26 14:21:36,999 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-26 14:21:36,999 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-26 14:21:37,000 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (1/1) ... [2022-07-26 14:21:37,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-26 14:21:37,017 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-26 14:21:37,029 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-26 14:21:37,041 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-26 14:21:37,065 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-07-26 14:21:37,065 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-07-26 14:21:37,065 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-07-26 14:21:37,065 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-07-26 14:21:37,065 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-07-26 14:21:37,066 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-07-26 14:21:37,066 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-07-26 14:21:37,066 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2022-07-26 14:21:37,066 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2022-07-26 14:21:37,066 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-07-26 14:21:37,066 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-26 14:21:37,066 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-26 14:21:37,067 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-07-26 14:21:37,151 INFO L234 CfgBuilder]: Building ICFG [2022-07-26 14:21:37,152 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-26 14:21:37,308 INFO L275 CfgBuilder]: Performing block encoding [2022-07-26 14:21:37,312 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-26 14:21:37,313 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-07-26 14:21:37,314 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.07 02:21:37 BoogieIcfgContainer [2022-07-26 14:21:37,314 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-26 14:21:37,315 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-26 14:21:37,315 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-26 14:21:37,319 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-26 14:21:37,319 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-26 14:21:37,319 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 26.07 02:21:36" (1/3) ... [2022-07-26 14:21:37,320 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4c376451 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.07 02:21:37, skipping insertion in model container [2022-07-26 14:21:37,320 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-26 14:21:37,320 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 02:21:36" (2/3) ... [2022-07-26 14:21:37,320 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4c376451 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.07 02:21:37, skipping insertion in model container [2022-07-26 14:21:37,321 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-26 14:21:37,321 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.07 02:21:37" (3/3) ... [2022-07-26 14:21:37,322 INFO L322 chiAutomizerObserver]: Analyzing ICFG floating_read-20.i [2022-07-26 14:21:37,369 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-07-26 14:21:37,395 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 57 places, 59 transitions, 126 flow [2022-07-26 14:21:37,429 INFO L129 PetriNetUnfolder]: 8/80 cut-off events. [2022-07-26 14:21:37,429 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-07-26 14:21:37,432 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-26 14:21:37,432 INFO L82 GeneralOperation]: Start removeDead. Operand has 57 places, 59 transitions, 126 flow [2022-07-26 14:21:37,435 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 57 places, 59 transitions, 126 flow [2022-07-26 14:21:37,438 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:21:37,444 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 57 places, 59 transitions, 126 flow [2022-07-26 14:21:37,447 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 57 places, 59 transitions, 126 flow [2022-07-26 14:21:37,447 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 57 places, 59 transitions, 126 flow [2022-07-26 14:21:37,461 INFO L129 PetriNetUnfolder]: 8/80 cut-off events. [2022-07-26 14:21:37,461 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-07-26 14:21:37,462 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 97 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-26 14:21:37,463 INFO L116 LiptonReduction]: Number of co-enabled transitions 280 [2022-07-26 14:21:38,850 INFO L131 LiptonReduction]: Checked pairs total: 314 [2022-07-26 14:21:38,851 INFO L133 LiptonReduction]: Total number of compositions: 50 [2022-07-26 14:21:38,873 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:21:38,874 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:21:38,874 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:21:38,874 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:21:38,874 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:21:38,874 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:21:38,874 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:21:38,874 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:21:38,877 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:21:38,900 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2022-07-26 14:21:38,901 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:38,901 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:38,906 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 1, 1, 1, 1] [2022-07-26 14:21:38,906 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:38,907 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:21:38,907 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 20 states, but on-demand construction may add more states [2022-07-26 14:21:38,908 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2022-07-26 14:21:38,908 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:38,909 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:38,909 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 1, 1, 1, 1] [2022-07-26 14:21:38,909 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:38,913 INFO L733 eck$LassoCheckResult]: Stem: 60#[ULTIMATE.startENTRY]don't care [197] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_31| 1))) (and (= |v_ULTIMATE.start_#in~argv#1.base_8| |v_ULTIMATE.start_main_#in~argv#1.base_13|) (= |v_#valid_52| (store |v_#valid_53| |v_ULTIMATE.start_main_~#t~0#1.base_35| 1)) (= |v_ULTIMATE.start_#in~argc#1_8| |v_ULTIMATE.start_main_#in~argc#1_11|) (= |v_#NULL.base_10| 0) (= (select (select |v_#memory_int_31| 2) 0) 0) (= |v_ULTIMATE.start_main_~i~0#1_44| 1) (= (store |v_#length_40| |v_ULTIMATE.start_main_~#t~0#1.base_35| 84) |v_#length_39|) (= (select .cse0 1) 0) (= v_~x~0_30 0) (= (select |v_#valid_53| 2) 1) (= (select .cse0 0) 48) (= (select |v_#valid_53| |v_ULTIMATE.start_main_~#t~0#1.base_35|) 0) (< |v_#StackHeapBarrier_17| |v_ULTIMATE.start_main_~#t~0#1.base_35|) (= (select |v_#length_40| 2) 1) (= (select |v_#valid_53| 0) 0) (= |v_ULTIMATE.start_main_#in~argv#1.offset_13| |v_ULTIMATE.start_#in~argv#1.offset_8|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_31| 0) (= |v_ULTIMATE.start_main_#in~argv#1.offset_13| |v_ULTIMATE.start_main_~argv#1.offset_15|) (= |v_ULTIMATE.start_main_#in~argv#1.base_13| |v_ULTIMATE.start_main_~argv#1.base_15|) (< 0 |v_#StackHeapBarrier_17|) (= (select |v_#length_40| 1) 2) (= (select |v_#valid_53| 1) 1) (= |v_ULTIMATE.start_main_~argc#1_11| |v_ULTIMATE.start_main_#in~argc#1_11|) (= |v_#NULL.offset_10| 0))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_8|, #StackHeapBarrier=|v_#StackHeapBarrier_17|, #valid=|v_#valid_53|, #memory_int=|v_#memory_int_31|, #length=|v_#length_40|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_8|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_8|} OutVars{#NULL.offset=|v_#NULL.offset_10|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_15|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_15|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_8|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_44|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_11|, #length=|v_#length_39|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_21|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_8|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_18|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_8|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_35|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_11|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_19|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_40|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_22|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_13|, #NULL.base=|v_#NULL.base_10|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_25|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_13|, #StackHeapBarrier=|v_#StackHeapBarrier_17|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_15|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_31|, #valid=|v_#valid_52|, #memory_int=|v_#memory_int_31|, ~x~0=v_~x~0_30} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 63#[L723-5]don't care [185] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_32| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_23| .cse1))) (and (= |v_#memory_int_19| (store |v_#memory_int_20| |v_ULTIMATE.start_main_~#t~0#1.base_25| (store (select |v_#memory_int_20| |v_ULTIMATE.start_main_~#t~0#1.base_25|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_19|))) (= |v_#pthreadsForks_11| |v_ULTIMATE.start_main_#t~pre2#1_19|) (= (select |v_#valid_32| |v_ULTIMATE.start_main_~#t~0#1.base_25|) 1) (= |v_#pthreadsForks_10| (+ |v_#pthreadsForks_11| 1)) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_23| .cse1 4) (select |v_#length_25| |v_ULTIMATE.start_main_~#t~0#1.base_25|)) (<= |v_ULTIMATE.start_main_~i~0#1_32| 20) (<= 0 .cse0)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_32|, #pthreadsForks=|v_#pthreadsForks_11|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_23|, #valid=|v_#valid_32|, #memory_int=|v_#memory_int_20|, #length=|v_#length_25|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_25|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_32|, #pthreadsForks=|v_#pthreadsForks_10|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_23|, #valid=|v_#valid_32|, #memory_int=|v_#memory_int_19|, #length=|v_#length_25|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_19|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 67#[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] 73#[threadENTRY, L724-4]don't care [192] L724-4-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_36| (+ |v_ULTIMATE.start_main_~i~0#1_37| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_37|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_13|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_36|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_11|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_21|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~pre2#1] 75#[threadENTRY, L723-5]don't care [185] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_32| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_23| .cse1))) (and (= |v_#memory_int_19| (store |v_#memory_int_20| |v_ULTIMATE.start_main_~#t~0#1.base_25| (store (select |v_#memory_int_20| |v_ULTIMATE.start_main_~#t~0#1.base_25|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_19|))) (= |v_#pthreadsForks_11| |v_ULTIMATE.start_main_#t~pre2#1_19|) (= (select |v_#valid_32| |v_ULTIMATE.start_main_~#t~0#1.base_25|) 1) (= |v_#pthreadsForks_10| (+ |v_#pthreadsForks_11| 1)) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_23| .cse1 4) (select |v_#length_25| |v_ULTIMATE.start_main_~#t~0#1.base_25|)) (<= |v_ULTIMATE.start_main_~i~0#1_32| 20) (<= 0 .cse0)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_32|, #pthreadsForks=|v_#pthreadsForks_11|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_23|, #valid=|v_#valid_32|, #memory_int=|v_#memory_int_20|, #length=|v_#length_25|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_25|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_32|, #pthreadsForks=|v_#pthreadsForks_10|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_23|, #valid=|v_#valid_32|, #memory_int=|v_#memory_int_19|, #length=|v_#length_25|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_19|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 81#[threadENTRY, L724-3]don't care [144] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 91#[threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 14:21:38,914 INFO L735 eck$LassoCheckResult]: Loop: 91#[threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [145] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 91#[threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 14:21:38,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:38,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1887096902, now seen corresponding path program 1 times [2022-07-26 14:21:38,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:38,934 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [252685627] [2022-07-26 14:21:38,934 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:38,935 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:39,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:39,060 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:39,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:39,116 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:39,118 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:39,118 INFO L85 PathProgramCache]: Analyzing trace with hash 176, now seen corresponding path program 1 times [2022-07-26 14:21:39,118 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:39,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [479113313] [2022-07-26 14:21:39,119 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:39,119 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:39,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:39,126 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:39,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:39,130 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:39,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:39,131 INFO L85 PathProgramCache]: Analyzing trace with hash 1629538327, now seen corresponding path program 1 times [2022-07-26 14:21:39,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:39,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [292897213] [2022-07-26 14:21:39,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:39,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:39,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:39,156 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:39,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:39,187 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:39,686 WARN L146 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:21:39,696 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-07-26 14:21:39,700 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 65 places, 66 transitions, 150 flow [2022-07-26 14:21:39,719 INFO L129 PetriNetUnfolder]: 14/133 cut-off events. [2022-07-26 14:21:39,719 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-07-26 14:21:39,721 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-26 14:21:39,721 INFO L82 GeneralOperation]: Start removeDead. Operand has 65 places, 66 transitions, 150 flow [2022-07-26 14:21:39,723 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 65 places, 66 transitions, 150 flow [2022-07-26 14:21:39,723 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:21:39,723 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 65 places, 66 transitions, 150 flow [2022-07-26 14:21:39,724 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 65 places, 66 transitions, 150 flow [2022-07-26 14:21:39,724 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 65 places, 66 transitions, 150 flow [2022-07-26 14:21:39,742 INFO L129 PetriNetUnfolder]: 14/133 cut-off events. [2022-07-26 14:21:39,742 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-07-26 14:21:39,744 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 213 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-26 14:21:39,745 INFO L116 LiptonReduction]: Number of co-enabled transitions 720 [2022-07-26 14:21:41,093 INFO L131 LiptonReduction]: Checked pairs total: 960 [2022-07-26 14:21:41,094 INFO L133 LiptonReduction]: Total number of compositions: 52 [2022-07-26 14:21:41,095 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:21:41,095 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:21:41,095 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:21:41,095 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:21:41,095 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:21:41,095 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:21:41,096 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:21:41,096 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:21:41,096 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:21:41,124 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 4 [2022-07-26 14:21:41,124 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:41,124 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:41,125 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 2, 2, 1, 1, 1, 1] [2022-07-26 14:21:41,125 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:41,125 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:21:41,125 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 67 states, but on-demand construction may add more states [2022-07-26 14:21:41,133 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 4 [2022-07-26 14:21:41,133 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:41,133 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:41,133 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 2, 2, 1, 1, 1, 1] [2022-07-26 14:21:41,133 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:41,134 INFO L733 eck$LassoCheckResult]: Stem: 68#[ULTIMATE.startENTRY]don't care [322] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_54| 1))) (and (= |v_ULTIMATE.start_main_~i~0#1_80| 1) (= (select |v_#length_78| 2) 1) (= 1 (select |v_#valid_107| 1)) (= 2 (select |v_#length_78| 1)) (= |v_ULTIMATE.start_main_#in~argv#1.offset_28| |v_ULTIMATE.start_#in~argv#1.offset_17|) (= (store |v_#length_78| |v_ULTIMATE.start_main_~#t~0#1.base_68| 84) |v_#length_77|) (= v_~x~0_65 0) (= |v_ULTIMATE.start_#in~argc#1_17| |v_ULTIMATE.start_main_#in~argc#1_26|) (= |v_#NULL.base_19| 0) (= (select (select |v_#memory_int_54| 2) 0) 0) (= (select |v_#valid_107| 2) 1) (= (select |v_#valid_107| |v_ULTIMATE.start_main_~#t~0#1.base_68|) 0) (= |v_ULTIMATE.start_#in~argv#1.base_17| |v_ULTIMATE.start_main_#in~argv#1.base_28|) (= |v_ULTIMATE.start_main_#in~argv#1.base_28| |v_ULTIMATE.start_main_~argv#1.base_30|) (= 0 (select .cse0 1)) (= (select |v_#valid_107| 0) 0) (= (store |v_#valid_107| |v_ULTIMATE.start_main_~#t~0#1.base_68| 1) |v_#valid_106|) (= 48 (select .cse0 0)) (= |v_ULTIMATE.start_main_#in~argv#1.offset_28| |v_ULTIMATE.start_main_~argv#1.offset_30|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_58| 0) (< 0 |v_#StackHeapBarrier_36|) (< |v_#StackHeapBarrier_36| |v_ULTIMATE.start_main_~#t~0#1.base_68|) (= |v_#NULL.offset_19| 0) (= |v_ULTIMATE.start_main_~argc#1_24| |v_ULTIMATE.start_main_#in~argc#1_26|))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_17|, #StackHeapBarrier=|v_#StackHeapBarrier_36|, #valid=|v_#valid_107|, #memory_int=|v_#memory_int_54|, #length=|v_#length_78|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_17|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_17|} OutVars{#NULL.offset=|v_#NULL.offset_19|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_30|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_30|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_17|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_80|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_26|, #length=|v_#length_77|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_40|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_17|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_35|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_17|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_68|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_24|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_41|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_71|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_43|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_28|, #NULL.base=|v_#NULL.base_19|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_49|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_28|, #StackHeapBarrier=|v_#StackHeapBarrier_36|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_31|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_58|, #valid=|v_#valid_106|, #memory_int=|v_#memory_int_54|, ~x~0=v_~x~0_65} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 71#[L723-5]don't care [313] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_76| 4))) (let ((.cse0 (+ .cse1 |v_ULTIMATE.start_main_~#t~0#1.offset_50|))) (and (= (select |v_#valid_90| |v_ULTIMATE.start_main_~#t~0#1.base_56|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_76| 20) (= |v_#memory_int_48| (store |v_#memory_int_49| |v_ULTIMATE.start_main_~#t~0#1.base_56| (store (select |v_#memory_int_49| |v_ULTIMATE.start_main_~#t~0#1.base_56|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_45|))) (<= (+ .cse1 |v_ULTIMATE.start_main_~#t~0#1.offset_50| 4) (select |v_#length_69| |v_ULTIMATE.start_main_~#t~0#1.base_56|)) (<= 0 .cse0) (= |v_#pthreadsForks_26| |v_ULTIMATE.start_main_#t~pre2#1_45|) (= |v_#pthreadsForks_25| (+ |v_#pthreadsForks_26| 1))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_76|, #pthreadsForks=|v_#pthreadsForks_26|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_50|, #valid=|v_#valid_90|, #memory_int=|v_#memory_int_49|, #length=|v_#length_69|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_56|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_76|, #pthreadsForks=|v_#pthreadsForks_25|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_50|, #valid=|v_#valid_90|, #memory_int=|v_#memory_int_48|, #length=|v_#length_69|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_56|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_45|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 73#[L724-3]don't care [267] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_49| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0) (= v_threadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_32|)) 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_32|} 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_49|, 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_32|} 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] 77#[threadENTRY, L724-4]don't care [251] 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] 83#[threadENTRY, L724-5]don't care [304] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_68| (+ |v_ULTIMATE.start_main_~i~0#1_69| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_69|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_33|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_68|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_25|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 87#[threadENTRY, L723-5]don't care [313] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_76| 4))) (let ((.cse0 (+ .cse1 |v_ULTIMATE.start_main_~#t~0#1.offset_50|))) (and (= (select |v_#valid_90| |v_ULTIMATE.start_main_~#t~0#1.base_56|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_76| 20) (= |v_#memory_int_48| (store |v_#memory_int_49| |v_ULTIMATE.start_main_~#t~0#1.base_56| (store (select |v_#memory_int_49| |v_ULTIMATE.start_main_~#t~0#1.base_56|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_45|))) (<= (+ .cse1 |v_ULTIMATE.start_main_~#t~0#1.offset_50| 4) (select |v_#length_69| |v_ULTIMATE.start_main_~#t~0#1.base_56|)) (<= 0 .cse0) (= |v_#pthreadsForks_26| |v_ULTIMATE.start_main_#t~pre2#1_45|) (= |v_#pthreadsForks_25| (+ |v_#pthreadsForks_26| 1))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_76|, #pthreadsForks=|v_#pthreadsForks_26|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_50|, #valid=|v_#valid_90|, #memory_int=|v_#memory_int_49|, #length=|v_#length_69|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_56|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_76|, #pthreadsForks=|v_#pthreadsForks_25|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_50|, #valid=|v_#valid_90|, #memory_int=|v_#memory_int_48|, #length=|v_#length_69|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_56|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_45|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 91#[threadENTRY, L724-3]don't care [268] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_51| |v_threadThread2of2ForFork0_#in~arg.offset_4|) (= |v_threadThread2of2ForFork0_#in~arg.base_4| 0) (= v_threadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_34|)) 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_34|} 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_51|, 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_34|} 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] 97#[L724-4, threadENTRY, threadENTRY]don't care [251] 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] 109#[L724-5, threadENTRY, threadENTRY]don't care [304] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_68| (+ |v_ULTIMATE.start_main_~i~0#1_69| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_69|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_33|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_68|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_25|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 121#[L723-5, threadENTRY, threadENTRY]don't care [313] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_76| 4))) (let ((.cse0 (+ .cse1 |v_ULTIMATE.start_main_~#t~0#1.offset_50|))) (and (= (select |v_#valid_90| |v_ULTIMATE.start_main_~#t~0#1.base_56|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_76| 20) (= |v_#memory_int_48| (store |v_#memory_int_49| |v_ULTIMATE.start_main_~#t~0#1.base_56| (store (select |v_#memory_int_49| |v_ULTIMATE.start_main_~#t~0#1.base_56|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_45|))) (<= (+ .cse1 |v_ULTIMATE.start_main_~#t~0#1.offset_50| 4) (select |v_#length_69| |v_ULTIMATE.start_main_~#t~0#1.base_56|)) (<= 0 .cse0) (= |v_#pthreadsForks_26| |v_ULTIMATE.start_main_#t~pre2#1_45|) (= |v_#pthreadsForks_25| (+ |v_#pthreadsForks_26| 1))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_76|, #pthreadsForks=|v_#pthreadsForks_26|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_50|, #valid=|v_#valid_90|, #memory_int=|v_#memory_int_49|, #length=|v_#length_69|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_56|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_76|, #pthreadsForks=|v_#pthreadsForks_25|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_50|, #valid=|v_#valid_90|, #memory_int=|v_#memory_int_48|, #length=|v_#length_69|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_56|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_45|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 131#[L724-3, threadENTRY, threadENTRY]don't care [265] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 145#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 14:21:41,134 INFO L735 eck$LassoCheckResult]: Loop: 145#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [266] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 145#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 14:21:41,135 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:41,135 INFO L85 PathProgramCache]: Analyzing trace with hash 1896290208, now seen corresponding path program 1 times [2022-07-26 14:21:41,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:41,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707817362] [2022-07-26 14:21:41,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:41,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:41,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:41,181 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:41,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:41,216 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:41,217 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:41,217 INFO L85 PathProgramCache]: Analyzing trace with hash 297, now seen corresponding path program 1 times [2022-07-26 14:21:41,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:41,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [320304908] [2022-07-26 14:21:41,217 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:41,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:41,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:41,235 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:41,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:41,245 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:41,245 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:41,245 INFO L85 PathProgramCache]: Analyzing trace with hash -1344545430, now seen corresponding path program 1 times [2022-07-26 14:21:41,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:41,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1489252540] [2022-07-26 14:21:41,246 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:41,246 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:41,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:41,271 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:41,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:41,295 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:41,878 WARN L146 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:21:41,892 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-07-26 14:21:41,899 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 73 places, 73 transitions, 176 flow [2022-07-26 14:21:41,936 INFO L129 PetriNetUnfolder]: 25/219 cut-off events. [2022-07-26 14:21:41,937 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-07-26 14:21:41,937 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 475 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-26 14:21:41,938 INFO L82 GeneralOperation]: Start removeDead. Operand has 73 places, 73 transitions, 176 flow [2022-07-26 14:21:41,945 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 73 places, 73 transitions, 176 flow [2022-07-26 14:21:41,946 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:21:41,946 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 73 places, 73 transitions, 176 flow [2022-07-26 14:21:41,946 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 73 places, 73 transitions, 176 flow [2022-07-26 14:21:41,946 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 73 places, 73 transitions, 176 flow [2022-07-26 14:21:41,979 INFO L129 PetriNetUnfolder]: 25/219 cut-off events. [2022-07-26 14:21:41,980 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-07-26 14:21:41,981 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 6. Compared 485 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-26 14:21:41,985 INFO L116 LiptonReduction]: Number of co-enabled transitions 1200 [2022-07-26 14:21:43,317 INFO L131 LiptonReduction]: Checked pairs total: 1485 [2022-07-26 14:21:43,317 INFO L133 LiptonReduction]: Total number of compositions: 56 [2022-07-26 14:21:43,318 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:21:43,319 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:21:43,319 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:21:43,319 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:21:43,319 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:21:43,319 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:21:43,319 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:21:43,319 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:21:43,319 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:21:43,345 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 8 [2022-07-26 14:21:43,345 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:43,346 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:43,346 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 3, 3, 1, 1, 1, 1, 1] [2022-07-26 14:21:43,346 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:43,346 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:21:43,347 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 185 states, but on-demand construction may add more states [2022-07-26 14:21:43,351 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 8 [2022-07-26 14:21:43,352 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:43,352 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:43,352 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 3, 3, 1, 1, 1, 1, 1] [2022-07-26 14:21:43,352 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:43,353 INFO L733 eck$LassoCheckResult]: Stem: 76#[ULTIMATE.startENTRY]don't care [458] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_86| 1))) (and (= (select |v_#valid_161| 1) 1) (= |v_ULTIMATE.start_main_#in~argv#1.offset_41| |v_ULTIMATE.start_#in~argv#1.offset_24|) (= (select |v_#length_116| 2) 1) (= |v_#NULL.offset_26| 0) (= |v_ULTIMATE.start_main_~i~0#1_123| 1) (= (select |v_#valid_161| |v_ULTIMATE.start_main_~#t~0#1.base_103|) 0) (= v_~x~0_110 0) (< |v_#StackHeapBarrier_51| |v_ULTIMATE.start_main_~#t~0#1.base_103|) (= |v_ULTIMATE.start_#in~argc#1_24| |v_ULTIMATE.start_main_#in~argc#1_39|) (= |v_ULTIMATE.start_main_#in~argv#1.base_41| |v_ULTIMATE.start_main_~argv#1.base_45|) (= (select |v_#valid_161| 2) 1) (= (select |v_#valid_161| 0) 0) (= 48 (select .cse0 0)) (= (store |v_#length_116| |v_ULTIMATE.start_main_~#t~0#1.base_103| 84) |v_#length_115|) (= |v_ULTIMATE.start_main_~argc#1_39| |v_ULTIMATE.start_main_#in~argc#1_39|) (= |v_#NULL.base_26| 0) (= |v_#valid_160| (store |v_#valid_161| |v_ULTIMATE.start_main_~#t~0#1.base_103| 1)) (< 0 |v_#StackHeapBarrier_51|) (= |v_ULTIMATE.start_#in~argv#1.base_24| |v_ULTIMATE.start_main_#in~argv#1.base_41|) (= |v_ULTIMATE.start_main_#in~argv#1.offset_41| |v_ULTIMATE.start_main_~argv#1.offset_45|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_87| 0) (= (select (select |v_#memory_int_86| 2) 0) 0) (= 2 (select |v_#length_116| 1)) (= (select .cse0 1) 0))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_24|, #StackHeapBarrier=|v_#StackHeapBarrier_51|, #valid=|v_#valid_161|, #memory_int=|v_#memory_int_86|, #length=|v_#length_116|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_24|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_24|} OutVars{#NULL.offset=|v_#NULL.offset_26|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_45|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_45|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_24|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_123|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_39|, #length=|v_#length_115|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_57|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_24|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_54|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_24|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_103|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_39|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_64|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_106|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_66|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_41|, #NULL.base=|v_#NULL.base_26|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_77|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_41|, #StackHeapBarrier=|v_#StackHeapBarrier_51|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_48|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_87|, #valid=|v_#valid_160|, #memory_int=|v_#memory_int_86|, ~x~0=v_~x~0_110} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 79#[L723-5]don't care [443] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_107| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1))) (and (<= |v_ULTIMATE.start_main_~i~0#1_107| 20) (<= 0 .cse0) (= |v_#pthreadsForks_40| |v_ULTIMATE.start_main_#t~pre2#1_71|) (= |v_#pthreadsForks_39| (+ |v_#pthreadsForks_40| 1)) (= (select |v_#valid_134| |v_ULTIMATE.start_main_~#t~0#1.base_85|) 1) (= (store |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85| (store (select |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_71|)) |v_#memory_int_76|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1 4) (select |v_#length_97| |v_ULTIMATE.start_main_~#t~0#1.base_85|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_40|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_77|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_39|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_76|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_71|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 83#[L724-3]don't care [397] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_86| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_58|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_86|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_58|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_86|, 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_58|} 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] 89#[threadENTRY, L724-4]don't care [376] 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] 93#[threadENTRY, L724-5]don't care [438] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_103| (+ |v_ULTIMATE.start_main_~i~0#1_104| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_104|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_56|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_103|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_42|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 97#[threadENTRY, L723-5]don't care [443] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_107| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1))) (and (<= |v_ULTIMATE.start_main_~i~0#1_107| 20) (<= 0 .cse0) (= |v_#pthreadsForks_40| |v_ULTIMATE.start_main_#t~pre2#1_71|) (= |v_#pthreadsForks_39| (+ |v_#pthreadsForks_40| 1)) (= (select |v_#valid_134| |v_ULTIMATE.start_main_~#t~0#1.base_85|) 1) (= (store |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85| (store (select |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_71|)) |v_#memory_int_76|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1 4) (select |v_#length_97| |v_ULTIMATE.start_main_~#t~0#1.base_85|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_40|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_77|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_39|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_76|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_71|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 103#[threadENTRY, L724-3]don't care [398] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of3ForFork0_#in~arg.base_4| 0) (= v_threadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_60|) (= |v_ULTIMATE.start_main_~i~0#1_88| |v_threadThread2of3ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_88|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_60|} OutVars{threadThread2of3ForFork0_thidvar0=v_threadThread2of3ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_88|, 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_60|} 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] 113#[threadENTRY, threadENTRY, L724-4]don't care [376] 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] 123#[threadENTRY, L724-5, threadENTRY]don't care [438] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_103| (+ |v_ULTIMATE.start_main_~i~0#1_104| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_104|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_56|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_103|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_42|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 133#[threadENTRY, L723-5, threadENTRY]don't care [443] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_107| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1))) (and (<= |v_ULTIMATE.start_main_~i~0#1_107| 20) (<= 0 .cse0) (= |v_#pthreadsForks_40| |v_ULTIMATE.start_main_#t~pre2#1_71|) (= |v_#pthreadsForks_39| (+ |v_#pthreadsForks_40| 1)) (= (select |v_#valid_134| |v_ULTIMATE.start_main_~#t~0#1.base_85|) 1) (= (store |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85| (store (select |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_71|)) |v_#memory_int_76|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1 4) (select |v_#length_97| |v_ULTIMATE.start_main_~#t~0#1.base_85|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_40|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_77|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_39|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_76|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_71|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 145#[threadENTRY, L724-3, threadENTRY]don't care [399] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of3ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_90| |v_threadThread3of3ForFork0_#in~arg.offset_4|) (= v_threadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_62|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_90|, 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_90|, 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_62|} 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] 161#[threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [376] 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] 181#[L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [438] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_103| (+ |v_ULTIMATE.start_main_~i~0#1_104| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_104|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_56|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_103|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_42|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 203#[L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [443] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_107| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1))) (and (<= |v_ULTIMATE.start_main_~i~0#1_107| 20) (<= 0 .cse0) (= |v_#pthreadsForks_40| |v_ULTIMATE.start_main_#t~pre2#1_71|) (= |v_#pthreadsForks_39| (+ |v_#pthreadsForks_40| 1)) (= (select |v_#valid_134| |v_ULTIMATE.start_main_~#t~0#1.base_85|) 1) (= (store |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85| (store (select |v_#memory_int_77| |v_ULTIMATE.start_main_~#t~0#1.base_85|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_71|)) |v_#memory_int_76|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_73| .cse1 4) (select |v_#length_97| |v_ULTIMATE.start_main_~#t~0#1.base_85|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_40|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_77|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_107|, #pthreadsForks=|v_#pthreadsForks_39|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_73|, #valid=|v_#valid_134|, #memory_int=|v_#memory_int_76|, #length=|v_#length_97|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_85|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_71|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 229#[L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [395] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 261#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 14:21:43,353 INFO L735 eck$LassoCheckResult]: Loop: 261#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [396] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 261#[threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 14:21:43,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:43,354 INFO L85 PathProgramCache]: Analyzing trace with hash -922135252, now seen corresponding path program 1 times [2022-07-26 14:21:43,354 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:43,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [789602396] [2022-07-26 14:21:43,354 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:43,355 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:43,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:43,371 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:43,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:43,387 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:43,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:43,387 INFO L85 PathProgramCache]: Analyzing trace with hash 427, now seen corresponding path program 1 times [2022-07-26 14:21:43,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:43,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1063776774] [2022-07-26 14:21:43,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:43,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:43,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:43,392 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:43,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:43,394 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:43,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:43,395 INFO L85 PathProgramCache]: Analyzing trace with hash 1478578656, now seen corresponding path program 1 times [2022-07-26 14:21:43,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:43,395 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [488280728] [2022-07-26 14:21:43,395 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:43,395 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:43,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:43,410 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:43,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:43,428 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:44,217 WARN L146 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:21:44,230 INFO L144 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-07-26 14:21:44,237 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 81 places, 80 transitions, 204 flow [2022-07-26 14:21:44,269 INFO L129 PetriNetUnfolder]: 48/373 cut-off events. [2022-07-26 14:21:44,269 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-07-26 14:21:44,270 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 1130 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-26 14:21:44,273 INFO L82 GeneralOperation]: Start removeDead. Operand has 81 places, 80 transitions, 204 flow [2022-07-26 14:21:44,281 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 81 places, 80 transitions, 204 flow [2022-07-26 14:21:44,281 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:21:44,282 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 81 places, 80 transitions, 204 flow [2022-07-26 14:21:44,282 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 81 places, 80 transitions, 204 flow [2022-07-26 14:21:44,282 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 81 places, 80 transitions, 204 flow [2022-07-26 14:21:44,312 INFO L129 PetriNetUnfolder]: 48/373 cut-off events. [2022-07-26 14:21:44,314 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-07-26 14:21:44,315 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 9. Compared 1144 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-26 14:21:44,320 INFO L116 LiptonReduction]: Number of co-enabled transitions 1760 [2022-07-26 14:21:45,688 INFO L131 LiptonReduction]: Checked pairs total: 2683 [2022-07-26 14:21:45,688 INFO L133 LiptonReduction]: Total number of compositions: 60 [2022-07-26 14:21:45,689 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:21:45,689 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:21:45,689 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:21:45,689 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:21:45,690 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:21:45,690 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:21:45,690 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:21:45,690 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:21:45,690 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:21:45,754 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 16 [2022-07-26 14:21:45,755 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:45,755 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:45,755 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 4, 4, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:45,755 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:45,756 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:21:45,756 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 511 states, but on-demand construction may add more states [2022-07-26 14:21:45,765 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 16 [2022-07-26 14:21:45,765 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:45,765 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:45,766 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 4, 4, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:45,766 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:45,767 INFO L733 eck$LassoCheckResult]: Stem: 84#[ULTIMATE.startENTRY]don't care [605] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_117| 1))) (and (= 48 (select .cse0 0)) (= |v_ULTIMATE.start_main_#in~argv#1.base_58| |v_ULTIMATE.start_main_~argv#1.base_64|) (= (select |v_#valid_213| 2) 1) (= v_~x~0_153 0) (= |v_ULTIMATE.start_main_#in~argv#1.offset_58| |v_ULTIMATE.start_#in~argv#1.offset_37|) (= |v_#valid_212| (store |v_#valid_213| |v_ULTIMATE.start_main_~#t~0#1.base_140| 1)) (= |v_#NULL.base_35| 0) (= |v_ULTIMATE.start_main_~#t~0#1.offset_118| 0) (< |v_#StackHeapBarrier_68| |v_ULTIMATE.start_main_~#t~0#1.base_140|) (= |v_ULTIMATE.start_#in~argc#1_37| |v_ULTIMATE.start_main_#in~argc#1_56|) (= (select |v_#length_154| 2) 1) (= |v_ULTIMATE.start_main_~i~0#1_167| 1) (= 2 (select |v_#length_154| 1)) (= |v_ULTIMATE.start_#in~argv#1.base_37| |v_ULTIMATE.start_main_#in~argv#1.base_58|) (< 0 |v_#StackHeapBarrier_68|) (= (select (select |v_#memory_int_117| 2) 0) 0) (= (store |v_#length_154| |v_ULTIMATE.start_main_~#t~0#1.base_140| 84) |v_#length_153|) (= (select .cse0 1) 0) (= (select |v_#valid_213| 1) 1) (= (select |v_#valid_213| |v_ULTIMATE.start_main_~#t~0#1.base_140|) 0) (= (select |v_#valid_213| 0) 0) (= |v_ULTIMATE.start_main_~argc#1_58| |v_ULTIMATE.start_main_#in~argc#1_56|) (= |v_ULTIMATE.start_main_#in~argv#1.offset_58| |v_ULTIMATE.start_main_~argv#1.offset_64|) (= |v_#NULL.offset_35| 0))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_37|, #StackHeapBarrier=|v_#StackHeapBarrier_68|, #valid=|v_#valid_213|, #memory_int=|v_#memory_int_117|, #length=|v_#length_154|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_37|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_37|} OutVars{#NULL.offset=|v_#NULL.offset_35|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_64|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_64|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_37|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_167|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_56|, #length=|v_#length_153|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_76|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_37|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_77|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_37|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_140|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_58|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_90|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_141|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_91|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_58|, #NULL.base=|v_#NULL.base_35|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_111|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_58|, #StackHeapBarrier=|v_#StackHeapBarrier_68|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_68|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_118|, #valid=|v_#valid_212|, #memory_int=|v_#memory_int_117|, ~x~0=v_~x~0_153} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 87#[L723-5]don't care [599] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_159| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0))) (and (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0 4) (select |v_#length_143| |v_ULTIMATE.start_main_~#t~0#1.base_130|)) (<= 0 .cse1) (= (+ |v_#pthreadsForks_57| 1) |v_#pthreadsForks_56|) (= |v_ULTIMATE.start_main_#t~pre2#1_105| |v_#pthreadsForks_57|) (= (select |v_#valid_198| |v_ULTIMATE.start_main_~#t~0#1.base_130|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_159| 20) (= (store |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130| (store (select |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_105|)) |v_#memory_int_109|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_57|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_110|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_56|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_109|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_105|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 89#[L724-3]don't care [538] L724-3-->threadENTRY: Formula: (and (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_88|) (= |v_threadThread1of4ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_130|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_130|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_88|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_130|, 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_88|} 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] 93#[threadENTRY, L724-4]don't care [512] 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] 99#[threadENTRY, L724-5]don't care [583] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_151| (+ |v_ULTIMATE.start_main_~i~0#1_152| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_152|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_80|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_151|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_60|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 105#[threadENTRY, L723-5]don't care [599] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_159| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0))) (and (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0 4) (select |v_#length_143| |v_ULTIMATE.start_main_~#t~0#1.base_130|)) (<= 0 .cse1) (= (+ |v_#pthreadsForks_57| 1) |v_#pthreadsForks_56|) (= |v_ULTIMATE.start_main_#t~pre2#1_105| |v_#pthreadsForks_57|) (= (select |v_#valid_198| |v_ULTIMATE.start_main_~#t~0#1.base_130|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_159| 20) (= (store |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130| (store (select |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_105|)) |v_#memory_int_109|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_57|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_110|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_56|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_109|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_105|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 109#[threadENTRY, L724-3]don't care [539] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of4ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_132|) (= v_threadThread2of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_90|) (= 0 |v_threadThread2of4ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_132|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_90|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_132|, 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_90|} 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] 117#[L724-4, threadENTRY, threadENTRY]don't care [512] 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] 129#[L724-5, threadENTRY, threadENTRY]don't care [583] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_151| (+ |v_ULTIMATE.start_main_~i~0#1_152| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_152|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_80|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_151|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_60|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 141#[L723-5, threadENTRY, threadENTRY]don't care [599] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_159| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0))) (and (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0 4) (select |v_#length_143| |v_ULTIMATE.start_main_~#t~0#1.base_130|)) (<= 0 .cse1) (= (+ |v_#pthreadsForks_57| 1) |v_#pthreadsForks_56|) (= |v_ULTIMATE.start_main_#t~pre2#1_105| |v_#pthreadsForks_57|) (= (select |v_#valid_198| |v_ULTIMATE.start_main_~#t~0#1.base_130|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_159| 20) (= (store |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130| (store (select |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_105|)) |v_#memory_int_109|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_57|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_110|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_56|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_109|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_105|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 151#[L724-3, threadENTRY, threadENTRY]don't care [540] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_134| |v_threadThread3of4ForFork0_#in~arg.offset_4|) (= v_threadThread3of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_92|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_134|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_92|} 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_134|, 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_92|} 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] 165#[threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [512] 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] 187#[threadENTRY, L724-5, threadENTRY, threadENTRY]don't care [583] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_151| (+ |v_ULTIMATE.start_main_~i~0#1_152| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_152|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_80|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_151|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_60|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 209#[threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [599] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_159| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0))) (and (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0 4) (select |v_#length_143| |v_ULTIMATE.start_main_~#t~0#1.base_130|)) (<= 0 .cse1) (= (+ |v_#pthreadsForks_57| 1) |v_#pthreadsForks_56|) (= |v_ULTIMATE.start_main_#t~pre2#1_105| |v_#pthreadsForks_57|) (= (select |v_#valid_198| |v_ULTIMATE.start_main_~#t~0#1.base_130|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_159| 20) (= (store |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130| (store (select |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_105|)) |v_#memory_int_109|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_57|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_110|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_56|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_109|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_105|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 233#[threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [541] L724-3-->threadENTRY: Formula: (and (= |v_threadThread4of4ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_136|) (= v_threadThread4of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_94|) (= |v_threadThread4of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_136|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_94|} 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_136|, 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_94|} 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] 263#[threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY]don't care [512] 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] 305#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [583] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_151| (+ |v_ULTIMATE.start_main_~i~0#1_152| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_152|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_80|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_151|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_60|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 357#[threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [599] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_159| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0))) (and (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_110| .cse0 4) (select |v_#length_143| |v_ULTIMATE.start_main_~#t~0#1.base_130|)) (<= 0 .cse1) (= (+ |v_#pthreadsForks_57| 1) |v_#pthreadsForks_56|) (= |v_ULTIMATE.start_main_#t~pre2#1_105| |v_#pthreadsForks_57|) (= (select |v_#valid_198| |v_ULTIMATE.start_main_~#t~0#1.base_130|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_159| 20) (= (store |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130| (store (select |v_#memory_int_110| |v_ULTIMATE.start_main_~#t~0#1.base_130|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_105|)) |v_#memory_int_109|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_57|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_110|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_159|, #pthreadsForks=|v_#pthreadsForks_56|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_110|, #valid=|v_#valid_198|, #memory_int=|v_#memory_int_109|, #length=|v_#length_143|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_130|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_105|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 409#[threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY]don't care [536] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 475#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:45,767 INFO L735 eck$LassoCheckResult]: Loop: 475#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [537] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 475#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:45,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:45,768 INFO L85 PathProgramCache]: Analyzing trace with hash 62267851, now seen corresponding path program 1 times [2022-07-26 14:21:45,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:45,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [269650242] [2022-07-26 14:21:45,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:45,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:45,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:45,798 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:45,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:45,827 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:45,833 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:45,833 INFO L85 PathProgramCache]: Analyzing trace with hash 568, now seen corresponding path program 1 times [2022-07-26 14:21:45,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:45,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1832666805] [2022-07-26 14:21:45,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:45,834 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:45,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:45,841 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:45,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:45,845 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:45,846 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:45,846 INFO L85 PathProgramCache]: Analyzing trace with hash 1930303918, now seen corresponding path program 1 times [2022-07-26 14:21:45,846 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:45,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1897017162] [2022-07-26 14:21:45,846 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:45,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:45,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:45,869 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:45,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:45,883 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:46,771 WARN L146 chiAutomizerObserver]: 4 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:21:46,784 INFO L144 ThreadInstanceAdder]: Constructed 5 joinOtherThreadTransitions. [2022-07-26 14:21:46,787 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 89 places, 87 transitions, 234 flow [2022-07-26 14:21:46,847 INFO L129 PetriNetUnfolder]: 99/667 cut-off events. [2022-07-26 14:21:46,847 INFO L130 PetriNetUnfolder]: For 110/110 co-relation queries the response was YES. [2022-07-26 14:21:46,850 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 2745 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-26 14:21:46,851 INFO L82 GeneralOperation]: Start removeDead. Operand has 89 places, 87 transitions, 234 flow [2022-07-26 14:21:46,857 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 89 places, 87 transitions, 234 flow [2022-07-26 14:21:46,857 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:21:46,857 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 89 places, 87 transitions, 234 flow [2022-07-26 14:21:46,858 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 89 places, 87 transitions, 234 flow [2022-07-26 14:21:46,858 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 89 places, 87 transitions, 234 flow [2022-07-26 14:21:46,912 INFO L129 PetriNetUnfolder]: 99/667 cut-off events. [2022-07-26 14:21:46,912 INFO L130 PetriNetUnfolder]: For 110/110 co-relation queries the response was YES. [2022-07-26 14:21:46,914 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 16. Compared 2773 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-26 14:21:46,923 INFO L116 LiptonReduction]: Number of co-enabled transitions 2400 [2022-07-26 14:21:48,157 INFO L131 LiptonReduction]: Checked pairs total: 3361 [2022-07-26 14:21:48,157 INFO L133 LiptonReduction]: Total number of compositions: 64 [2022-07-26 14:21:48,158 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:21:48,158 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:21:48,158 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:21:48,158 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:21:48,158 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:21:48,158 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:21:48,158 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:21:48,158 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:21:48,159 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:21:48,258 INFO L131 ngComponentsAnalysis]: Automaton has 32 accepting balls. 32 [2022-07-26 14:21:48,258 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:48,258 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:48,260 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:48,261 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:48,261 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:21:48,261 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 1433 states, but on-demand construction may add more states [2022-07-26 14:21:48,281 INFO L131 ngComponentsAnalysis]: Automaton has 32 accepting balls. 32 [2022-07-26 14:21:48,281 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:48,282 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:48,283 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:48,283 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:48,284 INFO L733 eck$LassoCheckResult]: Stem: 92#[ULTIMATE.startENTRY]don't care [763] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_145| 1))) (and (= |v_ULTIMATE.start_main_#in~argv#1.offset_71| |v_ULTIMATE.start_main_~argv#1.offset_79|) (= v_~x~0_204 0) (= |v_#NULL.offset_46| 0) (= |v_#NULL.base_46| 0) (< |v_#StackHeapBarrier_83| |v_ULTIMATE.start_main_~#t~0#1.base_177|) (= (select |v_#valid_265| |v_ULTIMATE.start_main_~#t~0#1.base_177|) 0) (= (select |v_#length_188| 1) 2) (= |v_ULTIMATE.start_main_#in~argv#1.base_71| |v_ULTIMATE.start_main_~argv#1.base_79|) (= (select (select |v_#memory_int_145| 2) 0) 0) (= |v_ULTIMATE.start_main_~i~0#1_218| 1) (= |v_#valid_264| (store |v_#valid_265| |v_ULTIMATE.start_main_~#t~0#1.base_177| 1)) (= (select |v_#valid_265| 1) 1) (= (select |v_#valid_265| 0) 0) (= |v_ULTIMATE.start_#in~argv#1.base_46| |v_ULTIMATE.start_main_#in~argv#1.base_71|) (= (select |v_#length_188| 2) 1) (< 0 |v_#StackHeapBarrier_83|) (= |v_ULTIMATE.start_main_#in~argv#1.offset_71| |v_ULTIMATE.start_#in~argv#1.offset_46|) (= |v_ULTIMATE.start_main_~argc#1_73| |v_ULTIMATE.start_main_#in~argc#1_69|) (= 1 (select |v_#valid_265| 2)) (= (select .cse0 0) 48) (= (store |v_#length_188| |v_ULTIMATE.start_main_~#t~0#1.base_177| 84) |v_#length_187|) (= (select .cse0 1) 0) (= |v_ULTIMATE.start_main_~#t~0#1.offset_147| 0) (= |v_ULTIMATE.start_#in~argc#1_46| |v_ULTIMATE.start_main_#in~argc#1_69|))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_46|, #StackHeapBarrier=|v_#StackHeapBarrier_83|, #valid=|v_#valid_265|, #memory_int=|v_#memory_int_145|, #length=|v_#length_188|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_46|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_46|} OutVars{#NULL.offset=|v_#NULL.offset_46|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_79|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_79|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_46|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_218|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_69|, #length=|v_#length_187|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_93|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_46|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_100|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_46|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_177|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_73|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_115|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_174|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_114|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_71|, #NULL.base=|v_#NULL.base_46|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_147|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_71|, #StackHeapBarrier=|v_#StackHeapBarrier_83|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_87|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_147|, #valid=|v_#valid_264|, #memory_int=|v_#memory_int_145|, ~x~0=v_~x~0_204} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 95#[L723-5]don't care [733] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_196| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1))) (and (= (store |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153| (store (select |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_139|)) |v_#memory_int_135|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1 4) (select |v_#length_167| |v_ULTIMATE.start_main_~#t~0#1.base_153|)) (= (select |v_#valid_232| |v_ULTIMATE.start_main_~#t~0#1.base_153|) 1) (<= 0 .cse0) (= |v_#pthreadsForks_72| (+ |v_#pthreadsForks_73| 1)) (= |v_ULTIMATE.start_main_#t~pre2#1_139| |v_#pthreadsForks_73|) (<= |v_ULTIMATE.start_main_~i~0#1_196| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_73|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_136|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_72|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_135|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_139|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 99#[L724-3]don't care [690] L724-3-->threadENTRY: Formula: (and (= |v_threadThread1of5ForFork0_#in~arg.base_4| 0) (= |v_threadThread1of5ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_175|) (= |v_ULTIMATE.start_main_#t~pre2#1_124| v_threadThread1of5ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_175|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_124|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_175|, 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_124|} 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] 105#[threadENTRY, L724-4]don't care [659] 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] 109#[threadENTRY, L724-5]don't care [747] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_207| 1) |v_ULTIMATE.start_main_~i~0#1_206|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_207|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_107|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_206|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_81|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 113#[L723-5, threadENTRY]don't care [733] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_196| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1))) (and (= (store |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153| (store (select |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_139|)) |v_#memory_int_135|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1 4) (select |v_#length_167| |v_ULTIMATE.start_main_~#t~0#1.base_153|)) (= (select |v_#valid_232| |v_ULTIMATE.start_main_~#t~0#1.base_153|) 1) (<= 0 .cse0) (= |v_#pthreadsForks_72| (+ |v_#pthreadsForks_73| 1)) (= |v_ULTIMATE.start_main_#t~pre2#1_139| |v_#pthreadsForks_73|) (<= |v_ULTIMATE.start_main_~i~0#1_196| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_73|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_136|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_72|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_135|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_139|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 119#[L724-3, threadENTRY]don't care [691] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of5ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_177|) (= 0 |v_threadThread2of5ForFork0_#in~arg.base_4|) (= v_threadThread2of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_126|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_177|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_126|} 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_177|, 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_126|} 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] 129#[threadENTRY, L724-4, threadENTRY]don't care [659] 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] 137#[threadENTRY, L724-5, threadENTRY]don't care [747] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_207| 1) |v_ULTIMATE.start_main_~i~0#1_206|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_207|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_107|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_206|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_81|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 149#[threadENTRY, L723-5, threadENTRY]don't care [733] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_196| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1))) (and (= (store |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153| (store (select |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_139|)) |v_#memory_int_135|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1 4) (select |v_#length_167| |v_ULTIMATE.start_main_~#t~0#1.base_153|)) (= (select |v_#valid_232| |v_ULTIMATE.start_main_~#t~0#1.base_153|) 1) (<= 0 .cse0) (= |v_#pthreadsForks_72| (+ |v_#pthreadsForks_73| 1)) (= |v_ULTIMATE.start_main_#t~pre2#1_139| |v_#pthreadsForks_73|) (<= |v_ULTIMATE.start_main_~i~0#1_196| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_73|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_136|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_72|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_135|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_139|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 161#[threadENTRY, L724-3, threadENTRY]don't care [692] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_128| v_threadThread3of5ForFork0_thidvar0_2) (= |v_ULTIMATE.start_main_~i~0#1_179| |v_threadThread3of5ForFork0_#in~arg.offset_4|) (= |v_threadThread3of5ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_179|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_128|} 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_179|, 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_128|} 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] 177#[threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [659] 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] 195#[threadENTRY, L724-5, threadENTRY, threadENTRY]don't care [747] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_207| 1) |v_ULTIMATE.start_main_~i~0#1_206|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_207|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_107|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_206|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_81|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 219#[threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [733] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_196| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1))) (and (= (store |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153| (store (select |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_139|)) |v_#memory_int_135|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1 4) (select |v_#length_167| |v_ULTIMATE.start_main_~#t~0#1.base_153|)) (= (select |v_#valid_232| |v_ULTIMATE.start_main_~#t~0#1.base_153|) 1) (<= 0 .cse0) (= |v_#pthreadsForks_72| (+ |v_#pthreadsForks_73| 1)) (= |v_ULTIMATE.start_main_#t~pre2#1_139| |v_#pthreadsForks_73|) (<= |v_ULTIMATE.start_main_~i~0#1_196| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_73|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_136|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_72|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_135|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_139|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 245#[threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [693] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_130| v_threadThread4of5ForFork0_thidvar0_2) (= |v_threadThread4of5ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_181|) (= |v_threadThread4of5ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_181|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_130|} 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_181|, 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_130|} 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] 277#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [659] 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] 319#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [747] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_207| 1) |v_ULTIMATE.start_main_~i~0#1_206|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_207|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_107|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_206|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_81|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 367#[threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [733] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_196| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1))) (and (= (store |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153| (store (select |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_139|)) |v_#memory_int_135|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1 4) (select |v_#length_167| |v_ULTIMATE.start_main_~#t~0#1.base_153|)) (= (select |v_#valid_232| |v_ULTIMATE.start_main_~#t~0#1.base_153|) 1) (<= 0 .cse0) (= |v_#pthreadsForks_72| (+ |v_#pthreadsForks_73| 1)) (= |v_ULTIMATE.start_main_#t~pre2#1_139| |v_#pthreadsForks_73|) (<= |v_ULTIMATE.start_main_~i~0#1_196| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_73|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_136|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_72|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_135|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_139|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 421#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [694] L724-3-->threadENTRY: Formula: (and (= |v_threadThread5of5ForFork0_#in~arg.base_4| 0) (= |v_threadThread5of5ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_183|) (= |v_ULTIMATE.start_main_#t~pre2#1_132| v_threadThread5of5ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_183|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_132|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_183|, 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_132|} 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] 487#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [659] 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] 569#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [747] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_207| 1) |v_ULTIMATE.start_main_~i~0#1_206|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_207|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_107|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_206|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_81|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 673#[threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [733] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_196| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1))) (and (= (store |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153| (store (select |v_#memory_int_136| |v_ULTIMATE.start_main_~#t~0#1.base_153|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_139|)) |v_#memory_int_135|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_129| .cse1 4) (select |v_#length_167| |v_ULTIMATE.start_main_~#t~0#1.base_153|)) (= (select |v_#valid_232| |v_ULTIMATE.start_main_~#t~0#1.base_153|) 1) (<= 0 .cse0) (= |v_#pthreadsForks_72| (+ |v_#pthreadsForks_73| 1)) (= |v_ULTIMATE.start_main_#t~pre2#1_139| |v_#pthreadsForks_73|) (<= |v_ULTIMATE.start_main_~i~0#1_196| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_73|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_136|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_196|, #pthreadsForks=|v_#pthreadsForks_72|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_129|, #valid=|v_#valid_232|, #memory_int=|v_#memory_int_135|, #length=|v_#length_167|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_153|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_139|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 789#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY]don't care [688] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 927#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:48,284 INFO L735 eck$LassoCheckResult]: Loop: 927#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY]don't care [689] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 927#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:48,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:48,284 INFO L85 PathProgramCache]: Analyzing trace with hash 1825581176, now seen corresponding path program 1 times [2022-07-26 14:21:48,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:48,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1796773574] [2022-07-26 14:21:48,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:48,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:48,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:48,301 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:48,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:48,316 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:48,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:48,317 INFO L85 PathProgramCache]: Analyzing trace with hash 720, now seen corresponding path program 1 times [2022-07-26 14:21:48,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:48,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [805403274] [2022-07-26 14:21:48,317 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:48,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:48,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:48,320 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:48,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:48,322 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:48,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:48,322 INFO L85 PathProgramCache]: Analyzing trace with hash 758442297, now seen corresponding path program 1 times [2022-07-26 14:21:48,322 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:48,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [344196216] [2022-07-26 14:21:48,323 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:48,323 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:48,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:48,336 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:48,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:48,350 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:49,970 WARN L146 chiAutomizerObserver]: 5 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:21:49,989 INFO L144 ThreadInstanceAdder]: Constructed 6 joinOtherThreadTransitions. [2022-07-26 14:21:49,992 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 97 places, 94 transitions, 266 flow [2022-07-26 14:21:50,102 INFO L129 PetriNetUnfolder]: 214/1249 cut-off events. [2022-07-26 14:21:50,102 INFO L130 PetriNetUnfolder]: For 242/242 co-relation queries the response was YES. [2022-07-26 14:21:50,107 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 6773 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-26 14:21:50,107 INFO L82 GeneralOperation]: Start removeDead. Operand has 97 places, 94 transitions, 266 flow [2022-07-26 14:21:50,127 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 97 places, 94 transitions, 266 flow [2022-07-26 14:21:50,127 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:21:50,127 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 97 places, 94 transitions, 266 flow [2022-07-26 14:21:50,128 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 97 places, 94 transitions, 266 flow [2022-07-26 14:21:50,128 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 97 places, 94 transitions, 266 flow [2022-07-26 14:21:50,249 INFO L129 PetriNetUnfolder]: 214/1249 cut-off events. [2022-07-26 14:21:50,249 INFO L130 PetriNetUnfolder]: For 242/242 co-relation queries the response was YES. [2022-07-26 14:21:50,254 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 6725 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-26 14:21:50,277 INFO L116 LiptonReduction]: Number of co-enabled transitions 3120 [2022-07-26 14:21:51,695 INFO L131 LiptonReduction]: Checked pairs total: 4981 [2022-07-26 14:21:51,695 INFO L133 LiptonReduction]: Total number of compositions: 68 [2022-07-26 14:21:51,697 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:21:51,697 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:21:51,697 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:21:51,697 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:21:51,697 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:21:51,697 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:21:51,697 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:21:51,697 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:21:51,697 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:21:52,001 INFO L131 ngComponentsAnalysis]: Automaton has 64 accepting balls. 64 [2022-07-26 14:21:52,001 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:52,001 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:52,002 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:52,002 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:52,002 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:21:52,002 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 4087 states, but on-demand construction may add more states [2022-07-26 14:21:52,087 INFO L131 ngComponentsAnalysis]: Automaton has 64 accepting balls. 64 [2022-07-26 14:21:52,088 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:52,088 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:52,089 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:52,089 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:52,091 INFO L733 eck$LassoCheckResult]: Stem: 100#[ULTIMATE.startENTRY]don't care [932] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_176| 1))) (and (< 0 |v_#StackHeapBarrier_102|) (= (store |v_#valid_317| |v_ULTIMATE.start_main_~#t~0#1.base_210| 1) |v_#valid_316|) (< |v_#StackHeapBarrier_102| |v_ULTIMATE.start_main_~#t~0#1.base_210|) (= |v_ULTIMATE.start_main_#in~argv#1.offset_86| |v_ULTIMATE.start_main_~argv#1.offset_94|) (= |v_ULTIMATE.start_main_#in~argv#1.base_86| |v_ULTIMATE.start_main_~argv#1.base_94|) (= (select |v_#valid_317| 1) 1) (= |v_#NULL.base_59| 0) (= |v_#NULL.offset_59| 0) (= |v_ULTIMATE.start_#in~argv#1.base_57| |v_ULTIMATE.start_main_#in~argv#1.base_86|) (= |v_ULTIMATE.start_main_#in~argv#1.offset_86| |v_ULTIMATE.start_#in~argv#1.offset_57|) (= 0 (select (select |v_#memory_int_176| 2) 0)) (= (select .cse0 1) 0) (= v_~x~0_263 0) (= (select |v_#valid_317| |v_ULTIMATE.start_main_~#t~0#1.base_210|) 0) (= |v_ULTIMATE.start_main_~#t~0#1.offset_176| 0) (= (select |v_#valid_317| 0) 0) (= (select |v_#valid_317| 2) 1) (= |v_ULTIMATE.start_#in~argc#1_57| |v_ULTIMATE.start_main_#in~argc#1_84|) (= (store |v_#length_228| |v_ULTIMATE.start_main_~#t~0#1.base_210| 84) |v_#length_227|) (= |v_ULTIMATE.start_main_~argc#1_88| |v_ULTIMATE.start_main_#in~argc#1_84|) (= |v_ULTIMATE.start_main_~i~0#1_268| 1) (= (select |v_#length_228| 1) 2) (= (select |v_#length_228| 2) 1) (= 48 (select .cse0 0)))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_57|, #StackHeapBarrier=|v_#StackHeapBarrier_102|, #valid=|v_#valid_317|, #memory_int=|v_#memory_int_176|, #length=|v_#length_228|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_57|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_57|} OutVars{#NULL.offset=|v_#NULL.offset_59|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_94|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_94|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_57|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_268|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_84|, #length=|v_#length_227|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_110|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_57|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_123|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_57|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_210|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_88|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_139|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_205|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_137|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_86|, #NULL.base=|v_#NULL.base_59|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_185|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_86|, #StackHeapBarrier=|v_#StackHeapBarrier_102|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_105|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_176|, #valid=|v_#valid_316|, #memory_int=|v_#memory_int_176|, ~x~0=v_~x~0_263} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 103#[L723-5]don't care [910] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_254| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1))) (and (= (select |v_#valid_292| |v_ULTIMATE.start_main_~#t~0#1.base_192|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_254| 20) (= |v_ULTIMATE.start_main_#t~pre2#1_177| |v_#pthreadsForks_90|) (= (+ |v_#pthreadsForks_90| 1) |v_#pthreadsForks_89|) (<= 0 .cse0) (= (store |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192| (store (select |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_177|)) |v_#memory_int_166|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1 4) (select |v_#length_207| |v_ULTIMATE.start_main_~#t~0#1.base_192|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_90|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_167|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_89|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_166|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_177|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 107#[L724-3]don't care [853] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_162| v_threadThread1of6ForFork0_thidvar0_2) (= |v_threadThread1of6ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_227|) (= |v_threadThread1of6ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_227|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_162|} OutVars{threadThread1of6ForFork0_~thread~0=v_threadThread1of6ForFork0_~thread~0_6, threadThread1of6ForFork0_#res.offset=|v_threadThread1of6ForFork0_#res.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_227|, threadThread1of6ForFork0_#res.base=|v_threadThread1of6ForFork0_#res.base_4|, threadThread1of6ForFork0_#in~arg.offset=|v_threadThread1of6ForFork0_#in~arg.offset_4|, threadThread1of6ForFork0_thidvar0=v_threadThread1of6ForFork0_thidvar0_2, threadThread1of6ForFork0_#in~arg.base=|v_threadThread1of6ForFork0_#in~arg.base_4|, threadThread1of6ForFork0_~arg.offset=v_threadThread1of6ForFork0_~arg.offset_6, threadThread1of6ForFork0_~arg.base=v_threadThread1of6ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_162|} AuxVars[] AssignedVars[threadThread1of6ForFork0_~thread~0, threadThread1of6ForFork0_#res.offset, threadThread1of6ForFork0_#res.base, threadThread1of6ForFork0_#in~arg.offset, threadThread1of6ForFork0_thidvar0, threadThread1of6ForFork0_#in~arg.base, threadThread1of6ForFork0_~arg.offset, threadThread1of6ForFork0_~arg.base] 113#[threadENTRY, L724-4]don't care [817] 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] 115#[threadENTRY, L724-5]don't care [909] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_250| (+ |v_ULTIMATE.start_main_~i~0#1_251| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_251|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_129|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_250|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_97|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 119#[threadENTRY, L723-5]don't care [910] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_254| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1))) (and (= (select |v_#valid_292| |v_ULTIMATE.start_main_~#t~0#1.base_192|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_254| 20) (= |v_ULTIMATE.start_main_#t~pre2#1_177| |v_#pthreadsForks_90|) (= (+ |v_#pthreadsForks_90| 1) |v_#pthreadsForks_89|) (<= 0 .cse0) (= (store |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192| (store (select |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_177|)) |v_#memory_int_166|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1 4) (select |v_#length_207| |v_ULTIMATE.start_main_~#t~0#1.base_192|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_90|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_167|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_89|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_166|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_177|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 127#[threadENTRY, L724-3]don't care [854] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of6ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_229|) (= |v_ULTIMATE.start_main_#t~pre2#1_164| v_threadThread2of6ForFork0_thidvar0_2) (= 0 |v_threadThread2of6ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_229|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_164|} OutVars{threadThread2of6ForFork0_~arg.offset=v_threadThread2of6ForFork0_~arg.offset_6, threadThread2of6ForFork0_#res.offset=|v_threadThread2of6ForFork0_#res.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_229|, threadThread2of6ForFork0_#in~arg.base=|v_threadThread2of6ForFork0_#in~arg.base_4|, threadThread2of6ForFork0_#res.base=|v_threadThread2of6ForFork0_#res.base_4|, threadThread2of6ForFork0_#in~arg.offset=|v_threadThread2of6ForFork0_#in~arg.offset_4|, threadThread2of6ForFork0_~thread~0=v_threadThread2of6ForFork0_~thread~0_6, threadThread2of6ForFork0_thidvar0=v_threadThread2of6ForFork0_thidvar0_2, threadThread2of6ForFork0_~arg.base=v_threadThread2of6ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_164|} AuxVars[] AssignedVars[threadThread2of6ForFork0_~arg.offset, threadThread2of6ForFork0_#res.offset, threadThread2of6ForFork0_#in~arg.base, threadThread2of6ForFork0_#res.base, threadThread2of6ForFork0_#in~arg.offset, threadThread2of6ForFork0_~thread~0, threadThread2of6ForFork0_thidvar0, threadThread2of6ForFork0_~arg.base] 137#[threadENTRY, threadENTRY, L724-4]don't care [817] 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] 145#[threadENTRY, threadENTRY, L724-5]don't care [909] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_250| (+ |v_ULTIMATE.start_main_~i~0#1_251| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_251|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_129|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_250|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_97|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 155#[threadENTRY, threadENTRY, L723-5]don't care [910] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_254| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1))) (and (= (select |v_#valid_292| |v_ULTIMATE.start_main_~#t~0#1.base_192|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_254| 20) (= |v_ULTIMATE.start_main_#t~pre2#1_177| |v_#pthreadsForks_90|) (= (+ |v_#pthreadsForks_90| 1) |v_#pthreadsForks_89|) (<= 0 .cse0) (= (store |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192| (store (select |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_177|)) |v_#memory_int_166|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1 4) (select |v_#length_207| |v_ULTIMATE.start_main_~#t~0#1.base_192|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_90|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_167|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_89|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_166|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_177|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 167#[threadENTRY, threadENTRY, L724-3]don't care [855] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_231| |v_threadThread3of6ForFork0_#in~arg.offset_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_166| v_threadThread3of6ForFork0_thidvar0_2) (= |v_threadThread3of6ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_231|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_166|} OutVars{threadThread3of6ForFork0_#in~arg.base=|v_threadThread3of6ForFork0_#in~arg.base_4|, threadThread3of6ForFork0_#res.base=|v_threadThread3of6ForFork0_#res.base_4|, threadThread3of6ForFork0_~arg.offset=v_threadThread3of6ForFork0_~arg.offset_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_231|, threadThread3of6ForFork0_#res.offset=|v_threadThread3of6ForFork0_#res.offset_4|, threadThread3of6ForFork0_~thread~0=v_threadThread3of6ForFork0_~thread~0_6, threadThread3of6ForFork0_#in~arg.offset=|v_threadThread3of6ForFork0_#in~arg.offset_4|, threadThread3of6ForFork0_thidvar0=v_threadThread3of6ForFork0_thidvar0_2, threadThread3of6ForFork0_~arg.base=v_threadThread3of6ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_166|} AuxVars[] AssignedVars[threadThread3of6ForFork0_#in~arg.base, threadThread3of6ForFork0_#res.base, threadThread3of6ForFork0_~arg.offset, threadThread3of6ForFork0_#res.offset, threadThread3of6ForFork0_~thread~0, threadThread3of6ForFork0_#in~arg.offset, threadThread3of6ForFork0_thidvar0, threadThread3of6ForFork0_~arg.base] 183#[threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [817] 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] 201#[L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [909] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_250| (+ |v_ULTIMATE.start_main_~i~0#1_251| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_251|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_129|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_250|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_97|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 223#[threadENTRY, threadENTRY, threadENTRY, L723-5]don't care [910] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_254| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1))) (and (= (select |v_#valid_292| |v_ULTIMATE.start_main_~#t~0#1.base_192|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_254| 20) (= |v_ULTIMATE.start_main_#t~pre2#1_177| |v_#pthreadsForks_90|) (= (+ |v_#pthreadsForks_90| 1) |v_#pthreadsForks_89|) (<= 0 .cse0) (= (store |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192| (store (select |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_177|)) |v_#memory_int_166|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1 4) (select |v_#length_207| |v_ULTIMATE.start_main_~#t~0#1.base_192|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_90|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_167|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_89|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_166|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_177|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 251#[threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [856] L724-3-->threadENTRY: Formula: (and (= |v_threadThread4of6ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_168| v_threadThread4of6ForFork0_thidvar0_2) (= |v_threadThread4of6ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_233|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_233|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_168|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_233|, threadThread4of6ForFork0_#res.base=|v_threadThread4of6ForFork0_#res.base_4|, threadThread4of6ForFork0_#in~arg.offset=|v_threadThread4of6ForFork0_#in~arg.offset_4|, threadThread4of6ForFork0_thidvar0=v_threadThread4of6ForFork0_thidvar0_2, threadThread4of6ForFork0_~thread~0=v_threadThread4of6ForFork0_~thread~0_6, threadThread4of6ForFork0_#res.offset=|v_threadThread4of6ForFork0_#res.offset_4|, threadThread4of6ForFork0_~arg.offset=v_threadThread4of6ForFork0_~arg.offset_6, threadThread4of6ForFork0_#in~arg.base=|v_threadThread4of6ForFork0_#in~arg.base_4|, threadThread4of6ForFork0_~arg.base=v_threadThread4of6ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_168|} AuxVars[] AssignedVars[threadThread4of6ForFork0_#res.base, threadThread4of6ForFork0_#in~arg.offset, threadThread4of6ForFork0_thidvar0, threadThread4of6ForFork0_~thread~0, threadThread4of6ForFork0_#res.offset, threadThread4of6ForFork0_~arg.offset, threadThread4of6ForFork0_#in~arg.base, threadThread4of6ForFork0_~arg.base] 283#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [817] 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] 323#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [909] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_250| (+ |v_ULTIMATE.start_main_~i~0#1_251| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_251|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_129|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_250|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_97|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 371#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [910] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_254| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1))) (and (= (select |v_#valid_292| |v_ULTIMATE.start_main_~#t~0#1.base_192|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_254| 20) (= |v_ULTIMATE.start_main_#t~pre2#1_177| |v_#pthreadsForks_90|) (= (+ |v_#pthreadsForks_90| 1) |v_#pthreadsForks_89|) (<= 0 .cse0) (= (store |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192| (store (select |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_177|)) |v_#memory_int_166|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1 4) (select |v_#length_207| |v_ULTIMATE.start_main_~#t~0#1.base_192|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_90|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_167|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_89|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_166|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_177|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 427#[threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [857] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_170| v_threadThread5of6ForFork0_thidvar0_2) (= |v_threadThread5of6ForFork0_#in~arg.base_4| 0) (= |v_threadThread5of6ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_235|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_235|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_170|} OutVars{threadThread5of6ForFork0_thidvar0=v_threadThread5of6ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_235|, threadThread5of6ForFork0_#in~arg.offset=|v_threadThread5of6ForFork0_#in~arg.offset_4|, threadThread5of6ForFork0_~thread~0=v_threadThread5of6ForFork0_~thread~0_6, threadThread5of6ForFork0_~arg.offset=v_threadThread5of6ForFork0_~arg.offset_6, threadThread5of6ForFork0_#res.base=|v_threadThread5of6ForFork0_#res.base_4|, threadThread5of6ForFork0_~arg.base=v_threadThread5of6ForFork0_~arg.base_6, threadThread5of6ForFork0_#res.offset=|v_threadThread5of6ForFork0_#res.offset_4|, threadThread5of6ForFork0_#in~arg.base=|v_threadThread5of6ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_170|} AuxVars[] AssignedVars[threadThread5of6ForFork0_thidvar0, threadThread5of6ForFork0_#in~arg.offset, threadThread5of6ForFork0_~thread~0, threadThread5of6ForFork0_~arg.offset, threadThread5of6ForFork0_#res.base, threadThread5of6ForFork0_~arg.base, threadThread5of6ForFork0_#res.offset, threadThread5of6ForFork0_#in~arg.base] 493#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [817] 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] 575#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [909] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_250| (+ |v_ULTIMATE.start_main_~i~0#1_251| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_251|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_129|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_250|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_97|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 677#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [910] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_254| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1))) (and (= (select |v_#valid_292| |v_ULTIMATE.start_main_~#t~0#1.base_192|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_254| 20) (= |v_ULTIMATE.start_main_#t~pre2#1_177| |v_#pthreadsForks_90|) (= (+ |v_#pthreadsForks_90| 1) |v_#pthreadsForks_89|) (<= 0 .cse0) (= (store |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192| (store (select |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_177|)) |v_#memory_int_166|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1 4) (select |v_#length_207| |v_ULTIMATE.start_main_~#t~0#1.base_192|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_90|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_167|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_89|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_166|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_177|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 795#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [858] L724-3-->threadENTRY: Formula: (and (= |v_threadThread6of6ForFork0_#in~arg.base_4| 0) (= v_threadThread6of6ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_172|) (= |v_threadThread6of6ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_237|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_237|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_172|} OutVars{threadThread6of6ForFork0_#in~arg.offset=|v_threadThread6of6ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_237|, threadThread6of6ForFork0_~thread~0=v_threadThread6of6ForFork0_~thread~0_6, threadThread6of6ForFork0_#res.base=|v_threadThread6of6ForFork0_#res.base_4|, threadThread6of6ForFork0_thidvar0=v_threadThread6of6ForFork0_thidvar0_2, threadThread6of6ForFork0_~arg.offset=v_threadThread6of6ForFork0_~arg.offset_6, threadThread6of6ForFork0_#res.offset=|v_threadThread6of6ForFork0_#res.offset_4|, threadThread6of6ForFork0_~arg.base=v_threadThread6of6ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_172|, threadThread6of6ForFork0_#in~arg.base=|v_threadThread6of6ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[threadThread6of6ForFork0_#in~arg.offset, threadThread6of6ForFork0_~thread~0, threadThread6of6ForFork0_#res.base, threadThread6of6ForFork0_thidvar0, threadThread6of6ForFork0_~arg.offset, threadThread6of6ForFork0_#res.offset, threadThread6of6ForFork0_~arg.base, threadThread6of6ForFork0_#in~arg.base] 933#[threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [817] 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] 1103#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [909] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_250| (+ |v_ULTIMATE.start_main_~i~0#1_251| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_251|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_129|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_250|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_97|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 1317#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [910] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_254| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1))) (and (= (select |v_#valid_292| |v_ULTIMATE.start_main_~#t~0#1.base_192|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_254| 20) (= |v_ULTIMATE.start_main_#t~pre2#1_177| |v_#pthreadsForks_90|) (= (+ |v_#pthreadsForks_90| 1) |v_#pthreadsForks_89|) (<= 0 .cse0) (= (store |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192| (store (select |v_#memory_int_167| |v_ULTIMATE.start_main_~#t~0#1.base_192|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_177|)) |v_#memory_int_166|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_160| .cse1 4) (select |v_#length_207| |v_ULTIMATE.start_main_~#t~0#1.base_192|))))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_90|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_167|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_254|, #pthreadsForks=|v_#pthreadsForks_89|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_160|, #valid=|v_#valid_292|, #memory_int=|v_#memory_int_166|, #length=|v_#length_207|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_192|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_177|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 1569#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [851] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1861#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:52,091 INFO L735 eck$LassoCheckResult]: Loop: 1861#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [852] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1861#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:52,091 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:52,091 INFO L85 PathProgramCache]: Analyzing trace with hash 528130217, now seen corresponding path program 1 times [2022-07-26 14:21:52,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:52,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [632247262] [2022-07-26 14:21:52,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:52,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:52,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:52,117 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:52,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:52,142 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:52,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:52,143 INFO L85 PathProgramCache]: Analyzing trace with hash 883, now seen corresponding path program 1 times [2022-07-26 14:21:52,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:52,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1268409428] [2022-07-26 14:21:52,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:52,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:52,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:52,148 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:52,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:52,150 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:52,150 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:52,150 INFO L85 PathProgramCache]: Analyzing trace with hash -807831605, now seen corresponding path program 1 times [2022-07-26 14:21:52,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:52,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [993767242] [2022-07-26 14:21:52,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:52,151 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:52,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:52,170 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:52,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:52,191 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:54,588 WARN L146 chiAutomizerObserver]: 6 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:21:54,603 INFO L144 ThreadInstanceAdder]: Constructed 7 joinOtherThreadTransitions. [2022-07-26 14:21:54,606 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 105 places, 101 transitions, 300 flow [2022-07-26 14:21:54,892 INFO L129 PetriNetUnfolder]: 473/2423 cut-off events. [2022-07-26 14:21:54,893 INFO L130 PetriNetUnfolder]: For 525/525 co-relation queries the response was YES. [2022-07-26 14:21:54,899 INFO L84 FinitePrefix]: Finished finitePrefix Result has 2921 conditions, 2423 events. 473/2423 cut-off events. For 525/525 co-relation queries the response was YES. Maximal size of possible extension queue 59. Compared 16274 event pairs, 201 based on Foata normal form. 0/2143 useless extension candidates. Maximal degree in co-relation 1466. Up to 448 conditions per place. [2022-07-26 14:21:54,900 INFO L82 GeneralOperation]: Start removeDead. Operand has 105 places, 101 transitions, 300 flow [2022-07-26 14:21:54,922 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 105 places, 101 transitions, 300 flow [2022-07-26 14:21:54,922 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:21:54,923 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 105 places, 101 transitions, 300 flow [2022-07-26 14:21:54,923 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 105 places, 101 transitions, 300 flow [2022-07-26 14:21:54,923 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 105 places, 101 transitions, 300 flow [2022-07-26 14:21:55,141 INFO L129 PetriNetUnfolder]: 473/2423 cut-off events. [2022-07-26 14:21:55,142 INFO L130 PetriNetUnfolder]: For 525/525 co-relation queries the response was YES. [2022-07-26 14:21:55,153 INFO L84 FinitePrefix]: Finished finitePrefix Result has 2921 conditions, 2423 events. 473/2423 cut-off events. For 525/525 co-relation queries the response was YES. Maximal size of possible extension queue 57. Compared 16505 event pairs, 201 based on Foata normal form. 0/2143 useless extension candidates. Maximal degree in co-relation 1466. Up to 448 conditions per place. [2022-07-26 14:21:55,188 INFO L116 LiptonReduction]: Number of co-enabled transitions 3920 [2022-07-26 14:21:56,581 INFO L131 LiptonReduction]: Checked pairs total: 6701 [2022-07-26 14:21:56,582 INFO L133 LiptonReduction]: Total number of compositions: 72 [2022-07-26 14:21:56,582 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:21:56,582 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:21:56,582 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:21:56,582 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:21:56,582 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:21:56,583 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:21:56,583 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:21:56,583 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:21:56,583 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:21:57,534 INFO L131 ngComponentsAnalysis]: Automaton has 128 accepting balls. 128 [2022-07-26 14:21:57,534 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:57,535 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:57,537 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:57,537 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:57,537 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:21:57,537 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 11825 states, but on-demand construction may add more states [2022-07-26 14:21:57,769 INFO L131 ngComponentsAnalysis]: Automaton has 128 accepting balls. 128 [2022-07-26 14:21:57,769 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:21:57,769 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:21:57,774 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:21:57,774 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:21:57,775 INFO L733 eck$LassoCheckResult]: Stem: 108#[ULTIMATE.startENTRY]don't care [1112] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_212| 1))) (and (= (select |v_#valid_365| |v_ULTIMATE.start_main_~#t~0#1.base_245|) 0) (= |v_ULTIMATE.start_#in~argv#1.offset_70| |v_ULTIMATE.start_main_#in~argv#1.offset_101|) (= |v_#NULL.offset_66| 0) (< 0 |v_#StackHeapBarrier_117|) (= |v_ULTIMATE.start_main_~argc#1_105| |v_ULTIMATE.start_main_#in~argc#1_99|) (= (select |v_#length_266| 2) 1) (< |v_#StackHeapBarrier_117| |v_ULTIMATE.start_main_~#t~0#1.base_245|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_207| 0) (= 2 (select |v_#length_266| 1)) (= |v_ULTIMATE.start_main_~argv#1.offset_111| |v_ULTIMATE.start_main_#in~argv#1.offset_101|) (= |v_ULTIMATE.start_#in~argv#1.base_70| |v_ULTIMATE.start_main_#in~argv#1.base_101|) (= (select |v_#valid_365| 0) 0) (= |v_ULTIMATE.start_#in~argc#1_70| |v_ULTIMATE.start_main_#in~argc#1_99|) (= (select .cse0 0) 48) (= (store |v_#valid_365| |v_ULTIMATE.start_main_~#t~0#1.base_245| 1) |v_#valid_364|) (= v_~x~0_320 0) (= (select |v_#valid_365| 2) 1) (= (select |v_#valid_365| 1) 1) (= (select (select |v_#memory_int_212| 2) 0) 0) (= (store |v_#length_266| |v_ULTIMATE.start_main_~#t~0#1.base_245| 84) |v_#length_265|) (= (select .cse0 1) 0) (= |v_ULTIMATE.start_main_~i~0#1_327| 1) (= |v_#NULL.base_66| 0) (= |v_ULTIMATE.start_main_~argv#1.base_111| |v_ULTIMATE.start_main_#in~argv#1.base_101|))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_70|, #StackHeapBarrier=|v_#StackHeapBarrier_117|, #valid=|v_#valid_365|, #memory_int=|v_#memory_int_212|, #length=|v_#length_266|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_70|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_70|} OutVars{#NULL.offset=|v_#NULL.offset_66|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_111|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_111|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_70|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_327|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_99|, #length=|v_#length_265|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_129|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_70|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_152|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_70|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_245|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_105|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_166|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_244|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_162|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_101|, #NULL.base=|v_#NULL.base_66|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_231|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_101|, #StackHeapBarrier=|v_#StackHeapBarrier_117|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_207|, #valid=|v_#valid_364|, #memory_int=|v_#memory_int_212|, ~x~0=v_~x~0_320} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 111#[L723-5]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 115#[L724-3]don't care [1027] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_202| v_threadThread1of7ForFork0_thidvar0_2) (= |v_threadThread1of7ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_278|) (= |v_threadThread1of7ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_278|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_202|} OutVars{threadThread1of7ForFork0_#res.base=|v_threadThread1of7ForFork0_#res.base_4|, threadThread1of7ForFork0_thidvar0=v_threadThread1of7ForFork0_thidvar0_2, threadThread1of7ForFork0_#in~arg.base=|v_threadThread1of7ForFork0_#in~arg.base_4|, threadThread1of7ForFork0_~arg.base=v_threadThread1of7ForFork0_~arg.base_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_278|, threadThread1of7ForFork0_~thread~0=v_threadThread1of7ForFork0_~thread~0_6, threadThread1of7ForFork0_~arg.offset=v_threadThread1of7ForFork0_~arg.offset_6, threadThread1of7ForFork0_#in~arg.offset=|v_threadThread1of7ForFork0_#in~arg.offset_4|, threadThread1of7ForFork0_#res.offset=|v_threadThread1of7ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_202|} AuxVars[] AssignedVars[threadThread1of7ForFork0_#res.base, threadThread1of7ForFork0_thidvar0, threadThread1of7ForFork0_#in~arg.base, threadThread1of7ForFork0_~arg.base, threadThread1of7ForFork0_~thread~0, threadThread1of7ForFork0_~arg.offset, threadThread1of7ForFork0_#in~arg.offset, threadThread1of7ForFork0_#res.offset] 121#[threadENTRY, L724-4]don't care [986] 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] 125#[L724-5, threadENTRY]don't care [1101] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_316| 1) |v_ULTIMATE.start_main_~i~0#1_315|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_316|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_158|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_315|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_122|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 129#[threadENTRY, L723-5]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 135#[threadENTRY, L724-3]don't care [1028] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of7ForFork0_#in~arg.base_4| 0) (= |v_threadThread2of7ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_280|) (= |v_ULTIMATE.start_main_#t~pre2#1_204| v_threadThread2of7ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_280|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_204|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_280|, threadThread2of7ForFork0_#in~arg.base=|v_threadThread2of7ForFork0_#in~arg.base_4|, threadThread2of7ForFork0_~arg.base=v_threadThread2of7ForFork0_~arg.base_6, threadThread2of7ForFork0_#res.base=|v_threadThread2of7ForFork0_#res.base_4|, threadThread2of7ForFork0_~arg.offset=v_threadThread2of7ForFork0_~arg.offset_6, threadThread2of7ForFork0_#in~arg.offset=|v_threadThread2of7ForFork0_#in~arg.offset_4|, threadThread2of7ForFork0_thidvar0=v_threadThread2of7ForFork0_thidvar0_2, threadThread2of7ForFork0_~thread~0=v_threadThread2of7ForFork0_~thread~0_6, threadThread2of7ForFork0_#res.offset=|v_threadThread2of7ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_204|} AuxVars[] AssignedVars[threadThread2of7ForFork0_#in~arg.base, threadThread2of7ForFork0_~arg.base, threadThread2of7ForFork0_#res.base, threadThread2of7ForFork0_~arg.offset, threadThread2of7ForFork0_#in~arg.offset, threadThread2of7ForFork0_thidvar0, threadThread2of7ForFork0_~thread~0, threadThread2of7ForFork0_#res.offset] 145#[threadENTRY, threadENTRY, L724-4]don't care [986] 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] 155#[L724-5, threadENTRY, threadENTRY]don't care [1101] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_316| 1) |v_ULTIMATE.start_main_~i~0#1_315|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_316|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_158|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_315|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_122|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 165#[threadENTRY, threadENTRY, L723-5]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 177#[L724-3, threadENTRY, threadENTRY]don't care [1029] L724-3-->threadENTRY: Formula: (and (= v_threadThread3of7ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_206|) (= |v_ULTIMATE.start_main_~i~0#1_282| |v_threadThread3of7ForFork0_#in~arg.offset_4|) (= |v_threadThread3of7ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_282|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_206|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_282|, threadThread3of7ForFork0_#res.base=|v_threadThread3of7ForFork0_#res.base_4|, threadThread3of7ForFork0_~arg.offset=v_threadThread3of7ForFork0_~arg.offset_6, threadThread3of7ForFork0_#res.offset=|v_threadThread3of7ForFork0_#res.offset_4|, threadThread3of7ForFork0_~thread~0=v_threadThread3of7ForFork0_~thread~0_6, threadThread3of7ForFork0_~arg.base=v_threadThread3of7ForFork0_~arg.base_6, threadThread3of7ForFork0_#in~arg.offset=|v_threadThread3of7ForFork0_#in~arg.offset_4|, threadThread3of7ForFork0_#in~arg.base=|v_threadThread3of7ForFork0_#in~arg.base_4|, threadThread3of7ForFork0_thidvar0=v_threadThread3of7ForFork0_thidvar0_2, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_206|} AuxVars[] AssignedVars[threadThread3of7ForFork0_#res.base, threadThread3of7ForFork0_~arg.offset, threadThread3of7ForFork0_#res.offset, threadThread3of7ForFork0_~thread~0, threadThread3of7ForFork0_~arg.base, threadThread3of7ForFork0_#in~arg.offset, threadThread3of7ForFork0_#in~arg.base, threadThread3of7ForFork0_thidvar0] 193#[threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [986] 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] 211#[threadENTRY, threadENTRY, L724-5, threadENTRY]don't care [1101] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_316| 1) |v_ULTIMATE.start_main_~i~0#1_315|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_316|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_158|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_315|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_122|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 235#[L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 261#[threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [1030] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_208| v_threadThread4of7ForFork0_thidvar0_2) (= |v_threadThread4of7ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_284|) (= |v_threadThread4of7ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_284|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_208|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_284|, threadThread4of7ForFork0_~arg.base=v_threadThread4of7ForFork0_~arg.base_6, threadThread4of7ForFork0_#res.base=|v_threadThread4of7ForFork0_#res.base_4|, threadThread4of7ForFork0_~arg.offset=v_threadThread4of7ForFork0_~arg.offset_6, threadThread4of7ForFork0_thidvar0=v_threadThread4of7ForFork0_thidvar0_2, threadThread4of7ForFork0_#in~arg.base=|v_threadThread4of7ForFork0_#in~arg.base_4|, threadThread4of7ForFork0_~thread~0=v_threadThread4of7ForFork0_~thread~0_6, threadThread4of7ForFork0_#in~arg.offset=|v_threadThread4of7ForFork0_#in~arg.offset_4|, threadThread4of7ForFork0_#res.offset=|v_threadThread4of7ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_208|} AuxVars[] AssignedVars[threadThread4of7ForFork0_~arg.base, threadThread4of7ForFork0_#res.base, threadThread4of7ForFork0_~arg.offset, threadThread4of7ForFork0_thidvar0, threadThread4of7ForFork0_#in~arg.base, threadThread4of7ForFork0_~thread~0, threadThread4of7ForFork0_#in~arg.offset, threadThread4of7ForFork0_#res.offset] 293#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [986] 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] 335#[threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [1101] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_316| 1) |v_ULTIMATE.start_main_~i~0#1_315|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_316|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_158|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_315|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_122|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 383#[threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 437#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [1031] L724-3-->threadENTRY: Formula: (and (= |v_threadThread5of7ForFork0_#in~arg.base_4| 0) (= |v_threadThread5of7ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_286|) (= |v_ULTIMATE.start_main_#t~pre2#1_210| v_threadThread5of7ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_286|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_210|} OutVars{threadThread5of7ForFork0_#in~arg.offset=|v_threadThread5of7ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_286|, threadThread5of7ForFork0_~arg.base=v_threadThread5of7ForFork0_~arg.base_6, threadThread5of7ForFork0_thidvar0=v_threadThread5of7ForFork0_thidvar0_2, threadThread5of7ForFork0_~arg.offset=v_threadThread5of7ForFork0_~arg.offset_6, threadThread5of7ForFork0_#in~arg.base=|v_threadThread5of7ForFork0_#in~arg.base_4|, threadThread5of7ForFork0_#res.base=|v_threadThread5of7ForFork0_#res.base_4|, threadThread5of7ForFork0_#res.offset=|v_threadThread5of7ForFork0_#res.offset_4|, threadThread5of7ForFork0_~thread~0=v_threadThread5of7ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_210|} AuxVars[] AssignedVars[threadThread5of7ForFork0_#in~arg.offset, threadThread5of7ForFork0_~arg.base, threadThread5of7ForFork0_thidvar0, threadThread5of7ForFork0_~arg.offset, threadThread5of7ForFork0_#in~arg.base, threadThread5of7ForFork0_#res.base, threadThread5of7ForFork0_#res.offset, threadThread5of7ForFork0_~thread~0] 503#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [986] 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] 585#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1101] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_316| 1) |v_ULTIMATE.start_main_~i~0#1_315|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_316|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_158|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_315|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_122|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 687#[threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 803#[threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1032] L724-3-->threadENTRY: Formula: (and (= |v_threadThread6of7ForFork0_#in~arg.base_4| 0) (= v_threadThread6of7ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_212|) (= |v_threadThread6of7ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_288|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_288|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_212|} OutVars{threadThread6of7ForFork0_#res.offset=|v_threadThread6of7ForFork0_#res.offset_4|, threadThread6of7ForFork0_~thread~0=v_threadThread6of7ForFork0_~thread~0_6, threadThread6of7ForFork0_~arg.offset=v_threadThread6of7ForFork0_~arg.offset_6, threadThread6of7ForFork0_thidvar0=v_threadThread6of7ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_288|, threadThread6of7ForFork0_#res.base=|v_threadThread6of7ForFork0_#res.base_4|, threadThread6of7ForFork0_#in~arg.base=|v_threadThread6of7ForFork0_#in~arg.base_4|, threadThread6of7ForFork0_~arg.base=v_threadThread6of7ForFork0_~arg.base_6, threadThread6of7ForFork0_#in~arg.offset=|v_threadThread6of7ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_212|} AuxVars[] AssignedVars[threadThread6of7ForFork0_#res.offset, threadThread6of7ForFork0_~thread~0, threadThread6of7ForFork0_~arg.offset, threadThread6of7ForFork0_thidvar0, threadThread6of7ForFork0_#res.base, threadThread6of7ForFork0_#in~arg.base, threadThread6of7ForFork0_~arg.base, threadThread6of7ForFork0_#in~arg.offset] 941#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY]don't care [986] 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] 1111#[threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1101] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_316| 1) |v_ULTIMATE.start_main_~i~0#1_315|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_316|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_158|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_315|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_122|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 1325#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 1577#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [1033] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_214| v_threadThread7of7ForFork0_thidvar0_2) (= |v_threadThread7of7ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_290|) (= |v_threadThread7of7ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_290|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_214|} OutVars{threadThread7of7ForFork0_#res.base=|v_threadThread7of7ForFork0_#res.base_4|, threadThread7of7ForFork0_~arg.offset=v_threadThread7of7ForFork0_~arg.offset_6, threadThread7of7ForFork0_#in~arg.base=|v_threadThread7of7ForFork0_#in~arg.base_4|, threadThread7of7ForFork0_#res.offset=|v_threadThread7of7ForFork0_#res.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_290|, threadThread7of7ForFork0_~arg.base=v_threadThread7of7ForFork0_~arg.base_6, threadThread7of7ForFork0_thidvar0=v_threadThread7of7ForFork0_thidvar0_2, threadThread7of7ForFork0_~thread~0=v_threadThread7of7ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_214|, threadThread7of7ForFork0_#in~arg.offset=|v_threadThread7of7ForFork0_#in~arg.offset_4|} AuxVars[] AssignedVars[threadThread7of7ForFork0_#res.base, threadThread7of7ForFork0_~arg.offset, threadThread7of7ForFork0_#in~arg.base, threadThread7of7ForFork0_#res.offset, threadThread7of7ForFork0_~arg.base, threadThread7of7ForFork0_thidvar0, threadThread7of7ForFork0_~thread~0, threadThread7of7ForFork0_#in~arg.offset] 1869#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY]don't care [986] 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] 2227#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [1101] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_316| 1) |v_ULTIMATE.start_main_~i~0#1_315|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_316|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_158|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_315|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_122|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 2673#[threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1078] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_301| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0))) (and (= (+ |v_#pthreadsForks_108| 1) |v_#pthreadsForks_107|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_189| .cse0 4) (select |v_#length_245| |v_ULTIMATE.start_main_~#t~0#1.base_223|)) (= (select |v_#valid_336| |v_ULTIMATE.start_main_~#t~0#1.base_223|) 1) (<= |v_ULTIMATE.start_main_~i~0#1_301| 20) (= (store |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223| (store (select |v_#memory_int_197| |v_ULTIMATE.start_main_~#t~0#1.base_223|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_221|)) |v_#memory_int_196|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_221| |v_#pthreadsForks_108|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_108|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_197|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_301|, #pthreadsForks=|v_#pthreadsForks_107|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_189|, #valid=|v_#valid_336|, #memory_int=|v_#memory_int_196|, #length=|v_#length_245|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_223|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_221|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 3209#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [1025] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3835#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:57,775 INFO L735 eck$LassoCheckResult]: Loop: 3835#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [1026] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3835#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-26 14:21:57,775 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:57,776 INFO L85 PathProgramCache]: Analyzing trace with hash -1500280361, now seen corresponding path program 1 times [2022-07-26 14:21:57,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:57,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [457134149] [2022-07-26 14:21:57,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:57,780 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:57,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:57,807 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:57,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:57,822 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:57,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:57,823 INFO L85 PathProgramCache]: Analyzing trace with hash 1057, now seen corresponding path program 1 times [2022-07-26 14:21:57,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:57,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1680180736] [2022-07-26 14:21:57,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:57,823 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:57,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:57,826 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:57,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:57,828 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:21:57,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:21:57,829 INFO L85 PathProgramCache]: Analyzing trace with hash 735950091, now seen corresponding path program 1 times [2022-07-26 14:21:57,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:21:57,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1008050664] [2022-07-26 14:21:57,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:21:57,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:21:57,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:57,848 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:21:57,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:21:57,871 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:22:01,767 WARN L146 chiAutomizerObserver]: 7 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:22:01,788 INFO L144 ThreadInstanceAdder]: Constructed 8 joinOtherThreadTransitions. [2022-07-26 14:22:01,792 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 113 places, 108 transitions, 336 flow [2022-07-26 14:22:02,326 INFO L129 PetriNetUnfolder]: 1052/4813 cut-off events. [2022-07-26 14:22:02,326 INFO L130 PetriNetUnfolder]: For 1136/1136 co-relation queries the response was YES. [2022-07-26 14:22:02,353 INFO L84 FinitePrefix]: Finished finitePrefix Result has 5898 conditions, 4813 events. 1052/4813 cut-off events. For 1136/1136 co-relation queries the response was YES. Maximal size of possible extension queue 107. Compared 39097 event pairs, 522 based on Foata normal form. 0/4274 useless extension candidates. Maximal degree in co-relation 2906. Up to 1024 conditions per place. [2022-07-26 14:22:02,353 INFO L82 GeneralOperation]: Start removeDead. Operand has 113 places, 108 transitions, 336 flow [2022-07-26 14:22:02,419 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 113 places, 108 transitions, 336 flow [2022-07-26 14:22:02,419 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:22:02,419 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 113 places, 108 transitions, 336 flow [2022-07-26 14:22:02,419 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 113 places, 108 transitions, 336 flow [2022-07-26 14:22:02,419 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 113 places, 108 transitions, 336 flow [2022-07-26 14:22:02,895 INFO L129 PetriNetUnfolder]: 1052/4813 cut-off events. [2022-07-26 14:22:02,896 INFO L130 PetriNetUnfolder]: For 1136/1136 co-relation queries the response was YES. [2022-07-26 14:22:02,919 INFO L84 FinitePrefix]: Finished finitePrefix Result has 5898 conditions, 4813 events. 1052/4813 cut-off events. For 1136/1136 co-relation queries the response was YES. Maximal size of possible extension queue 104. Compared 39156 event pairs, 522 based on Foata normal form. 0/4274 useless extension candidates. Maximal degree in co-relation 2906. Up to 1024 conditions per place. [2022-07-26 14:22:02,997 INFO L116 LiptonReduction]: Number of co-enabled transitions 4800 [2022-07-26 14:22:04,591 INFO L131 LiptonReduction]: Checked pairs total: 8324 [2022-07-26 14:22:04,591 INFO L133 LiptonReduction]: Total number of compositions: 76 [2022-07-26 14:22:04,592 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:22:04,592 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:22:04,592 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:22:04,592 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:22:04,592 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:22:04,592 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:22:04,592 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:22:04,592 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:22:04,593 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:22:07,191 INFO L131 ngComponentsAnalysis]: Automaton has 256 accepting balls. 256 [2022-07-26 14:22:07,192 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:22:07,192 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:22:07,192 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:22:07,192 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:22:07,193 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:22:07,193 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 34591 states, but on-demand construction may add more states [2022-07-26 14:22:07,795 INFO L131 ngComponentsAnalysis]: Automaton has 256 accepting balls. 256 [2022-07-26 14:22:07,796 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:22:07,796 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:22:07,796 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:22:07,796 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:22:07,797 INFO L733 eck$LassoCheckResult]: Stem: 116#[ULTIMATE.startENTRY]don't care [1303] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_247| 1))) (and (< |v_#StackHeapBarrier_130| |v_ULTIMATE.start_main_~#t~0#1.base_282|) (= |v_#NULL.base_75| 0) (= |v_ULTIMATE.start_#in~argv#1.offset_83| |v_ULTIMATE.start_main_#in~argv#1.offset_118|) (= (select (select |v_#memory_int_247| 2) 0) 0) (= (store |v_#length_302| |v_ULTIMATE.start_main_~#t~0#1.base_282| 84) |v_#length_301|) (= |v_ULTIMATE.start_#in~argv#1.base_83| |v_ULTIMATE.start_main_#in~argv#1.base_118|) (= |v_ULTIMATE.start_main_#in~argc#1_112| |v_ULTIMATE.start_#in~argc#1_83|) (= (select |v_#valid_417| 1) 1) (= v_~x~0_389 0) (= (select .cse0 0) 48) (= (select |v_#valid_417| 0) 0) (= 2 (select |v_#length_302| 1)) (< 0 |v_#StackHeapBarrier_130|) (= (select |v_#valid_417| |v_ULTIMATE.start_main_~#t~0#1.base_282|) 0) (= (select .cse0 1) 0) (= |v_ULTIMATE.start_main_~#t~0#1.offset_238| 0) (= |v_ULTIMATE.start_main_~argv#1.base_130| |v_ULTIMATE.start_main_#in~argv#1.base_118|) (= |v_ULTIMATE.start_main_~argv#1.offset_130| |v_ULTIMATE.start_main_#in~argv#1.offset_118|) (= |v_ULTIMATE.start_main_#in~argc#1_112| |v_ULTIMATE.start_main_~argc#1_120|) (= (select |v_#valid_417| 2) 1) (= |v_ULTIMATE.start_main_~i~0#1_385| 1) (= (select |v_#length_302| 2) 1) (= |v_#NULL.offset_75| 0) (= |v_#valid_416| (store |v_#valid_417| |v_ULTIMATE.start_main_~#t~0#1.base_282| 1)))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_83|, #StackHeapBarrier=|v_#StackHeapBarrier_130|, #valid=|v_#valid_417|, #memory_int=|v_#memory_int_247|, #length=|v_#length_302|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_83|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_83|} OutVars{#NULL.offset=|v_#NULL.offset_75|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_130|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_130|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_83|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_385|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_112|, #length=|v_#length_301|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_150|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_83|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_183|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_83|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_282|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_120|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_196|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_279|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_185|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_118|, #NULL.base=|v_#NULL.base_75|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_281|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_118|, #StackHeapBarrier=|v_#StackHeapBarrier_130|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_152|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_238|, #valid=|v_#valid_416|, #memory_int=|v_#memory_int_247|, ~x~0=v_~x~0_389} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 119#[L723-5]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 123#[L724-3]don't care [1212] L724-3-->threadENTRY: Formula: (and (= |v_threadThread1of8ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_338|) (= |v_threadThread1of8ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_250| v_threadThread1of8ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_338|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_250|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_338|, threadThread1of8ForFork0_~arg.base=v_threadThread1of8ForFork0_~arg.base_6, threadThread1of8ForFork0_#in~arg.base=|v_threadThread1of8ForFork0_#in~arg.base_4|, threadThread1of8ForFork0_#in~arg.offset=|v_threadThread1of8ForFork0_#in~arg.offset_4|, threadThread1of8ForFork0_#res.offset=|v_threadThread1of8ForFork0_#res.offset_4|, threadThread1of8ForFork0_#res.base=|v_threadThread1of8ForFork0_#res.base_4|, threadThread1of8ForFork0_~arg.offset=v_threadThread1of8ForFork0_~arg.offset_6, threadThread1of8ForFork0_~thread~0=v_threadThread1of8ForFork0_~thread~0_6, threadThread1of8ForFork0_thidvar0=v_threadThread1of8ForFork0_thidvar0_2, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_250|} AuxVars[] AssignedVars[threadThread1of8ForFork0_~arg.base, threadThread1of8ForFork0_#in~arg.base, threadThread1of8ForFork0_#in~arg.offset, threadThread1of8ForFork0_#res.offset, threadThread1of8ForFork0_#res.base, threadThread1of8ForFork0_~arg.offset, threadThread1of8ForFork0_~thread~0, threadThread1of8ForFork0_thidvar0] 129#[L724-4, threadENTRY]don't care [1166] 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 [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 137#[L723-5, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 143#[L724-3, threadENTRY]don't care [1213] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of8ForFork0_#in~arg.base_4| 0) (= |v_threadThread2of8ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_340|) (= |v_ULTIMATE.start_main_#t~pre2#1_252| v_threadThread2of8ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_340|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_252|} OutVars{threadThread2of8ForFork0_thidvar0=v_threadThread2of8ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_340|, threadThread2of8ForFork0_#in~arg.base=|v_threadThread2of8ForFork0_#in~arg.base_4|, threadThread2of8ForFork0_~arg.base=v_threadThread2of8ForFork0_~arg.base_6, threadThread2of8ForFork0_#res.offset=|v_threadThread2of8ForFork0_#res.offset_4|, threadThread2of8ForFork0_~arg.offset=v_threadThread2of8ForFork0_~arg.offset_6, threadThread2of8ForFork0_~thread~0=v_threadThread2of8ForFork0_~thread~0_6, threadThread2of8ForFork0_#in~arg.offset=|v_threadThread2of8ForFork0_#in~arg.offset_4|, threadThread2of8ForFork0_#res.base=|v_threadThread2of8ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_252|} AuxVars[] AssignedVars[threadThread2of8ForFork0_thidvar0, threadThread2of8ForFork0_#in~arg.base, threadThread2of8ForFork0_~arg.base, threadThread2of8ForFork0_#res.offset, threadThread2of8ForFork0_~arg.offset, threadThread2of8ForFork0_~thread~0, threadThread2of8ForFork0_#in~arg.offset, threadThread2of8ForFork0_#res.base] 153#[threadENTRY, L724-4, threadENTRY]don't care [1166] 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] 163#[L724-5, threadENTRY, threadENTRY]don't care [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 173#[threadENTRY, L723-5, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 185#[threadENTRY, L724-3, threadENTRY]don't care [1214] L724-3-->threadENTRY: Formula: (and (= v_threadThread3of8ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_254|) (= |v_threadThread3of8ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_342| |v_threadThread3of8ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_254|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_342|, threadThread3of8ForFork0_#in~arg.offset=|v_threadThread3of8ForFork0_#in~arg.offset_4|, threadThread3of8ForFork0_#res.offset=|v_threadThread3of8ForFork0_#res.offset_4|, threadThread3of8ForFork0_#in~arg.base=|v_threadThread3of8ForFork0_#in~arg.base_4|, threadThread3of8ForFork0_~arg.offset=v_threadThread3of8ForFork0_~arg.offset_6, threadThread3of8ForFork0_thidvar0=v_threadThread3of8ForFork0_thidvar0_2, threadThread3of8ForFork0_~arg.base=v_threadThread3of8ForFork0_~arg.base_6, threadThread3of8ForFork0_~thread~0=v_threadThread3of8ForFork0_~thread~0_6, threadThread3of8ForFork0_#res.base=|v_threadThread3of8ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_254|} AuxVars[] AssignedVars[threadThread3of8ForFork0_#in~arg.offset, threadThread3of8ForFork0_#res.offset, threadThread3of8ForFork0_#in~arg.base, threadThread3of8ForFork0_~arg.offset, threadThread3of8ForFork0_thidvar0, threadThread3of8ForFork0_~arg.base, threadThread3of8ForFork0_~thread~0, threadThread3of8ForFork0_#res.base] 201#[L724-4, threadENTRY, threadENTRY, threadENTRY]don't care [1166] 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] 221#[threadENTRY, threadENTRY, threadENTRY, L724-5]don't care [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 243#[L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 269#[threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [1215] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_256| v_threadThread4of8ForFork0_thidvar0_2) (= |v_threadThread4of8ForFork0_#in~arg.base_4| 0) (= |v_threadThread4of8ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_344|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_344|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_256|} OutVars{threadThread4of8ForFork0_#in~arg.offset=|v_threadThread4of8ForFork0_#in~arg.offset_4|, threadThread4of8ForFork0_~thread~0=v_threadThread4of8ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_344|, threadThread4of8ForFork0_~arg.base=v_threadThread4of8ForFork0_~arg.base_6, threadThread4of8ForFork0_#res.offset=|v_threadThread4of8ForFork0_#res.offset_4|, threadThread4of8ForFork0_#in~arg.base=|v_threadThread4of8ForFork0_#in~arg.base_4|, threadThread4of8ForFork0_~arg.offset=v_threadThread4of8ForFork0_~arg.offset_6, threadThread4of8ForFork0_thidvar0=v_threadThread4of8ForFork0_thidvar0_2, threadThread4of8ForFork0_#res.base=|v_threadThread4of8ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_256|} AuxVars[] AssignedVars[threadThread4of8ForFork0_#in~arg.offset, threadThread4of8ForFork0_~thread~0, threadThread4of8ForFork0_~arg.base, threadThread4of8ForFork0_#res.offset, threadThread4of8ForFork0_#in~arg.base, threadThread4of8ForFork0_~arg.offset, threadThread4of8ForFork0_thidvar0, threadThread4of8ForFork0_#res.base] 301#[threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [1166] 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] 343#[threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 391#[threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 445#[threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY]don't care [1216] L724-3-->threadENTRY: Formula: (and (= |v_threadThread5of8ForFork0_#in~arg.base_4| 0) (= |v_threadThread5of8ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_346|) (= |v_ULTIMATE.start_main_#t~pre2#1_258| v_threadThread5of8ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_346|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_258|} OutVars{threadThread5of8ForFork0_#res.offset=|v_threadThread5of8ForFork0_#res.offset_4|, threadThread5of8ForFork0_~arg.base=v_threadThread5of8ForFork0_~arg.base_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_346|, threadThread5of8ForFork0_~thread~0=v_threadThread5of8ForFork0_~thread~0_6, threadThread5of8ForFork0_#in~arg.offset=|v_threadThread5of8ForFork0_#in~arg.offset_4|, threadThread5of8ForFork0_#in~arg.base=|v_threadThread5of8ForFork0_#in~arg.base_4|, threadThread5of8ForFork0_thidvar0=v_threadThread5of8ForFork0_thidvar0_2, threadThread5of8ForFork0_#res.base=|v_threadThread5of8ForFork0_#res.base_4|, threadThread5of8ForFork0_~arg.offset=v_threadThread5of8ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_258|} AuxVars[] AssignedVars[threadThread5of8ForFork0_#res.offset, threadThread5of8ForFork0_~arg.base, threadThread5of8ForFork0_~thread~0, threadThread5of8ForFork0_#in~arg.offset, threadThread5of8ForFork0_#in~arg.base, threadThread5of8ForFork0_thidvar0, threadThread5of8ForFork0_#res.base, threadThread5of8ForFork0_~arg.offset] 511#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [1166] 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] 595#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 697#[threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 813#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [1217] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_260| v_threadThread6of8ForFork0_thidvar0_2) (= |v_threadThread6of8ForFork0_#in~arg.base_4| 0) (= |v_threadThread6of8ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_348|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_348|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_260|} OutVars{threadThread6of8ForFork0_#in~arg.base=|v_threadThread6of8ForFork0_#in~arg.base_4|, threadThread6of8ForFork0_#res.base=|v_threadThread6of8ForFork0_#res.base_4|, threadThread6of8ForFork0_~arg.base=v_threadThread6of8ForFork0_~arg.base_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_348|, threadThread6of8ForFork0_~thread~0=v_threadThread6of8ForFork0_~thread~0_6, threadThread6of8ForFork0_thidvar0=v_threadThread6of8ForFork0_thidvar0_2, threadThread6of8ForFork0_#res.offset=|v_threadThread6of8ForFork0_#res.offset_4|, threadThread6of8ForFork0_#in~arg.offset=|v_threadThread6of8ForFork0_#in~arg.offset_4|, threadThread6of8ForFork0_~arg.offset=v_threadThread6of8ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_260|} AuxVars[] AssignedVars[threadThread6of8ForFork0_#in~arg.base, threadThread6of8ForFork0_#res.base, threadThread6of8ForFork0_~arg.base, threadThread6of8ForFork0_~thread~0, threadThread6of8ForFork0_thidvar0, threadThread6of8ForFork0_#res.offset, threadThread6of8ForFork0_#in~arg.offset, threadThread6of8ForFork0_~arg.offset] 951#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1166] 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] 1123#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 1337#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 1587#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [1218] L724-3-->threadENTRY: Formula: (and (= |v_threadThread7of8ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_350|) (= |v_threadThread7of8ForFork0_#in~arg.base_4| 0) (= v_threadThread7of8ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_262|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_350|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_262|} OutVars{threadThread7of8ForFork0_thidvar0=v_threadThread7of8ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_350|, threadThread7of8ForFork0_#in~arg.base=|v_threadThread7of8ForFork0_#in~arg.base_4|, threadThread7of8ForFork0_#res.offset=|v_threadThread7of8ForFork0_#res.offset_4|, threadThread7of8ForFork0_#in~arg.offset=|v_threadThread7of8ForFork0_#in~arg.offset_4|, threadThread7of8ForFork0_~thread~0=v_threadThread7of8ForFork0_~thread~0_6, threadThread7of8ForFork0_~arg.offset=v_threadThread7of8ForFork0_~arg.offset_6, threadThread7of8ForFork0_#res.base=|v_threadThread7of8ForFork0_#res.base_4|, threadThread7of8ForFork0_~arg.base=v_threadThread7of8ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_262|} AuxVars[] AssignedVars[threadThread7of8ForFork0_thidvar0, threadThread7of8ForFork0_#in~arg.base, threadThread7of8ForFork0_#res.offset, threadThread7of8ForFork0_#in~arg.offset, threadThread7of8ForFork0_~thread~0, threadThread7of8ForFork0_~arg.offset, threadThread7of8ForFork0_#res.base, threadThread7of8ForFork0_~arg.base] 1879#[threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1166] 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] 2237#[threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 2683#[threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 3219#[threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1219] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_264| v_threadThread8of8ForFork0_thidvar0_2) (= |v_threadThread8of8ForFork0_#in~arg.base_4| 0) (= |v_threadThread8of8ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_352|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_352|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_264|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_352|, threadThread8of8ForFork0_#in~arg.offset=|v_threadThread8of8ForFork0_#in~arg.offset_4|, threadThread8of8ForFork0_#res.offset=|v_threadThread8of8ForFork0_#res.offset_4|, threadThread8of8ForFork0_~arg.base=v_threadThread8of8ForFork0_~arg.base_6, threadThread8of8ForFork0_~thread~0=v_threadThread8of8ForFork0_~thread~0_6, threadThread8of8ForFork0_thidvar0=v_threadThread8of8ForFork0_thidvar0_2, threadThread8of8ForFork0_#res.base=|v_threadThread8of8ForFork0_#res.base_4|, threadThread8of8ForFork0_#in~arg.base=|v_threadThread8of8ForFork0_#in~arg.base_4|, threadThread8of8ForFork0_~arg.offset=v_threadThread8of8ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_264|} AuxVars[] AssignedVars[threadThread8of8ForFork0_#in~arg.offset, threadThread8of8ForFork0_#res.offset, threadThread8of8ForFork0_~arg.base, threadThread8of8ForFork0_~thread~0, threadThread8of8ForFork0_thidvar0, threadThread8of8ForFork0_#res.base, threadThread8of8ForFork0_#in~arg.base, threadThread8of8ForFork0_~arg.offset] 3845#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1166] 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#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1280] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_368| 1) |v_ULTIMATE.start_main_~i~0#1_367|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_368|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_186|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_367|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_144|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 5533#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1288] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_375| 4))) (let ((.cse1 (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228|))) (and (<= (+ .cse0 |v_ULTIMATE.start_main_~#t~0#1.offset_228| 4) (select |v_#length_291| |v_ULTIMATE.start_main_~#t~0#1.base_270|)) (<= |v_ULTIMATE.start_main_~i~0#1_375| 20) (= (select |v_#valid_402| |v_ULTIMATE.start_main_~#t~0#1.base_270|) 1) (= (+ |v_#pthreadsForks_129| 1) |v_#pthreadsForks_128|) (<= 0 .cse1) (= |v_ULTIMATE.start_main_#t~pre2#1_275| |v_#pthreadsForks_129|) (= (store |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270| (store (select |v_#memory_int_240| |v_ULTIMATE.start_main_~#t~0#1.base_270|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_275|)) |v_#memory_int_239|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_129|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_240|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_375|, #pthreadsForks=|v_#pthreadsForks_128|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_228|, #valid=|v_#valid_402|, #memory_int=|v_#memory_int_239|, #length=|v_#length_291|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_270|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_275|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 6675#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY]don't care [1210] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 8025#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:22:07,797 INFO L735 eck$LassoCheckResult]: Loop: 8025#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1211] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 8025#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:22:07,798 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:22:07,798 INFO L85 PathProgramCache]: Analyzing trace with hash 537451956, now seen corresponding path program 1 times [2022-07-26 14:22:07,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:22:07,798 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [315797988] [2022-07-26 14:22:07,798 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:22:07,799 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:22:07,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:07,821 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:22:07,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:07,839 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:22:07,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:22:07,840 INFO L85 PathProgramCache]: Analyzing trace with hash 1242, now seen corresponding path program 1 times [2022-07-26 14:22:07,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:22:07,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1949390951] [2022-07-26 14:22:07,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:22:07,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:22:07,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:07,844 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:22:07,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:07,846 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:22:07,848 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:22:07,848 INFO L85 PathProgramCache]: Analyzing trace with hash -518857337, now seen corresponding path program 1 times [2022-07-26 14:22:07,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:22:07,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247953250] [2022-07-26 14:22:07,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:22:07,849 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:22:07,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:07,869 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:22:07,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:07,883 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:22:13,570 WARN L146 chiAutomizerObserver]: 8 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:22:13,585 INFO L144 ThreadInstanceAdder]: Constructed 9 joinOtherThreadTransitions. [2022-07-26 14:22:13,588 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 121 places, 115 transitions, 374 flow [2022-07-26 14:22:14,828 INFO L129 PetriNetUnfolder]: 2335/9699 cut-off events. [2022-07-26 14:22:14,829 INFO L130 PetriNetUnfolder]: For 2460/2460 co-relation queries the response was YES. [2022-07-26 14:22:14,855 INFO L84 FinitePrefix]: Finished finitePrefix Result has 12076 conditions, 9699 events. 2335/9699 cut-off events. For 2460/2460 co-relation queries the response was YES. Maximal size of possible extension queue 208. Compared 90894 event pairs, 1291 based on Foata normal form. 0/8645 useless extension candidates. Maximal degree in co-relation 5883. Up to 2304 conditions per place. [2022-07-26 14:22:14,855 INFO L82 GeneralOperation]: Start removeDead. Operand has 121 places, 115 transitions, 374 flow [2022-07-26 14:22:14,961 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 121 places, 115 transitions, 374 flow [2022-07-26 14:22:14,961 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:22:14,961 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 121 places, 115 transitions, 374 flow [2022-07-26 14:22:14,961 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 121 places, 115 transitions, 374 flow [2022-07-26 14:22:14,961 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 121 places, 115 transitions, 374 flow [2022-07-26 14:22:16,024 INFO L129 PetriNetUnfolder]: 2335/9699 cut-off events. [2022-07-26 14:22:16,025 INFO L130 PetriNetUnfolder]: For 2460/2460 co-relation queries the response was YES. [2022-07-26 14:22:16,045 INFO L84 FinitePrefix]: Finished finitePrefix Result has 12076 conditions, 9699 events. 2335/9699 cut-off events. For 2460/2460 co-relation queries the response was YES. Maximal size of possible extension queue 211. Compared 89979 event pairs, 1291 based on Foata normal form. 0/8645 useless extension candidates. Maximal degree in co-relation 5883. Up to 2304 conditions per place. [2022-07-26 14:22:16,180 INFO L116 LiptonReduction]: Number of co-enabled transitions 5760 [2022-07-26 14:22:17,656 INFO L131 LiptonReduction]: Checked pairs total: 9661 [2022-07-26 14:22:17,656 INFO L133 LiptonReduction]: Total number of compositions: 80 [2022-07-26 14:22:17,657 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:22:17,657 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:22:17,657 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:22:17,657 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:22:17,657 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:22:17,657 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:22:17,657 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:22:17,657 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:22:17,657 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:22:27,913 INFO L131 ngComponentsAnalysis]: Automaton has 512 accepting balls. 512 [2022-07-26 14:22:27,914 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:22:27,914 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:22:27,914 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:22:27,914 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:22:27,914 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:22:27,914 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 101993 states, but on-demand construction may add more states [2022-07-26 14:22:30,070 INFO L131 ngComponentsAnalysis]: Automaton has 512 accepting balls. 512 [2022-07-26 14:22:30,070 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:22:30,070 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:22:30,071 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:22:30,071 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:22:30,072 INFO L733 eck$LassoCheckResult]: Stem: 124#[ULTIMATE.startENTRY]don't care [1505] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_279| 1))) (and (= (select |v_#length_340| 2) 1) (= 2 (select |v_#length_340| 1)) (= |v_ULTIMATE.start_main_~argv#1.base_145| |v_ULTIMATE.start_main_#in~argv#1.base_135|) (= (select |v_#valid_469| 1) 1) (= |v_ULTIMATE.start_main_#in~argc#1_129| |v_ULTIMATE.start_main_~argc#1_135|) (= |v_ULTIMATE.start_main_~i~0#1_448| 1) (= (select .cse0 1) 0) (= (store |v_#length_340| |v_ULTIMATE.start_main_~#t~0#1.base_317| 84) |v_#length_339|) (= (store |v_#valid_469| |v_ULTIMATE.start_main_~#t~0#1.base_317| 1) |v_#valid_468|) (= (select (select |v_#memory_int_279| 2) 0) 0) (= (select |v_#valid_469| |v_ULTIMATE.start_main_~#t~0#1.base_317|) 0) (= (select |v_#valid_469| 0) 0) (< |v_#StackHeapBarrier_145| |v_ULTIMATE.start_main_~#t~0#1.base_317|) (= (select .cse0 0) 48) (= |v_#NULL.base_84| 0) (= (select |v_#valid_469| 2) 1) (= |v_ULTIMATE.start_#in~argv#1.offset_94| |v_ULTIMATE.start_main_#in~argv#1.offset_135|) (= |v_ULTIMATE.start_main_#in~argc#1_129| |v_ULTIMATE.start_#in~argc#1_94|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_267| 0) (= |v_#NULL.offset_84| 0) (= v_~x~0_466 0) (= |v_ULTIMATE.start_#in~argv#1.base_94| |v_ULTIMATE.start_main_#in~argv#1.base_135|) (= |v_ULTIMATE.start_main_~argv#1.offset_145| |v_ULTIMATE.start_main_#in~argv#1.offset_135|) (< 0 |v_#StackHeapBarrier_145|))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_94|, #StackHeapBarrier=|v_#StackHeapBarrier_145|, #valid=|v_#valid_469|, #memory_int=|v_#memory_int_279|, #length=|v_#length_340|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_94|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_94|} OutVars{#NULL.offset=|v_#NULL.offset_84|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_145|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_145|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_94|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_448|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_129|, #length=|v_#length_339|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_169|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_94|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_214|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_94|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_317|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_135|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_223|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_314|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_206|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_135|, #NULL.base=|v_#NULL.base_84|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_333|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_135|, #StackHeapBarrier=|v_#StackHeapBarrier_145|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_173|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_267|, #valid=|v_#valid_468|, #memory_int=|v_#memory_int_279|, ~x~0=v_~x~0_466} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 127#[L723-5]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 129#[L724-3]don't care [1408] L724-3-->threadENTRY: Formula: (and (= |v_threadThread1of9ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_302| v_threadThread1of9ForFork0_thidvar0_2) (= |v_threadThread1of9ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_397|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_397|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_302|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_397|, threadThread1of9ForFork0_thidvar0=v_threadThread1of9ForFork0_thidvar0_2, threadThread1of9ForFork0_#in~arg.offset=|v_threadThread1of9ForFork0_#in~arg.offset_4|, threadThread1of9ForFork0_~thread~0=v_threadThread1of9ForFork0_~thread~0_6, threadThread1of9ForFork0_~arg.base=v_threadThread1of9ForFork0_~arg.base_6, threadThread1of9ForFork0_#res.offset=|v_threadThread1of9ForFork0_#res.offset_4|, threadThread1of9ForFork0_~arg.offset=v_threadThread1of9ForFork0_~arg.offset_6, threadThread1of9ForFork0_#in~arg.base=|v_threadThread1of9ForFork0_#in~arg.base_4|, threadThread1of9ForFork0_#res.base=|v_threadThread1of9ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_302|} AuxVars[] AssignedVars[threadThread1of9ForFork0_thidvar0, threadThread1of9ForFork0_#in~arg.offset, threadThread1of9ForFork0_~thread~0, threadThread1of9ForFork0_~arg.base, threadThread1of9ForFork0_#res.offset, threadThread1of9ForFork0_~arg.offset, threadThread1of9ForFork0_#in~arg.base, threadThread1of9ForFork0_#res.base] 133#[threadENTRY, L724-4]don't care [1357] 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 [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 145#[L723-5, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 149#[L724-3, threadENTRY]don't care [1409] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_399| |v_threadThread2of9ForFork0_#in~arg.offset_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_304| v_threadThread2of9ForFork0_thidvar0_2) (= |v_threadThread2of9ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_399|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_304|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_399|, threadThread2of9ForFork0_#res.offset=|v_threadThread2of9ForFork0_#res.offset_4|, threadThread2of9ForFork0_~thread~0=v_threadThread2of9ForFork0_~thread~0_6, threadThread2of9ForFork0_#in~arg.offset=|v_threadThread2of9ForFork0_#in~arg.offset_4|, threadThread2of9ForFork0_#in~arg.base=|v_threadThread2of9ForFork0_#in~arg.base_4|, threadThread2of9ForFork0_#res.base=|v_threadThread2of9ForFork0_#res.base_4|, threadThread2of9ForFork0_~arg.offset=v_threadThread2of9ForFork0_~arg.offset_6, threadThread2of9ForFork0_thidvar0=v_threadThread2of9ForFork0_thidvar0_2, threadThread2of9ForFork0_~arg.base=v_threadThread2of9ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_304|} AuxVars[] AssignedVars[threadThread2of9ForFork0_#res.offset, threadThread2of9ForFork0_~thread~0, threadThread2of9ForFork0_#in~arg.offset, threadThread2of9ForFork0_#in~arg.base, threadThread2of9ForFork0_#res.base, threadThread2of9ForFork0_~arg.offset, threadThread2of9ForFork0_thidvar0, threadThread2of9ForFork0_~arg.base] 157#[threadENTRY, L724-4, threadENTRY]don't care [1357] 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] 169#[threadENTRY, L724-5, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 179#[L723-5, threadENTRY, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 189#[threadENTRY, L724-3, threadENTRY]don't care [1410] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_306| v_threadThread3of9ForFork0_thidvar0_2) (= |v_ULTIMATE.start_main_~i~0#1_401| |v_threadThread3of9ForFork0_#in~arg.offset_4|) (= |v_threadThread3of9ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_401|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_306|} OutVars{threadThread3of9ForFork0_thidvar0=v_threadThread3of9ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_401|, threadThread3of9ForFork0_#res.offset=|v_threadThread3of9ForFork0_#res.offset_4|, threadThread3of9ForFork0_~arg.offset=v_threadThread3of9ForFork0_~arg.offset_6, threadThread3of9ForFork0_#res.base=|v_threadThread3of9ForFork0_#res.base_4|, threadThread3of9ForFork0_~thread~0=v_threadThread3of9ForFork0_~thread~0_6, threadThread3of9ForFork0_#in~arg.offset=|v_threadThread3of9ForFork0_#in~arg.offset_4|, threadThread3of9ForFork0_#in~arg.base=|v_threadThread3of9ForFork0_#in~arg.base_4|, threadThread3of9ForFork0_~arg.base=v_threadThread3of9ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_306|} AuxVars[] AssignedVars[threadThread3of9ForFork0_thidvar0, threadThread3of9ForFork0_#res.offset, threadThread3of9ForFork0_~arg.offset, threadThread3of9ForFork0_#res.base, threadThread3of9ForFork0_~thread~0, threadThread3of9ForFork0_#in~arg.offset, threadThread3of9ForFork0_#in~arg.base, threadThread3of9ForFork0_~arg.base] 201#[threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [1357] 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] 223#[L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 247#[threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 271#[threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [1411] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_308| v_threadThread4of9ForFork0_thidvar0_2) (= |v_threadThread4of9ForFork0_#in~arg.base_4| 0) (= |v_threadThread4of9ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_403|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_403|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_308|} OutVars{threadThread4of9ForFork0_~arg.base=v_threadThread4of9ForFork0_~arg.base_6, threadThread4of9ForFork0_#res.base=|v_threadThread4of9ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_403|, threadThread4of9ForFork0_#res.offset=|v_threadThread4of9ForFork0_#res.offset_4|, threadThread4of9ForFork0_~arg.offset=v_threadThread4of9ForFork0_~arg.offset_6, threadThread4of9ForFork0_#in~arg.offset=|v_threadThread4of9ForFork0_#in~arg.offset_4|, threadThread4of9ForFork0_~thread~0=v_threadThread4of9ForFork0_~thread~0_6, threadThread4of9ForFork0_thidvar0=v_threadThread4of9ForFork0_thidvar0_2, threadThread4of9ForFork0_#in~arg.base=|v_threadThread4of9ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_308|} AuxVars[] AssignedVars[threadThread4of9ForFork0_~arg.base, threadThread4of9ForFork0_#res.base, threadThread4of9ForFork0_#res.offset, threadThread4of9ForFork0_~arg.offset, threadThread4of9ForFork0_#in~arg.offset, threadThread4of9ForFork0_~thread~0, threadThread4of9ForFork0_thidvar0, threadThread4of9ForFork0_#in~arg.base] 301#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1357] 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] 345#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 395#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 447#[threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [1412] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_310| v_threadThread5of9ForFork0_thidvar0_2) (= |v_threadThread5of9ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_405|) (= |v_threadThread5of9ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_405|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_310|} OutVars{threadThread5of9ForFork0_#in~arg.base=|v_threadThread5of9ForFork0_#in~arg.base_4|, threadThread5of9ForFork0_~arg.offset=v_threadThread5of9ForFork0_~arg.offset_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_405|, threadThread5of9ForFork0_~thread~0=v_threadThread5of9ForFork0_~thread~0_6, threadThread5of9ForFork0_#res.base=|v_threadThread5of9ForFork0_#res.base_4|, threadThread5of9ForFork0_#in~arg.offset=|v_threadThread5of9ForFork0_#in~arg.offset_4|, threadThread5of9ForFork0_#res.offset=|v_threadThread5of9ForFork0_#res.offset_4|, threadThread5of9ForFork0_~arg.base=v_threadThread5of9ForFork0_~arg.base_6, threadThread5of9ForFork0_thidvar0=v_threadThread5of9ForFork0_thidvar0_2, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_310|} AuxVars[] AssignedVars[threadThread5of9ForFork0_#in~arg.base, threadThread5of9ForFork0_~arg.offset, threadThread5of9ForFork0_~thread~0, threadThread5of9ForFork0_#res.base, threadThread5of9ForFork0_#in~arg.offset, threadThread5of9ForFork0_#res.offset, threadThread5of9ForFork0_~arg.base, threadThread5of9ForFork0_thidvar0] 509#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [1357] 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] 593#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 701#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 815#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [1413] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_312| v_threadThread6of9ForFork0_thidvar0_2) (= |v_threadThread6of9ForFork0_#in~arg.base_4| 0) (= |v_threadThread6of9ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_407|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_407|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_312|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_407|, threadThread6of9ForFork0_#res.base=|v_threadThread6of9ForFork0_#res.base_4|, threadThread6of9ForFork0_~arg.offset=v_threadThread6of9ForFork0_~arg.offset_6, threadThread6of9ForFork0_#res.offset=|v_threadThread6of9ForFork0_#res.offset_4|, threadThread6of9ForFork0_~thread~0=v_threadThread6of9ForFork0_~thread~0_6, threadThread6of9ForFork0_#in~arg.offset=|v_threadThread6of9ForFork0_#in~arg.offset_4|, threadThread6of9ForFork0_~arg.base=v_threadThread6of9ForFork0_~arg.base_6, threadThread6of9ForFork0_thidvar0=v_threadThread6of9ForFork0_thidvar0_2, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_312|, threadThread6of9ForFork0_#in~arg.base=|v_threadThread6of9ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[threadThread6of9ForFork0_#res.base, threadThread6of9ForFork0_~arg.offset, threadThread6of9ForFork0_#res.offset, threadThread6of9ForFork0_~thread~0, threadThread6of9ForFork0_#in~arg.offset, threadThread6of9ForFork0_~arg.base, threadThread6of9ForFork0_thidvar0, threadThread6of9ForFork0_#in~arg.base] 949#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY]don't care [1357] 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] 1121#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 1341#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 1589#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [1414] L724-3-->threadENTRY: Formula: (and (= |v_threadThread7of9ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_409|) (= |v_threadThread7of9ForFork0_#in~arg.base_4| 0) (= v_threadThread7of9ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_314|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_409|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_314|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_409|, threadThread7of9ForFork0_thidvar0=v_threadThread7of9ForFork0_thidvar0_2, threadThread7of9ForFork0_#in~arg.offset=|v_threadThread7of9ForFork0_#in~arg.offset_4|, threadThread7of9ForFork0_#res.base=|v_threadThread7of9ForFork0_#res.base_4|, threadThread7of9ForFork0_~arg.base=v_threadThread7of9ForFork0_~arg.base_6, threadThread7of9ForFork0_#res.offset=|v_threadThread7of9ForFork0_#res.offset_4|, threadThread7of9ForFork0_~arg.offset=v_threadThread7of9ForFork0_~arg.offset_6, threadThread7of9ForFork0_~thread~0=v_threadThread7of9ForFork0_~thread~0_6, threadThread7of9ForFork0_#in~arg.base=|v_threadThread7of9ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_314|} AuxVars[] AssignedVars[threadThread7of9ForFork0_thidvar0, threadThread7of9ForFork0_#in~arg.offset, threadThread7of9ForFork0_#res.base, threadThread7of9ForFork0_~arg.base, threadThread7of9ForFork0_#res.offset, threadThread7of9ForFork0_~arg.offset, threadThread7of9ForFork0_~thread~0, threadThread7of9ForFork0_#in~arg.base] 1877#[threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1357] 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] 2235#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 2687#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 3221#[L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1415] L724-3-->threadENTRY: Formula: (and (= |v_threadThread8of9ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_411|) (= |v_ULTIMATE.start_main_#t~pre2#1_316| v_threadThread8of9ForFork0_thidvar0_2) (= |v_threadThread8of9ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_411|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_316|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_411|, threadThread8of9ForFork0_#in~arg.offset=|v_threadThread8of9ForFork0_#in~arg.offset_4|, threadThread8of9ForFork0_~thread~0=v_threadThread8of9ForFork0_~thread~0_6, threadThread8of9ForFork0_~arg.offset=v_threadThread8of9ForFork0_~arg.offset_6, threadThread8of9ForFork0_#res.base=|v_threadThread8of9ForFork0_#res.base_4|, threadThread8of9ForFork0_#in~arg.base=|v_threadThread8of9ForFork0_#in~arg.base_4|, threadThread8of9ForFork0_~arg.base=v_threadThread8of9ForFork0_~arg.base_6, threadThread8of9ForFork0_#res.offset=|v_threadThread8of9ForFork0_#res.offset_4|, threadThread8of9ForFork0_thidvar0=v_threadThread8of9ForFork0_thidvar0_2, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_316|} AuxVars[] AssignedVars[threadThread8of9ForFork0_#in~arg.offset, threadThread8of9ForFork0_~thread~0, threadThread8of9ForFork0_~arg.offset, threadThread8of9ForFork0_#res.base, threadThread8of9ForFork0_#in~arg.base, threadThread8of9ForFork0_~arg.base, threadThread8of9ForFork0_#res.offset, threadThread8of9ForFork0_thidvar0] 3843#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY]don't care [1357] 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] 4597#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 5537#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 6677#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1416] L724-3-->threadENTRY: Formula: (and (= |v_threadThread9of9ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_318| v_threadThread9of9ForFork0_thidvar0_2) (= |v_ULTIMATE.start_main_~i~0#1_413| |v_threadThread9of9ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_413|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_318|} OutVars{threadThread9of9ForFork0_~arg.base=v_threadThread9of9ForFork0_~arg.base_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_413|, threadThread9of9ForFork0_~thread~0=v_threadThread9of9ForFork0_~thread~0_6, threadThread9of9ForFork0_#in~arg.offset=|v_threadThread9of9ForFork0_#in~arg.offset_4|, threadThread9of9ForFork0_#res.base=|v_threadThread9of9ForFork0_#res.base_4|, threadThread9of9ForFork0_~arg.offset=v_threadThread9of9ForFork0_~arg.offset_6, threadThread9of9ForFork0_thidvar0=v_threadThread9of9ForFork0_thidvar0_2, threadThread9of9ForFork0_#in~arg.base=|v_threadThread9of9ForFork0_#in~arg.base_4|, threadThread9of9ForFork0_#res.offset=|v_threadThread9of9ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_318|} AuxVars[] AssignedVars[threadThread9of9ForFork0_~arg.base, threadThread9of9ForFork0_~thread~0, threadThread9of9ForFork0_#in~arg.offset, threadThread9of9ForFork0_#res.base, threadThread9of9ForFork0_~arg.offset, threadThread9of9ForFork0_thidvar0, threadThread9of9ForFork0_#in~arg.base, threadThread9of9ForFork0_#res.offset] 8023#[threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1357] 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] 9629#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1500] L724-5-->L723-5: Formula: (= (+ |v_ULTIMATE.start_main_~i~0#1_441| 1) |v_ULTIMATE.start_main_~i~0#1_440|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_441|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_219|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_440|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_169|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 11605#[threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1479] L723-5-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_432| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0))) (and (= |v_ULTIMATE.start_main_#t~pre2#1_327| |v_#pthreadsForks_149|) (<= |v_ULTIMATE.start_main_~i~0#1_432| 20) (= (select |v_#valid_446| |v_ULTIMATE.start_main_~#t~0#1.base_301|) 1) (= (+ |v_#pthreadsForks_149| 1) |v_#pthreadsForks_148|) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_255| .cse0 4) (select |v_#length_325| |v_ULTIMATE.start_main_~#t~0#1.base_301|)) (= (store |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301| (store (select |v_#memory_int_272| |v_ULTIMATE.start_main_~#t~0#1.base_301|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_327|)) |v_#memory_int_271|) (<= 0 .cse1)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_149|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_272|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_432|, #pthreadsForks=|v_#pthreadsForks_148|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_255|, #valid=|v_#valid_446|, #memory_int=|v_#memory_int_271|, #length=|v_#length_325|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_301|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_327|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 14029#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1406] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16937#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:22:30,072 INFO L735 eck$LassoCheckResult]: Loop: 16937#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1407] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16937#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-26 14:22:30,073 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:22:30,073 INFO L85 PathProgramCache]: Analyzing trace with hash -838482557, now seen corresponding path program 1 times [2022-07-26 14:22:30,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:22:30,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [617355] [2022-07-26 14:22:30,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:22:30,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:22:30,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:30,112 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:22:30,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:30,147 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:22:30,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:22:30,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1438, now seen corresponding path program 1 times [2022-07-26 14:22:30,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:22:30,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1782718495] [2022-07-26 14:22:30,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:22:30,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:22:30,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:30,154 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:22:30,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:30,156 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:22:30,158 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:22:30,158 INFO L85 PathProgramCache]: Analyzing trace with hash -223154084, now seen corresponding path program 1 times [2022-07-26 14:22:30,158 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:22:30,158 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1476977138] [2022-07-26 14:22:30,158 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:22:30,159 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:22:30,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:30,177 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:22:30,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:22:30,194 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:22:37,103 WARN L233 SmtUtils]: Spent 6.90s on a formula simplification. DAG size of input: 311 DAG size of output: 267 (called from [L 277] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2022-07-26 14:22:38,211 WARN L146 chiAutomizerObserver]: 9 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:22:38,226 INFO L144 ThreadInstanceAdder]: Constructed 10 joinOtherThreadTransitions. [2022-07-26 14:22:38,230 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 129 places, 122 transitions, 414 flow [2022-07-26 14:22:40,204 INFO L129 PetriNetUnfolder]: 5154/19705 cut-off events. [2022-07-26 14:22:40,205 INFO L130 PetriNetUnfolder]: For 5330/5330 co-relation queries the response was YES. [2022-07-26 14:22:40,277 INFO L84 FinitePrefix]: Finished finitePrefix Result has 24911 conditions, 19705 events. 5154/19705 cut-off events. For 5330/5330 co-relation queries the response was YES. Maximal size of possible extension queue 390. Compared 207239 event pairs, 3084 based on Foata normal form. 0/17624 useless extension candidates. Maximal degree in co-relation 12061. Up to 5120 conditions per place. [2022-07-26 14:22:40,278 INFO L82 GeneralOperation]: Start removeDead. Operand has 129 places, 122 transitions, 414 flow [2022-07-26 14:22:40,498 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 129 places, 122 transitions, 414 flow [2022-07-26 14:22:40,498 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:22:40,499 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 129 places, 122 transitions, 414 flow [2022-07-26 14:22:40,499 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 129 places, 122 transitions, 414 flow [2022-07-26 14:22:40,499 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 129 places, 122 transitions, 414 flow [2022-07-26 14:22:42,506 INFO L129 PetriNetUnfolder]: 5154/19705 cut-off events. [2022-07-26 14:22:42,507 INFO L130 PetriNetUnfolder]: For 5330/5330 co-relation queries the response was YES. [2022-07-26 14:22:42,583 INFO L84 FinitePrefix]: Finished finitePrefix Result has 24911 conditions, 19705 events. 5154/19705 cut-off events. For 5330/5330 co-relation queries the response was YES. Maximal size of possible extension queue 391. Compared 207318 event pairs, 3084 based on Foata normal form. 0/17624 useless extension candidates. Maximal degree in co-relation 12061. Up to 5120 conditions per place. [2022-07-26 14:22:42,910 INFO L116 LiptonReduction]: Number of co-enabled transitions 6800 [2022-07-26 14:22:44,420 INFO L131 LiptonReduction]: Checked pairs total: 12168 [2022-07-26 14:22:44,421 INFO L133 LiptonReduction]: Total number of compositions: 84 [2022-07-26 14:22:44,422 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:22:44,422 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:22:44,422 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:22:44,422 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:22:44,422 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:22:44,422 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:22:44,422 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:22:44,422 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:22:44,422 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 14:23:22,238 INFO L131 ngComponentsAnalysis]: Automaton has 1024 accepting balls. 1024 [2022-07-26 14:23:22,238 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:23:22,238 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:23:22,238 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:23:22,238 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:23:22,239 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 14:23:22,239 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 302407 states, but on-demand construction may add more states [2022-07-26 14:23:31,108 INFO L131 ngComponentsAnalysis]: Automaton has 1024 accepting balls. 1024 [2022-07-26 14:23:31,108 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 14:23:31,108 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 14:23:31,110 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-26 14:23:31,110 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 14:23:31,114 INFO L733 eck$LassoCheckResult]: Stem: 132#[ULTIMATE.startENTRY]don't care [1718] ULTIMATE.startENTRY-->L723-5: Formula: (let ((.cse0 (select |v_#memory_int_320| 1))) (and (= v_~x~0_545 0) (= |v_#NULL.base_91| 0) (< |v_#StackHeapBarrier_162| |v_ULTIMATE.start_main_~#t~0#1.base_348|) (= (select .cse0 0) 48) (= |v_ULTIMATE.start_main_#in~argc#1_144| |v_ULTIMATE.start_#in~argc#1_103|) (= |v_ULTIMATE.start_#in~argv#1.offset_103| |v_ULTIMATE.start_main_#in~argv#1.offset_150|) (= |v_ULTIMATE.start_main_~i~0#1_508| 1) (= |v_ULTIMATE.start_main_~argv#1.base_158| |v_ULTIMATE.start_main_#in~argv#1.base_150|) (= (store |v_#length_372| |v_ULTIMATE.start_main_~#t~0#1.base_348| 84) |v_#length_371|) (= |v_ULTIMATE.start_main_~argv#1.offset_158| |v_ULTIMATE.start_main_#in~argv#1.offset_150|) (= |v_#NULL.offset_91| 0) (= |v_ULTIMATE.start_main_#in~argc#1_144| |v_ULTIMATE.start_main_~argc#1_148|) (< 0 |v_#StackHeapBarrier_162|) (= |v_#valid_514| (store |v_#valid_515| |v_ULTIMATE.start_main_~#t~0#1.base_348| 1)) (= (select .cse0 1) 0) (= (select (select |v_#memory_int_320| 2) 0) 0) (= (select |v_#length_372| 1) 2) (= (select |v_#valid_515| 1) 1) (= (select |v_#valid_515| 2) 1) (= (select |v_#length_372| 2) 1) (= (select |v_#valid_515| 0) 0) (= |v_ULTIMATE.start_#in~argv#1.base_103| |v_ULTIMATE.start_main_#in~argv#1.base_150|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_292| 0) (= (select |v_#valid_515| |v_ULTIMATE.start_main_~#t~0#1.base_348|) 0))) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_103|, #StackHeapBarrier=|v_#StackHeapBarrier_162|, #valid=|v_#valid_515|, #memory_int=|v_#memory_int_320|, #length=|v_#length_372|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_103|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_103|} OutVars{#NULL.offset=|v_#NULL.offset_91|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_158|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_158|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_103|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_508|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_144|, #length=|v_#length_371|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_184|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_103|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_245|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_103|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_348|, ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_148|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_251|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_349|, ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_225|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_150|, #NULL.base=|v_#NULL.base_91|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_387|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_150|, #StackHeapBarrier=|v_#StackHeapBarrier_162|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_195|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_292|, #valid=|v_#valid_514|, #memory_int=|v_#memory_int_320|, ~x~0=v_~x~0_545} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_#res#1, ULTIMATE.start_main_#in~argv#1.offset, #NULL.offset, ULTIMATE.start_main_~argv#1.offset, #NULL.base, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ~x~0] 135#[L723-5]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 139#[L724-3]don't care [1615] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_356| v_threadThread1of10ForFork0_thidvar0_2) (= |v_threadThread1of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_461|) (= |v_threadThread1of10ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_461|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_356|} OutVars{threadThread1of10ForFork0_#in~arg.offset=|v_threadThread1of10ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_461|, threadThread1of10ForFork0_#res.offset=|v_threadThread1of10ForFork0_#res.offset_4|, threadThread1of10ForFork0_~thread~0=v_threadThread1of10ForFork0_~thread~0_6, threadThread1of10ForFork0_#in~arg.base=|v_threadThread1of10ForFork0_#in~arg.base_4|, threadThread1of10ForFork0_#res.base=|v_threadThread1of10ForFork0_#res.base_4|, threadThread1of10ForFork0_~arg.offset=v_threadThread1of10ForFork0_~arg.offset_6, threadThread1of10ForFork0_thidvar0=v_threadThread1of10ForFork0_thidvar0_2, threadThread1of10ForFork0_~arg.base=v_threadThread1of10ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_356|} AuxVars[] AssignedVars[threadThread1of10ForFork0_#in~arg.offset, threadThread1of10ForFork0_#res.offset, threadThread1of10ForFork0_~thread~0, threadThread1of10ForFork0_#in~arg.base, threadThread1of10ForFork0_#res.base, threadThread1of10ForFork0_~arg.offset, threadThread1of10ForFork0_thidvar0, threadThread1of10ForFork0_~arg.base] 145#[threadENTRY, L724-4]don't care [1559] 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] 149#[threadENTRY, L724-5]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 153#[threadENTRY, L723-5]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 159#[threadENTRY, L724-3]don't care [1616] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_358| v_threadThread2of10ForFork0_thidvar0_2) (= |v_threadThread2of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_463|) (= |v_threadThread2of10ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_463|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_358|} OutVars{threadThread2of10ForFork0_#res.offset=|v_threadThread2of10ForFork0_#res.offset_4|, threadThread2of10ForFork0_~thread~0=v_threadThread2of10ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_463|, threadThread2of10ForFork0_#in~arg.offset=|v_threadThread2of10ForFork0_#in~arg.offset_4|, threadThread2of10ForFork0_~arg.base=v_threadThread2of10ForFork0_~arg.base_6, threadThread2of10ForFork0_~arg.offset=v_threadThread2of10ForFork0_~arg.offset_6, threadThread2of10ForFork0_#res.base=|v_threadThread2of10ForFork0_#res.base_4|, threadThread2of10ForFork0_#in~arg.base=|v_threadThread2of10ForFork0_#in~arg.base_4|, threadThread2of10ForFork0_thidvar0=v_threadThread2of10ForFork0_thidvar0_2, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_358|} AuxVars[] AssignedVars[threadThread2of10ForFork0_#res.offset, threadThread2of10ForFork0_~thread~0, threadThread2of10ForFork0_#in~arg.offset, threadThread2of10ForFork0_~arg.base, threadThread2of10ForFork0_~arg.offset, threadThread2of10ForFork0_#res.base, threadThread2of10ForFork0_#in~arg.base, threadThread2of10ForFork0_thidvar0] 169#[threadENTRY, L724-4, threadENTRY]don't care [1559] 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] 179#[threadENTRY, threadENTRY, L724-5]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 189#[L723-5, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 201#[L724-3, threadENTRY, threadENTRY]don't care [1617] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_465|) (= |v_threadThread3of10ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_360| v_threadThread3of10ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_465|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_360|} OutVars{threadThread3of10ForFork0_~arg.offset=v_threadThread3of10ForFork0_~arg.offset_6, threadThread3of10ForFork0_#res.offset=|v_threadThread3of10ForFork0_#res.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_465|, threadThread3of10ForFork0_#in~arg.base=|v_threadThread3of10ForFork0_#in~arg.base_4|, threadThread3of10ForFork0_#res.base=|v_threadThread3of10ForFork0_#res.base_4|, threadThread3of10ForFork0_~arg.base=v_threadThread3of10ForFork0_~arg.base_6, threadThread3of10ForFork0_thidvar0=v_threadThread3of10ForFork0_thidvar0_2, threadThread3of10ForFork0_#in~arg.offset=|v_threadThread3of10ForFork0_#in~arg.offset_4|, threadThread3of10ForFork0_~thread~0=v_threadThread3of10ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_360|} AuxVars[] AssignedVars[threadThread3of10ForFork0_~arg.offset, threadThread3of10ForFork0_#res.offset, threadThread3of10ForFork0_#in~arg.base, threadThread3of10ForFork0_#res.base, threadThread3of10ForFork0_~arg.base, threadThread3of10ForFork0_thidvar0, threadThread3of10ForFork0_#in~arg.offset, threadThread3of10ForFork0_~thread~0] 217#[threadENTRY, L724-4, threadENTRY, threadENTRY]don't care [1559] 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] 237#[threadENTRY, L724-5, threadENTRY, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 259#[threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 285#[L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [1618] L724-3-->threadENTRY: Formula: (and (= |v_threadThread4of10ForFork0_#in~arg.base_4| 0) (= |v_threadThread4of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_467|) (= |v_ULTIMATE.start_main_#t~pre2#1_362| v_threadThread4of10ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_467|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_362|} OutVars{threadThread4of10ForFork0_#in~arg.base=|v_threadThread4of10ForFork0_#in~arg.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_467|, threadThread4of10ForFork0_~arg.base=v_threadThread4of10ForFork0_~arg.base_6, threadThread4of10ForFork0_#res.offset=|v_threadThread4of10ForFork0_#res.offset_4|, threadThread4of10ForFork0_thidvar0=v_threadThread4of10ForFork0_thidvar0_2, threadThread4of10ForFork0_#in~arg.offset=|v_threadThread4of10ForFork0_#in~arg.offset_4|, threadThread4of10ForFork0_~thread~0=v_threadThread4of10ForFork0_~thread~0_6, threadThread4of10ForFork0_~arg.offset=v_threadThread4of10ForFork0_~arg.offset_6, threadThread4of10ForFork0_#res.base=|v_threadThread4of10ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_362|} AuxVars[] AssignedVars[threadThread4of10ForFork0_#in~arg.base, threadThread4of10ForFork0_~arg.base, threadThread4of10ForFork0_#res.offset, threadThread4of10ForFork0_thidvar0, threadThread4of10ForFork0_#in~arg.offset, threadThread4of10ForFork0_~thread~0, threadThread4of10ForFork0_~arg.offset, threadThread4of10ForFork0_#res.base] 317#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1559] 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] 359#[threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 407#[threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 461#[threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [1619] L724-3-->threadENTRY: Formula: (and (= |v_threadThread5of10ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_364| v_threadThread5of10ForFork0_thidvar0_2) (= |v_threadThread5of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_469|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_469|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_364|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_469|, threadThread5of10ForFork0_#in~arg.base=|v_threadThread5of10ForFork0_#in~arg.base_4|, threadThread5of10ForFork0_#res.base=|v_threadThread5of10ForFork0_#res.base_4|, threadThread5of10ForFork0_thidvar0=v_threadThread5of10ForFork0_thidvar0_2, threadThread5of10ForFork0_~thread~0=v_threadThread5of10ForFork0_~thread~0_6, threadThread5of10ForFork0_#in~arg.offset=|v_threadThread5of10ForFork0_#in~arg.offset_4|, threadThread5of10ForFork0_#res.offset=|v_threadThread5of10ForFork0_#res.offset_4|, threadThread5of10ForFork0_~arg.offset=v_threadThread5of10ForFork0_~arg.offset_6, threadThread5of10ForFork0_~arg.base=v_threadThread5of10ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_364|} AuxVars[] AssignedVars[threadThread5of10ForFork0_#in~arg.base, threadThread5of10ForFork0_#res.base, threadThread5of10ForFork0_thidvar0, threadThread5of10ForFork0_~thread~0, threadThread5of10ForFork0_#in~arg.offset, threadThread5of10ForFork0_#res.offset, threadThread5of10ForFork0_~arg.offset, threadThread5of10ForFork0_~arg.base] 527#[threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1559] 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] 611#[threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 713#[threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 829#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [1620] L724-3-->threadENTRY: Formula: (and (= |v_threadThread6of10ForFork0_#in~arg.base_4| 0) (= |v_threadThread6of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_471|) (= |v_ULTIMATE.start_main_#t~pre2#1_366| v_threadThread6of10ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_471|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_366|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_471|, threadThread6of10ForFork0_thidvar0=v_threadThread6of10ForFork0_thidvar0_2, threadThread6of10ForFork0_~arg.offset=v_threadThread6of10ForFork0_~arg.offset_6, threadThread6of10ForFork0_#res.base=|v_threadThread6of10ForFork0_#res.base_4|, threadThread6of10ForFork0_#res.offset=|v_threadThread6of10ForFork0_#res.offset_4|, threadThread6of10ForFork0_~thread~0=v_threadThread6of10ForFork0_~thread~0_6, threadThread6of10ForFork0_#in~arg.offset=|v_threadThread6of10ForFork0_#in~arg.offset_4|, threadThread6of10ForFork0_~arg.base=v_threadThread6of10ForFork0_~arg.base_6, threadThread6of10ForFork0_#in~arg.base=|v_threadThread6of10ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_366|} AuxVars[] AssignedVars[threadThread6of10ForFork0_thidvar0, threadThread6of10ForFork0_~arg.offset, threadThread6of10ForFork0_#res.base, threadThread6of10ForFork0_#res.offset, threadThread6of10ForFork0_~thread~0, threadThread6of10ForFork0_#in~arg.offset, threadThread6of10ForFork0_~arg.base, threadThread6of10ForFork0_#in~arg.base] 967#[threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1559] 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] 1137#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 1353#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 1603#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1621] L724-3-->threadENTRY: Formula: (and (= |v_threadThread7of10ForFork0_#in~arg.base_4| 0) (= |v_threadThread7of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_473|) (= |v_ULTIMATE.start_main_#t~pre2#1_368| v_threadThread7of10ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_473|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_368|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_473|, threadThread7of10ForFork0_~arg.base=v_threadThread7of10ForFork0_~arg.base_6, threadThread7of10ForFork0_~arg.offset=v_threadThread7of10ForFork0_~arg.offset_6, threadThread7of10ForFork0_#res.offset=|v_threadThread7of10ForFork0_#res.offset_4|, threadThread7of10ForFork0_#in~arg.base=|v_threadThread7of10ForFork0_#in~arg.base_4|, threadThread7of10ForFork0_#res.base=|v_threadThread7of10ForFork0_#res.base_4|, threadThread7of10ForFork0_#in~arg.offset=|v_threadThread7of10ForFork0_#in~arg.offset_4|, threadThread7of10ForFork0_thidvar0=v_threadThread7of10ForFork0_thidvar0_2, threadThread7of10ForFork0_~thread~0=v_threadThread7of10ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_368|} AuxVars[] AssignedVars[threadThread7of10ForFork0_~arg.base, threadThread7of10ForFork0_~arg.offset, threadThread7of10ForFork0_#res.offset, threadThread7of10ForFork0_#in~arg.base, threadThread7of10ForFork0_#res.base, threadThread7of10ForFork0_#in~arg.offset, threadThread7of10ForFork0_thidvar0, threadThread7of10ForFork0_~thread~0] 1895#[threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1559] 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] 2251#[threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 2699#[threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 3235#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1622] L724-3-->threadENTRY: Formula: (and (= |v_threadThread8of10ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_370| v_threadThread8of10ForFork0_thidvar0_2) (= |v_threadThread8of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_475|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_475|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_370|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_475|, threadThread8of10ForFork0_#in~arg.offset=|v_threadThread8of10ForFork0_#in~arg.offset_4|, threadThread8of10ForFork0_#res.offset=|v_threadThread8of10ForFork0_#res.offset_4|, threadThread8of10ForFork0_#in~arg.base=|v_threadThread8of10ForFork0_#in~arg.base_4|, threadThread8of10ForFork0_~arg.base=v_threadThread8of10ForFork0_~arg.base_6, threadThread8of10ForFork0_~thread~0=v_threadThread8of10ForFork0_~thread~0_6, threadThread8of10ForFork0_~arg.offset=v_threadThread8of10ForFork0_~arg.offset_6, threadThread8of10ForFork0_thidvar0=v_threadThread8of10ForFork0_thidvar0_2, threadThread8of10ForFork0_#res.base=|v_threadThread8of10ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_370|} AuxVars[] AssignedVars[threadThread8of10ForFork0_#in~arg.offset, threadThread8of10ForFork0_#res.offset, threadThread8of10ForFork0_#in~arg.base, threadThread8of10ForFork0_~arg.base, threadThread8of10ForFork0_~thread~0, threadThread8of10ForFork0_~arg.offset, threadThread8of10ForFork0_thidvar0, threadThread8of10ForFork0_#res.base] 3861#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [1559] 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] 4613#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 5547#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 6691#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [1623] L724-3-->threadENTRY: Formula: (and (= |v_threadThread9of10ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre2#1_372| v_threadThread9of10ForFork0_thidvar0_2) (= |v_threadThread9of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_477|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_477|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_372|} OutVars{threadThread9of10ForFork0_#in~arg.offset=|v_threadThread9of10ForFork0_#in~arg.offset_4|, threadThread9of10ForFork0_#res.offset=|v_threadThread9of10ForFork0_#res.offset_4|, threadThread9of10ForFork0_thidvar0=v_threadThread9of10ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_477|, threadThread9of10ForFork0_~thread~0=v_threadThread9of10ForFork0_~thread~0_6, threadThread9of10ForFork0_#in~arg.base=|v_threadThread9of10ForFork0_#in~arg.base_4|, threadThread9of10ForFork0_#res.base=|v_threadThread9of10ForFork0_#res.base_4|, threadThread9of10ForFork0_~arg.offset=v_threadThread9of10ForFork0_~arg.offset_6, threadThread9of10ForFork0_~arg.base=v_threadThread9of10ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_372|} AuxVars[] AssignedVars[threadThread9of10ForFork0_#in~arg.offset, threadThread9of10ForFork0_#res.offset, threadThread9of10ForFork0_thidvar0, threadThread9of10ForFork0_~thread~0, threadThread9of10ForFork0_#in~arg.base, threadThread9of10ForFork0_#res.base, threadThread9of10ForFork0_~arg.offset, threadThread9of10ForFork0_~arg.base] 8041#[threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1559] 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] 9647#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 11617#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 14043#[threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1624] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_374| v_threadThread10of10ForFork0_thidvar0_2) (= |v_threadThread10of10ForFork0_#in~arg.base_4| 0) (= |v_threadThread10of10ForFork0_#in~arg.offset_4| |v_ULTIMATE.start_main_~i~0#1_479|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_479|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_374|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_479|, threadThread10of10ForFork0_~arg.base=v_threadThread10of10ForFork0_~arg.base_6, threadThread10of10ForFork0_~arg.offset=v_threadThread10of10ForFork0_~arg.offset_6, threadThread10of10ForFork0_#res.offset=|v_threadThread10of10ForFork0_#res.offset_4|, threadThread10of10ForFork0_#in~arg.base=|v_threadThread10of10ForFork0_#in~arg.base_4|, threadThread10of10ForFork0_#res.base=|v_threadThread10of10ForFork0_#res.base_4|, threadThread10of10ForFork0_#in~arg.offset=|v_threadThread10of10ForFork0_#in~arg.offset_4|, threadThread10of10ForFork0_thidvar0=v_threadThread10of10ForFork0_thidvar0_2, threadThread10of10ForFork0_~thread~0=v_threadThread10of10ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_374|} AuxVars[] AssignedVars[threadThread10of10ForFork0_~arg.base, threadThread10of10ForFork0_~arg.offset, threadThread10of10ForFork0_#res.offset, threadThread10of10ForFork0_#in~arg.base, threadThread10of10ForFork0_#res.base, threadThread10of10ForFork0_#in~arg.offset, threadThread10of10ForFork0_thidvar0, threadThread10of10ForFork0_~thread~0] 16955#[threadENTRY, threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1559] 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] 20407#[threadENTRY, threadENTRY, L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1688] L724-5-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_488| (+ |v_ULTIMATE.start_main_~i~0#1_489| 1)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_489|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_243|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_488|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_189|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1] 24595#[threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1709] L723-5-->L724-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_502| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1))) (and (= (store |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342| (store (select |v_#memory_int_313| |v_ULTIMATE.start_main_~#t~0#1.base_342|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_383|)) |v_#memory_int_312|) (= |v_ULTIMATE.start_main_#t~pre2#1_383| |v_#pthreadsForks_172|) (= (+ |v_#pthreadsForks_172| 1) |v_#pthreadsForks_171|) (<= 0 .cse0) (= (select |v_#valid_504| |v_ULTIMATE.start_main_~#t~0#1.base_342|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_286| .cse1 4) (select |v_#length_361| |v_ULTIMATE.start_main_~#t~0#1.base_342|)) (<= |v_ULTIMATE.start_main_~i~0#1_502| 20)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_172|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_313|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_502|, #pthreadsForks=|v_#pthreadsForks_171|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_286|, #valid=|v_#valid_504|, #memory_int=|v_#memory_int_312|, #length=|v_#length_361|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_342|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_383|} AuxVars[] AssignedVars[#pthreadsForks, #memory_int, ULTIMATE.start_main_#t~pre2#1] 29753#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [1613] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 36021#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-26 14:23:31,114 INFO L735 eck$LassoCheckResult]: Loop: 36021#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [1614] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 36021#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY]don't care [2022-07-26 14:23:31,115 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:23:31,115 INFO L85 PathProgramCache]: Analyzing trace with hash 1295900128, now seen corresponding path program 1 times [2022-07-26 14:23:31,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:23:31,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [974779734] [2022-07-26 14:23:31,115 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:23:31,115 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:23:31,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:23:31,173 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:23:31,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:23:31,196 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:23:31,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:23:31,196 INFO L85 PathProgramCache]: Analyzing trace with hash 1645, now seen corresponding path program 1 times [2022-07-26 14:23:31,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:23:31,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1230603442] [2022-07-26 14:23:31,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:23:31,197 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:23:31,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:23:31,201 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:23:31,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:23:31,203 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:23:31,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 14:23:31,204 INFO L85 PathProgramCache]: Analyzing trace with hash 1518199918, now seen corresponding path program 1 times [2022-07-26 14:23:31,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 14:23:31,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [722199455] [2022-07-26 14:23:31,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 14:23:31,204 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 14:23:31,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:23:31,264 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 14:23:31,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 14:23:31,293 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 14:23:41,901 WARN L233 SmtUtils]: Spent 10.60s on a formula simplification. DAG size of input: 336 DAG size of output: 288 (called from [L 277] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2022-07-26 14:23:43,130 WARN L146 chiAutomizerObserver]: 10 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 14:23:43,146 INFO L144 ThreadInstanceAdder]: Constructed 11 joinOtherThreadTransitions. [2022-07-26 14:23:43,148 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 137 places, 129 transitions, 456 flow [2022-07-26 14:23:47,768 INFO L129 PetriNetUnfolder]: 11301/40207 cut-off events. [2022-07-26 14:23:47,768 INFO L130 PetriNetUnfolder]: For 11539/11539 co-relation queries the response was YES. [2022-07-26 14:23:47,938 INFO L84 FinitePrefix]: Finished finitePrefix Result has 51571 conditions, 40207 events. 11301/40207 cut-off events. For 11539/11539 co-relation queries the response was YES. Maximal size of possible extension queue 763. Compared 470695 event pairs, 7181 based on Foata normal form. 0/36075 useless extension candidates. Maximal degree in co-relation 24896. Up to 11264 conditions per place. [2022-07-26 14:23:47,939 INFO L82 GeneralOperation]: Start removeDead. Operand has 137 places, 129 transitions, 456 flow [2022-07-26 14:23:48,465 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 137 places, 129 transitions, 456 flow [2022-07-26 14:23:48,465 INFO L124 etLargeBlockEncoding]: Petri net LBE is using variable-based independence relation. [2022-07-26 14:23:48,465 INFO L131 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 137 places, 129 transitions, 456 flow [2022-07-26 14:23:48,466 INFO L110 LiptonReduction]: Starting Lipton reduction on Petri net that has 137 places, 129 transitions, 456 flow [2022-07-26 14:23:48,466 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 137 places, 129 transitions, 456 flow [2022-07-26 14:23:52,781 INFO L129 PetriNetUnfolder]: 11301/40207 cut-off events. [2022-07-26 14:23:52,782 INFO L130 PetriNetUnfolder]: For 11539/11539 co-relation queries the response was YES. [2022-07-26 14:23:52,932 INFO L84 FinitePrefix]: Finished finitePrefix Result has 51571 conditions, 40207 events. 11301/40207 cut-off events. For 11539/11539 co-relation queries the response was YES. Maximal size of possible extension queue 753. Compared 470647 event pairs, 7181 based on Foata normal form. 0/36075 useless extension candidates. Maximal degree in co-relation 24896. Up to 11264 conditions per place. [2022-07-26 14:23:53,514 INFO L116 LiptonReduction]: Number of co-enabled transitions 7920 [2022-07-26 14:23:55,231 INFO L131 LiptonReduction]: Checked pairs total: 15251 [2022-07-26 14:23:55,231 INFO L133 LiptonReduction]: Total number of compositions: 88 [2022-07-26 14:23:55,232 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 14:23:55,232 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 14:23:55,232 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 14:23:55,232 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 14:23:55,232 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 14:23:55,232 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 14:23:55,232 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 14:23:55,232 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 14:23:55,232 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states