/root/.sdkman/candidates/java/current/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf --traceabstraction.dfs.order.used.in.por LOOP_LOCKSTEP --traceabstraction.additional.conditional.commutativity.checking BOTH --traceabstraction.criterion.for.conditional.commutativity.checking SLEEP_SET --traceabstraction.use.limited.checks.recommended.for.dfs true --traceabstraction.limit.for.limited.checks 10 -tc ../benchexec/../../../trunk/examples/toolchains/AutomizerCInline.xml -i ../../../trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i -------------------------------------------------------------------------------- This is Ultimate 0.2.4-wip.dk.conditional-comm-17da818-m [2024-05-08 02:25:38,537 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-05-08 02:25:38,601 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf [2024-05-08 02:25:38,606 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-05-08 02:25:38,606 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-05-08 02:25:38,628 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-05-08 02:25:38,628 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-05-08 02:25:38,629 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-05-08 02:25:38,629 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-05-08 02:25:38,632 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-05-08 02:25:38,633 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-05-08 02:25:38,633 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-05-08 02:25:38,633 INFO L153 SettingsManager]: * Use SBE=true [2024-05-08 02:25:38,634 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-05-08 02:25:38,634 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-05-08 02:25:38,635 INFO L153 SettingsManager]: * sizeof long=4 [2024-05-08 02:25:38,635 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-05-08 02:25:38,635 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-05-08 02:25:38,635 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-05-08 02:25:38,635 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-05-08 02:25:38,635 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-05-08 02:25:38,636 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-05-08 02:25:38,637 INFO L153 SettingsManager]: * sizeof long double=12 [2024-05-08 02:25:38,637 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-05-08 02:25:38,637 INFO L153 SettingsManager]: * Use constant arrays=true [2024-05-08 02:25:38,637 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-05-08 02:25:38,637 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-05-08 02:25:38,637 INFO L153 SettingsManager]: * To the following directory=./dump/ [2024-05-08 02:25:38,637 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-05-08 02:25:38,638 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-05-08 02:25:38,639 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-05-08 02:25:38,639 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-05-08 02:25:38,639 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-05-08 02:25:38,639 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-05-08 02:25:38,639 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=SLEEP_NEW_STATES [2024-05-08 02:25:38,639 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-05-08 02:25:38,639 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-05-08 02:25:38,640 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-05-08 02:25:38,640 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-05-08 02:25:38,640 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: DFS Order used in POR -> LOOP_LOCKSTEP Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Additional conditional commutativity checking -> BOTH Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Criterion for conditional commutativity checking -> SLEEP_SET Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: use limited checks (recommended for DFS) -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Limit for limited checks -> 10 [2024-05-08 02:25:38,904 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-05-08 02:25:38,938 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-05-08 02:25:38,940 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-05-08 02:25:38,941 INFO L270 PluginConnector]: Initializing CDTParser... [2024-05-08 02:25:38,941 INFO L274 PluginConnector]: CDTParser initialized [2024-05-08 02:25:38,942 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i [2024-05-08 02:25:39,987 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-05-08 02:25:40,218 INFO L384 CDTParser]: Found 1 translation units. [2024-05-08 02:25:40,219 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i [2024-05-08 02:25:40,234 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/96321db25/c33bc7b0e782498bb30a43f418d3bb5d/FLAG8b45ec148 [2024-05-08 02:25:40,253 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/96321db25/c33bc7b0e782498bb30a43f418d3bb5d [2024-05-08 02:25:40,255 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-05-08 02:25:40,257 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-05-08 02:25:40,259 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-05-08 02:25:40,260 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-05-08 02:25:40,264 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-05-08 02:25:40,265 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:40,266 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@554fca48 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40, skipping insertion in model container [2024-05-08 02:25:40,266 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:40,310 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-05-08 02:25:40,628 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39095,39108] [2024-05-08 02:25:40,632 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39180,39193] [2024-05-08 02:25:40,635 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39232,39245] [2024-05-08 02:25:40,692 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49388,49401] [2024-05-08 02:25:40,694 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49437,49450] [2024-05-08 02:25:40,696 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49565,49578] [2024-05-08 02:25:40,697 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49623,49636] [2024-05-08 02:25:40,703 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-05-08 02:25:40,713 INFO L202 MainTranslator]: Completed pre-run [2024-05-08 02:25:40,747 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39095,39108] [2024-05-08 02:25:40,748 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39180,39193] [2024-05-08 02:25:40,749 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39232,39245] [2024-05-08 02:25:40,768 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49388,49401] [2024-05-08 02:25:40,776 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49437,49450] [2024-05-08 02:25:40,777 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49565,49578] [2024-05-08 02:25:40,778 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49623,49636] [2024-05-08 02:25:40,783 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-05-08 02:25:40,893 INFO L206 MainTranslator]: Completed translation [2024-05-08 02:25:40,894 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40 WrapperNode [2024-05-08 02:25:40,894 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-05-08 02:25:40,895 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-05-08 02:25:40,895 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-05-08 02:25:40,895 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-05-08 02:25:40,901 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:40,931 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:40,959 INFO L138 Inliner]: procedures = 310, calls = 70, calls flagged for inlining = 10, calls inlined = 8, statements flattened = 211 [2024-05-08 02:25:40,960 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-05-08 02:25:40,961 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-05-08 02:25:40,961 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-05-08 02:25:40,961 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-05-08 02:25:40,975 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:40,976 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:40,994 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:40,994 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:41,000 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:41,002 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:41,004 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:41,005 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:41,008 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-05-08 02:25:41,009 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-05-08 02:25:41,009 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-05-08 02:25:41,009 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-05-08 02:25:41,009 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (1/1) ... [2024-05-08 02:25:41,013 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-05-08 02:25:41,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-08 02:25:41,044 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-05-08 02:25:41,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-05-08 02:25:41,102 INFO L130 BoogieDeclarations]: Found specification of procedure reader_two [2024-05-08 02:25:41,102 INFO L138 BoogieDeclarations]: Found implementation of procedure reader_two [2024-05-08 02:25:41,102 INFO L130 BoogieDeclarations]: Found specification of procedure writer_fn [2024-05-08 02:25:41,102 INFO L138 BoogieDeclarations]: Found implementation of procedure writer_fn [2024-05-08 02:25:41,103 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-05-08 02:25:41,103 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-05-08 02:25:41,103 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-05-08 02:25:41,103 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-05-08 02:25:41,103 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-05-08 02:25:41,103 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-05-08 02:25:41,104 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-05-08 02:25:41,104 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-05-08 02:25:41,104 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-05-08 02:25:41,104 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-05-08 02:25:41,105 WARN L213 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-05-08 02:25:41,225 INFO L241 CfgBuilder]: Building ICFG [2024-05-08 02:25:41,227 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2024-05-08 02:25:41,455 INFO L282 CfgBuilder]: Performing block encoding [2024-05-08 02:25:41,475 INFO L304 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-05-08 02:25:41,475 INFO L309 CfgBuilder]: Removed 6 assume(true) statements. [2024-05-08 02:25:41,476 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.05 02:25:41 BoogieIcfgContainer [2024-05-08 02:25:41,476 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-05-08 02:25:41,478 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-05-08 02:25:41,478 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-05-08 02:25:41,480 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-05-08 02:25:41,480 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.05 02:25:40" (1/3) ... [2024-05-08 02:25:41,481 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bc3783c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.05 02:25:41, skipping insertion in model container [2024-05-08 02:25:41,481 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.05 02:25:40" (2/3) ... [2024-05-08 02:25:41,481 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bc3783c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.05 02:25:41, skipping insertion in model container [2024-05-08 02:25:41,481 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.05 02:25:41" (3/3) ... [2024-05-08 02:25:41,482 INFO L112 eAbstractionObserver]: Analyzing ICFG ring_2w1r-1.i [2024-05-08 02:25:41,494 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2024-05-08 02:25:41,501 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-05-08 02:25:41,501 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2024-05-08 02:25:41,501 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-05-08 02:25:41,596 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-05-08 02:25:41,628 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-05-08 02:25:41,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-05-08 02:25:41,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-08 02:25:41,631 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-05-08 02:25:41,635 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2024-05-08 02:25:41,666 INFO L188 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-05-08 02:25:41,681 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:25:41,682 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-05-08 02:25:41,688 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@3aae9e16, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms], mConComChecker=BOTH, mConComCheckerCriterion=SLEEP_SET, mConComCheckerLimitedChecksCriterion=true, mConComCheckerCriterionLimit=10, mConComCheckerRandomProb=100, mConComCheckerRandomSeed=123, mConComCheckerConditionCriterion=false [2024-05-08 02:25:41,689 INFO L358 AbstractCegarLoop]: Starting to check reachability of 10 error locations. [2024-05-08 02:25:42,243 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 23 [2024-05-08 02:25:42,259 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 25 [2024-05-08 02:25:42,427 INFO L85 PathProgramCache]: Analyzing trace with hash -1450183971, now seen corresponding path program 1 times [2024-05-08 02:25:42,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:42,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:42,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:42,903 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:25:42,903 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:42,903 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:42,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:43,057 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:25:43,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-08 02:25:43,079 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-08 02:25:43,245 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:43,305 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:43,395 INFO L85 PathProgramCache]: Analyzing trace with hash -1696175707, now seen corresponding path program 1 times [2024-05-08 02:25:43,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:43,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:43,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:43,578 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:43,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:43,579 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:43,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:43,729 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:43,871 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:43,888 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:25:43,921 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:46,111 INFO L85 PathProgramCache]: Analyzing trace with hash -479581409, now seen corresponding path program 2 times [2024-05-08 02:25:46,111 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:46,112 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:46,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:46,215 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:46,215 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:46,216 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:46,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:46,342 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:46,508 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:46,518 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:25:46,546 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:48,695 INFO L85 PathProgramCache]: Analyzing trace with hash -688799903, now seen corresponding path program 3 times [2024-05-08 02:25:48,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:48,696 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:48,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:48,932 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:48,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:48,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:48,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:49,129 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:49,162 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:49,203 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:49,290 INFO L85 PathProgramCache]: Analyzing trace with hash -80167483, now seen corresponding path program 4 times [2024-05-08 02:25:49,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:49,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:49,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:49,361 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:49,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:49,362 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:49,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:49,434 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-08 02:25:49,455 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:25:49,456 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:25:49,456 INFO L85 PathProgramCache]: Analyzing trace with hash 538585321, now seen corresponding path program 1 times [2024-05-08 02:25:49,459 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:25:49,460 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [490938885] [2024-05-08 02:25:49,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:49,460 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:49,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:50,352 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:25:50,352 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:25:50,353 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [490938885] [2024-05-08 02:25:50,353 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [490938885] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-08 02:25:50,353 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-08 02:25:50,353 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2024-05-08 02:25:50,354 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [911163723] [2024-05-08 02:25:50,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-08 02:25:50,357 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2024-05-08 02:25:50,357 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-08 02:25:50,375 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2024-05-08 02:25:50,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=335, Unknown=0, NotChecked=0, Total=380 [2024-05-08 02:25:50,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:25:50,377 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-08 02:25:50,377 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 5.15) internal successors, (103), 20 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-08 02:25:50,377 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:25:51,751 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:51,898 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:51,899 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:51,935 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:52,044 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:52,045 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:52,150 INFO L85 PathProgramCache]: Analyzing trace with hash -62292534, now seen corresponding path program 1 times [2024-05-08 02:25:52,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:52,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:52,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:52,259 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:25:52,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:52,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:52,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:52,337 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:25:52,513 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:25:52,523 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:52,631 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:52,671 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:52,672 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:52,752 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:52,780 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:52,781 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:54,863 INFO L85 PathProgramCache]: Analyzing trace with hash -330340134, now seen corresponding path program 2 times [2024-05-08 02:25:54,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:54,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:54,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:55,022 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-05-08 02:25:55,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:55,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:55,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:55,177 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-05-08 02:25:55,432 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:55,445 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:25:55,558 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:55,558 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:55,584 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:55,691 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:55,692 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:55,707 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:57,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1970970037, now seen corresponding path program 3 times [2024-05-08 02:25:57,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:57,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:57,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:58,103 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:25:58,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:58,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:58,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:58,238 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:25:58,311 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:25:58,453 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:58,454 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:58,472 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:58,608 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:25:58,609 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:25:58,625 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:25:58,723 INFO L85 PathProgramCache]: Analyzing trace with hash -888138981, now seen corresponding path program 4 times [2024-05-08 02:25:58,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:58,725 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:58,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:58,812 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:25:58,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:25:58,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:25:58,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:25:58,943 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:25:59,454 INFO L349 Elim1Store]: treesize reduction 80, result has 67.9 percent of original size [2024-05-08 02:25:59,455 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 11 select indices, 11 select index equivalence classes, 6 disjoint index pairs (out of 55 index pairs), introduced 11 new quantified variables, introduced 49 case distinctions, treesize of input 93 treesize of output 217 [2024-05-08 02:26:00,069 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:00,069 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:00,223 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:00,572 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:00,572 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:02,884 INFO L85 PathProgramCache]: Analyzing trace with hash -1686041095, now seen corresponding path program 1 times [2024-05-08 02:26:02,884 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:02,884 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:02,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:02,914 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:26:02,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:02,914 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:02,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:02,943 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:26:02,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-08 02:26:02,944 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2024-05-08 02:26:03,069 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:26:03,250 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:03,251 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:03,270 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:03,411 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:03,412 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:03,516 INFO L85 PathProgramCache]: Analyzing trace with hash -575303592, now seen corresponding path program 1 times [2024-05-08 02:26:03,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:03,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:03,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:03,613 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:26:03,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:03,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:03,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:03,755 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:26:03,945 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:26:03,961 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-08 02:26:04,145 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:04,269 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:04,270 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:06,459 INFO L85 PathProgramCache]: Analyzing trace with hash -1949129844, now seen corresponding path program 2 times [2024-05-08 02:26:06,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:06,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:06,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:06,638 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2024-05-08 02:26:06,639 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:06,639 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:06,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:06,880 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2024-05-08 02:26:06,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-05-08 02:26:06,881 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2024-05-08 02:26:07,138 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:26:07,368 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:07,369 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:07,479 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:07,534 INFO L85 PathProgramCache]: Analyzing trace with hash -575303592, now seen corresponding path program 3 times [2024-05-08 02:26:07,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:07,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:07,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:07,632 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:26:07,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:07,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:07,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:07,784 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:26:08,417 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:26:08,773 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:08,774 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:08,805 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:08,835 INFO L85 PathProgramCache]: Analyzing trace with hash -790615118, now seen corresponding path program 4 times [2024-05-08 02:26:08,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:08,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:08,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:08,919 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 0 proven. 37 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:26:08,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:08,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:08,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:09,047 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 0 proven. 37 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-08 02:26:09,296 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:26:09,612 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:09,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1414741495, now seen corresponding path program 5 times [2024-05-08 02:26:09,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:09,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:09,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:09,754 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:26:09,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:09,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:09,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:09,844 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 0 proven. 38 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:26:10,499 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2024-05-08 02:26:10,792 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:10,835 INFO L85 PathProgramCache]: Analyzing trace with hash -1783079711, now seen corresponding path program 6 times [2024-05-08 02:26:10,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:10,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:10,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:10,928 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 37 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:26:10,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:10,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:10,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:11,013 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 37 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-08 02:26:13,249 INFO L349 Elim1Store]: treesize reduction 120, result has 50.2 percent of original size [2024-05-08 02:26:13,249 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 12 select indices, 12 select index equivalence classes, 6 disjoint index pairs (out of 66 index pairs), introduced 12 new quantified variables, introduced 62 case distinctions, treesize of input 103 treesize of output 167 [2024-05-08 02:26:14,308 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:14,308 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:14,473 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:15,146 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:15,147 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:15,342 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:15,370 INFO L85 PathProgramCache]: Analyzing trace with hash 569483278, now seen corresponding path program 1 times [2024-05-08 02:26:15,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:15,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:15,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:16,265 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:16,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:16,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:16,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:16,634 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:16,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2024-05-08 02:26:16,636 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=146, Invalid=1660, Unknown=0, NotChecked=0, Total=1806 [2024-05-08 02:26:20,160 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-05-08 02:26:20,171 INFO L349 Elim1Store]: treesize reduction 51, result has 7.3 percent of original size [2024-05-08 02:26:20,171 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 94 treesize of output 78 [2024-05-08 02:26:20,527 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:26:20,527 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:26:20,983 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:26:21,082 INFO L85 PathProgramCache]: Analyzing trace with hash 270746730, now seen corresponding path program 1 times [2024-05-08 02:26:21,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:21,083 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:21,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:21,373 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:21,374 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:21,374 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:21,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:21,442 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:21,442 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-05-08 02:26:21,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=670, Invalid=4586, Unknown=0, NotChecked=0, Total=5256 [2024-05-08 02:26:23,794 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:26:23,795 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,SelfDestructingSolverStorable31,SelfDestructingSolverStorable18,SelfDestructingSolverStorable19,SelfDestructingSolverStorable10,SelfDestructingSolverStorable32,SelfDestructingSolverStorable11,SelfDestructingSolverStorable33,SelfDestructingSolverStorable12,SelfDestructingSolverStorable34,SelfDestructingSolverStorable13,SelfDestructingSolverStorable35,SelfDestructingSolverStorable14,SelfDestructingSolverStorable36,SelfDestructingSolverStorable15,SelfDestructingSolverStorable16,SelfDestructingSolverStorable17,SelfDestructingSolverStorable20,SelfDestructingSolverStorable29,SelfDestructingSolverStorable21,SelfDestructingSolverStorable22,SelfDestructingSolverStorable23,SelfDestructingSolverStorable24,SelfDestructingSolverStorable25,SelfDestructingSolverStorable26,SelfDestructingSolverStorable27,SelfDestructingSolverStorable28 [2024-05-08 02:26:23,795 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:26:23,795 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:26:23,795 INFO L85 PathProgramCache]: Analyzing trace with hash 388017180, now seen corresponding path program 1 times [2024-05-08 02:26:23,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:26:23,796 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1895066372] [2024-05-08 02:26:23,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:23,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:23,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:26,037 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:26,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:26:26,038 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1895066372] [2024-05-08 02:26:26,038 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1895066372] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-08 02:26:26,038 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [876722561] [2024-05-08 02:26:26,038 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:26,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-08 02:26:26,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-08 02:26:26,098 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-08 02:26:26,098 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-05-08 02:26:26,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:26,309 INFO L262 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 94 conjunts are in the unsatisfiable core [2024-05-08 02:26:26,326 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-08 02:26:26,342 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-05-08 02:26:26,350 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-05-08 02:26:26,350 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 14 [2024-05-08 02:26:26,362 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-05-08 02:26:26,362 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2024-05-08 02:26:26,391 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-05-08 02:26:26,438 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2024-05-08 02:26:26,520 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-05-08 02:26:26,862 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-05-08 02:26:27,544 INFO L349 Elim1Store]: treesize reduction 32, result has 31.9 percent of original size [2024-05-08 02:26:27,545 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 34 treesize of output 35 [2024-05-08 02:26:27,844 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 89 treesize of output 71 [2024-05-08 02:26:27,846 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 97 [2024-05-08 02:26:27,875 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 26 [2024-05-08 02:26:28,516 INFO L349 Elim1Store]: treesize reduction 22, result has 12.0 percent of original size [2024-05-08 02:26:28,516 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 101 treesize of output 55 [2024-05-08 02:26:28,683 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:28,683 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-08 02:26:35,165 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1539 (Array Int Int))) (let ((.cse1 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537)) (.cse2 (select v_ArrVal_1539 .cse4))) (or (< 0 (let ((.cse0 (select (store .cse1 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse0 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse0 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4))))) (< (+ 3 .cse2) 0) (not (= (store (let ((.cse3 (select .cse1 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse3 .cse4) 4)) 1)) .cse4 .cse2) v_ArrVal_1539)) (< 0 .cse2)))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1539 (Array Int Int))) (let ((.cse7 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537)) (.cse5 (select v_ArrVal_1539 .cse4))) (or (< 4 .cse5) (= .cse5 4) (< 0 (let ((.cse6 (select (store .cse7 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse6 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4))))) (not (= (store (let ((.cse8 (select .cse7 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse8 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse8 .cse4) 4)) 1)) .cse4 .cse5) v_ArrVal_1539)) (< .cse5 1)))) (forall ((v_ArrVal_1537 (Array Int Int))) (<= 1 (let ((.cse9 (select (let ((.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537))) (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| (store (let ((.cse11 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse11 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse11 .cse4) 4)) 1)) .cse4 0))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) is different from false [2024-05-08 02:26:35,605 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1539 (Array Int Int))) (let ((.cse0 (select v_ArrVal_1539 .cse2)) (.cse3 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537))) (or (< 4 .cse0) (= .cse0 4) (not (= (store (let ((.cse1 (select .cse3 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse1 .cse2) 4)) 1)) .cse2 .cse0) v_ArrVal_1539)) (< .cse0 1) (< 0 (let ((.cse4 (select (store .cse3 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse4 (+ 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset| (* (select .cse4 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4)))))))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1539 (Array Int Int))) (let ((.cse5 (select v_ArrVal_1539 .cse2)) (.cse7 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537))) (or (< (+ 3 .cse5) 0) (not (= (store (let ((.cse6 (select .cse7 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse6 .cse2) 4)) 1)) .cse2 .cse5) v_ArrVal_1539)) (< 0 .cse5) (< 0 (let ((.cse8 (select (store .cse7 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse8 (+ 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset| (* (select .cse8 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4)))))))) (forall ((v_ArrVal_1537 (Array Int Int))) (<= 1 (let ((.cse9 (select (let ((.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537))) (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| (store (let ((.cse11 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse11 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse11 .cse2) 4)) 1)) .cse2 0))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4) 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))) is different from false [2024-05-08 02:26:35,640 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1537 (Array Int Int))) (<= 1 (let ((.cse0 (select (let ((.cse1 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537))) (store .cse1 |c_ULTIMATE.start_main_~#r~3#1.base| (store (let ((.cse2 (select .cse1 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse2 .cse3) 4)) 1)) .cse3 0))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse0 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4 (* (select .cse0 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) 4)))))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1539 (Array Int Int))) (let ((.cse4 (select v_ArrVal_1539 .cse3)) (.cse6 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537))) (or (< 4 .cse4) (= .cse4 4) (not (= (store (let ((.cse5 (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse5 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse5 .cse3) 4)) 1)) .cse3 .cse4) v_ArrVal_1539)) (< .cse4 1) (< 0 (let ((.cse7 (select (store .cse6 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse7 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4 (* (select .cse7 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) 4)))))))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1539 (Array Int Int))) (let ((.cse8 (select v_ArrVal_1539 .cse3)) (.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537))) (or (< (+ 3 .cse8) 0) (not (= (store (let ((.cse9 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse9 .cse3) 4)) 1)) .cse3 .cse8) v_ArrVal_1539)) (< 0 .cse8) (< 0 (let ((.cse11 (select (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse11 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4 (* (select .cse11 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) 4)))))))))) is different from false [2024-05-08 02:26:35,668 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1537 (Array Int Int))) (<= 1 (let ((.cse0 (let ((.cse2 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse2 .cse1) 4)) 1)))) (select (store .cse0 .cse1 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|)) 4))))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (< 0 (let ((.cse3 (let ((.cse4 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse4 .cse1) 4)) 1)))) (select (store .cse3 .cse1 v_DerPreprocessor_3) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse3 |c_ULTIMATE.start_main_~#r~3#1.offset|)) 4)))) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< (+ 3 v_DerPreprocessor_2) 0) (< 0 (let ((.cse5 (let ((.cse6 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse6 .cse1) 4)) 1)))) (select (store .cse5 .cse1 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.offset|)) 4)))))))) is different from false [2024-05-08 02:26:35,727 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1536 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< (+ 3 v_DerPreprocessor_2) 0) (< 0 (let ((.cse0 (let ((.cse2 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_1536) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse2 .cse1) 4) 4) 1)))) (select (store .cse0 .cse1 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1536 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< v_DerPreprocessor_3 1) (< 0 (let ((.cse3 (let ((.cse4 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_1536) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse4 .cse1) 4) 4) 1)))) (select (store .cse3 .cse1 v_DerPreprocessor_3) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse3 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))) (< 4 v_DerPreprocessor_3) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1536 (Array Int Int))) (<= 1 (let ((.cse5 (let ((.cse6 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_1536) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse6 .cse1) 4) 4) 1)))) (select (store .cse5 .cse1 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4))))))) is different from false [2024-05-08 02:26:35,841 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse3 (store |c_#memory_int| |c_ULTIMATE.start_ring_init_~r#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_ring_init_~r#1.base|) |c_ULTIMATE.start_ring_init_~r#1.offset| 0)))) (and (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1536 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (< 0 (let ((.cse0 (let ((.cse2 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_1536) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse2 .cse1) 4) 4) 1)))) (select (store .cse0 .cse1 v_DerPreprocessor_3) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1536 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< (+ 3 v_DerPreprocessor_2) 0) (< 0 (let ((.cse4 (let ((.cse5 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_1536) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse5 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse5 .cse1) 4) 4) 1)))) (select (store .cse4 .cse1 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse4 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))))) (forall ((v_ArrVal_1537 (Array Int Int)) (v_ArrVal_1536 (Array Int Int))) (<= 1 (let ((.cse6 (let ((.cse7 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_1536) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1537) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse7 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse7 .cse1) 4) 4) 1)))) (select (store .cse6 .cse1 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4))))))) is different from false [2024-05-08 02:26:35,854 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-08 02:26:35,854 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 92 [2024-05-08 02:26:35,861 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-08 02:26:35,861 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 220 treesize of output 216 [2024-05-08 02:26:35,885 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-08 02:26:35,885 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 498 treesize of output 373 [2024-05-08 02:26:35,920 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-08 02:26:35,920 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 3 case distinctions, treesize of input 263 treesize of output 220 [2024-05-08 02:26:35,954 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 9 [2024-05-08 02:26:36,259 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-08 02:26:36,259 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 7 new quantified variables, introduced 15 case distinctions, treesize of input 284 treesize of output 308 [2024-05-08 02:26:38,488 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-08 02:26:38,491 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-05-08 02:26:38,491 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 1 [2024-05-08 02:26:38,493 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-08 02:26:38,495 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-05-08 02:26:38,495 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 1 [2024-05-08 02:26:38,843 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:38,843 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [876722561] provided 0 perfect and 2 imperfect interpolant sequences [2024-05-08 02:26:38,844 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-05-08 02:26:38,844 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 33, 32] total 90 [2024-05-08 02:26:38,844 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1260956578] [2024-05-08 02:26:38,845 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-05-08 02:26:38,847 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 90 states [2024-05-08 02:26:38,847 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-08 02:26:39,028 INFO L349 Elim1Store]: treesize reduction 30, result has 11.8 percent of original size [2024-05-08 02:26:39,028 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 47 treesize of output 35 [2024-05-08 02:26:39,119 INFO L85 PathProgramCache]: Analyzing trace with hash 270746730, now seen corresponding path program 2 times [2024-05-08 02:26:39,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:39,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:39,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:39,493 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:39,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:26:39,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:26:39,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:26:39,555 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:26:39,561 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 97 interpolants. [2024-05-08 02:26:39,564 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=367, Invalid=7807, Unknown=40, NotChecked=1098, Total=9312 [2024-05-08 02:26:39,564 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:26:39,564 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-08 02:26:39,565 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 97 states, 96 states have (on average 4.354166666666667) internal successors, (418), 97 states have internal predecessors, (418), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-08 02:26:39,565 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:26:39,565 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:26:46,037 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse18 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse4 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse60 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse61 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse60 .cse7) 4) 4)) (.cse1 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse21 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse43 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse12 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse29 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse62 (+ (* (select .cse18 .cse4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse24 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse0 (= (select .cse24 0) 0)) (.cse3 (store .cse18 .cse62 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse28 (let ((.cse65 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse65 .cse29) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse11 (let ((.cse64 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse64 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse64 .cse12) 4) 4) 1))) (.cse42 (let ((.cse63 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse63 .cse43) 4)) 1))) (.cse16 (store .cse18 .cse62 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse20 (store .cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse1 .cse21) 4) 4) 1)) (.cse6 (store .cse60 .cse61 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse40 (store .cse60 .cse61 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) .cse0 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse1 0) 0) (<= 1 (let ((.cse2 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse3 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse2 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse2 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse5 (select v_ArrVal_1539 .cse7))) (or (= .cse5 4) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse5))) (< 0 (let ((.cse8 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse8 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse8 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse5) (< .cse5 1)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse10 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse9 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse10 4) (< 4 .cse10) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse10))) (< .cse10 1)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse14 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse13 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse13 (+ (* (select .cse13 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ 3 .cse14) 0) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse14))) (< 0 .cse14)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse15 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse15) (not (= (store .cse16 .cse4 .cse15) v_ArrVal_1539)) (< 0 (let ((.cse17 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse17 (+ (* (select .cse17 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse15 3) 0)))) (= (select .cse18 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse19 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse20 .cse21 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse22 (select .cse24 20)) (.cse23 (= (select .cse24 4) 1))) (or (and .cse0 (= 0 .cse22) .cse23) (and .cse0 (<= 1 .cse22) (<= .cse22 3) .cse23) (and .cse0 (<= (+ 1 .cse22) 0) (<= 0 (+ 3 .cse22)) .cse23))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse25 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse25) (not (= (store .cse3 .cse4 .cse25) v_ArrVal_1539)) (< 0 (let ((.cse26 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse26 (+ (* (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse25 3) 0)))) (<= 1 (let ((.cse27 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse28 .cse29 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse27 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse30 (select v_ArrVal_1539 .cse29))) (or (< 0 .cse30) (< (+ 3 .cse30) 0) (not (= v_ArrVal_1539 (store .cse28 .cse29 .cse30))) (< 0 (let ((.cse31 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse31 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4)))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) (= (select .cse18 4) 1) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse32 (select v_ArrVal_1539 .cse4))) (or (< .cse32 1) (< 4 .cse32) (not (= (store .cse3 .cse4 .cse32) v_ArrVal_1539)) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse32 4)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse34 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse34) 0) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse34))) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse34)))) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse36 (select v_ArrVal_1539 .cse29))) (or (= 4 .cse36) (not (= v_ArrVal_1539 (store .cse28 .cse29 .cse36))) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4))))) (< .cse36 1) (< 4 .cse36)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse38 (select v_ArrVal_1539 .cse7))) (or (= .cse38 4) (< 0 (let ((.cse39 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse39 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse38) (< .cse38 1) (not (= v_ArrVal_1539 (store .cse40 .cse7 .cse38)))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse41 (select v_ArrVal_1539 .cse43))) (or (< 4 .cse41) (not (= v_ArrVal_1539 (store .cse42 .cse43 .cse41))) (= .cse41 4) (< .cse41 1) (< 0 (let ((.cse44 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse44 (+ (* (select .cse44 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse46 (select v_ArrVal_1539 .cse21))) (or (< 0 (let ((.cse45 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 4 .cse46) (= .cse46 4) (not (= v_ArrVal_1539 (store .cse20 .cse21 .cse46))) (< .cse46 1)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (not (= |c_reader_twoThread1of1ForFork0_~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse47 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse47 (+ (* (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse48 (select v_ArrVal_1539 .cse43))) (or (not (= v_ArrVal_1539 (store .cse42 .cse43 .cse48))) (< 0 .cse48) (< (+ 3 .cse48) 0) (< 0 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse49 (+ (* (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 0) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse50 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse11 .cse12 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse50 (+ (* (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse42 .cse43 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse51 (+ (* (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse52 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse52) 0) (< 0 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse53 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse52) (not (= v_ArrVal_1539 (store .cse40 .cse7 .cse52)))))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse54 (select v_ArrVal_1539 .cse4))) (or (< .cse54 1) (< 4 .cse54) (not (= (store .cse16 .cse4 .cse54) v_ArrVal_1539)) (< 0 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse54 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse57 (select v_ArrVal_1539 .cse21))) (or (< 0 (let ((.cse56 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_1539 (store .cse20 .cse21 .cse57))) (< (+ 3 .cse57) 0) (< 0 .cse57)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (<= 1 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse6 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ (* (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (<= 1 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse40 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-05-08 02:26:56,889 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse18 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse4 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse60 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse61 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse60 .cse7) 4) 4)) (.cse1 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse21 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse43 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse12 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse29 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse62 (+ (* (select .cse18 .cse4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse24 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse0 (= (select .cse24 0) 0)) (.cse3 (store .cse18 .cse62 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse28 (let ((.cse65 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse65 .cse29) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse11 (let ((.cse64 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse64 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse64 .cse12) 4) 4) 1))) (.cse42 (let ((.cse63 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse63 .cse43) 4)) 1))) (.cse16 (store .cse18 .cse62 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse20 (store .cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse1 .cse21) 4) 4) 1)) (.cse6 (store .cse60 .cse61 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse40 (store .cse60 .cse61 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) .cse0 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse1 0) 0) (<= 1 (let ((.cse2 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse3 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse2 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse2 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse5 (select v_ArrVal_1539 .cse7))) (or (= .cse5 4) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse5))) (< 0 (let ((.cse8 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse8 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse8 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse5) (< .cse5 1)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse10 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse9 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse10 4) (< 4 .cse10) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse10))) (< .cse10 1)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse14 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse13 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse13 (+ (* (select .cse13 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ 3 .cse14) 0) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse14))) (< 0 .cse14)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse15 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse15) (not (= (store .cse16 .cse4 .cse15) v_ArrVal_1539)) (< 0 (let ((.cse17 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse17 (+ (* (select .cse17 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse15 3) 0)))) (= (select .cse18 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse19 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse20 .cse21 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse22 (select .cse24 20)) (.cse23 (= (select .cse24 4) 1))) (or (and .cse0 (= 0 .cse22) .cse23) (and .cse0 (<= 1 .cse22) (<= .cse22 3) .cse23) (and .cse0 (<= (+ 1 .cse22) 0) (<= 0 (+ 3 .cse22)) .cse23))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse25 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse25) (not (= (store .cse3 .cse4 .cse25) v_ArrVal_1539)) (< 0 (let ((.cse26 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse26 (+ (* (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse25 3) 0)))) (<= 1 (let ((.cse27 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse28 .cse29 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse27 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse30 (select v_ArrVal_1539 .cse29))) (or (< 0 .cse30) (< (+ 3 .cse30) 0) (not (= v_ArrVal_1539 (store .cse28 .cse29 .cse30))) (< 0 (let ((.cse31 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse31 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4)))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) (= (select .cse18 4) 1) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse32 (select v_ArrVal_1539 .cse4))) (or (< .cse32 1) (< 4 .cse32) (not (= (store .cse3 .cse4 .cse32) v_ArrVal_1539)) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse32 4)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse34 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse34) 0) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse34))) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse34)))) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse36 (select v_ArrVal_1539 .cse29))) (or (= 4 .cse36) (not (= v_ArrVal_1539 (store .cse28 .cse29 .cse36))) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4))))) (< .cse36 1) (< 4 .cse36)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse38 (select v_ArrVal_1539 .cse7))) (or (= .cse38 4) (< 0 (let ((.cse39 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse39 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse38) (< .cse38 1) (not (= v_ArrVal_1539 (store .cse40 .cse7 .cse38)))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse41 (select v_ArrVal_1539 .cse43))) (or (< 4 .cse41) (not (= v_ArrVal_1539 (store .cse42 .cse43 .cse41))) (= .cse41 4) (< .cse41 1) (< 0 (let ((.cse44 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse44 (+ (* (select .cse44 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse46 (select v_ArrVal_1539 .cse21))) (or (< 0 (let ((.cse45 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 4 .cse46) (= .cse46 4) (not (= v_ArrVal_1539 (store .cse20 .cse21 .cse46))) (< .cse46 1)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (not (= |c_reader_twoThread1of1ForFork0_~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse47 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse47 (+ (* (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse48 (select v_ArrVal_1539 .cse43))) (or (not (= v_ArrVal_1539 (store .cse42 .cse43 .cse48))) (< 0 .cse48) (< (+ 3 .cse48) 0) (< 0 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse49 (+ (* (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 0) (<= 1 (let ((.cse50 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse11 .cse12 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse50 (+ (* (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse42 .cse43 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse51 (+ (* (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse52 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse52) 0) (< 0 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse53 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse52) (not (= v_ArrVal_1539 (store .cse40 .cse7 .cse52)))))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse54 (select v_ArrVal_1539 .cse4))) (or (< .cse54 1) (< 4 .cse54) (not (= (store .cse16 .cse4 .cse54) v_ArrVal_1539)) (< 0 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse54 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse57 (select v_ArrVal_1539 .cse21))) (or (< 0 (let ((.cse56 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_1539 (store .cse20 .cse21 .cse57))) (< (+ 3 .cse57) 0) (< 0 .cse57)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (<= 1 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse6 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ (* (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (<= 1 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse40 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-05-08 02:27:06,161 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse18 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse4 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse60 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse61 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse60 .cse7) 4) 4)) (.cse1 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse21 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse43 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse12 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse29 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse62 (+ (* (select .cse18 .cse4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse24 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse0 (= (select .cse24 0) 0)) (.cse3 (store .cse18 .cse62 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse28 (let ((.cse65 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse65 .cse29) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse11 (let ((.cse64 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse64 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse64 .cse12) 4) 4) 1))) (.cse42 (let ((.cse63 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse63 .cse43) 4)) 1))) (.cse16 (store .cse18 .cse62 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse20 (store .cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse1 .cse21) 4) 4) 1)) (.cse6 (store .cse60 .cse61 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse40 (store .cse60 .cse61 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) .cse0 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse1 0) 0) (<= 1 (let ((.cse2 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse3 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse2 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse2 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse5 (select v_ArrVal_1539 .cse7))) (or (= .cse5 4) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse5))) (< 0 (let ((.cse8 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse8 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse8 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse5) (< .cse5 1)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse10 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse9 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse10 4) (< 4 .cse10) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse10))) (< .cse10 1)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse14 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse13 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse13 (+ (* (select .cse13 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ 3 .cse14) 0) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse14))) (< 0 .cse14)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse15 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse15) (not (= (store .cse16 .cse4 .cse15) v_ArrVal_1539)) (< 0 (let ((.cse17 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse17 (+ (* (select .cse17 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse15 3) 0)))) (= (select .cse18 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse19 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse20 .cse21 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse22 (select .cse24 20)) (.cse23 (= (select .cse24 4) 1))) (or (and .cse0 (= 0 .cse22) .cse23) (and .cse0 (<= 1 .cse22) (<= .cse22 3) .cse23) (and .cse0 (<= (+ 1 .cse22) 0) (<= 0 (+ 3 .cse22)) .cse23))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse25 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse25) (not (= (store .cse3 .cse4 .cse25) v_ArrVal_1539)) (< 0 (let ((.cse26 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse26 (+ (* (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse25 3) 0)))) (<= 1 (let ((.cse27 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse28 .cse29 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse27 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse30 (select v_ArrVal_1539 .cse29))) (or (< 0 .cse30) (< (+ 3 .cse30) 0) (not (= v_ArrVal_1539 (store .cse28 .cse29 .cse30))) (< 0 (let ((.cse31 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse31 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4)))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) (= (select .cse18 4) 1) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse32 (select v_ArrVal_1539 .cse4))) (or (< .cse32 1) (< 4 .cse32) (not (= (store .cse3 .cse4 .cse32) v_ArrVal_1539)) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse32 4)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse34 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse34) 0) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse34))) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse34)))) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse36 (select v_ArrVal_1539 .cse29))) (or (= 4 .cse36) (not (= v_ArrVal_1539 (store .cse28 .cse29 .cse36))) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4))))) (< .cse36 1) (< 4 .cse36)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse38 (select v_ArrVal_1539 .cse7))) (or (= .cse38 4) (< 0 (let ((.cse39 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse39 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse38) (< .cse38 1) (not (= v_ArrVal_1539 (store .cse40 .cse7 .cse38)))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse41 (select v_ArrVal_1539 .cse43))) (or (< 4 .cse41) (not (= v_ArrVal_1539 (store .cse42 .cse43 .cse41))) (= .cse41 4) (< .cse41 1) (< 0 (let ((.cse44 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse44 (+ (* (select .cse44 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse46 (select v_ArrVal_1539 .cse21))) (or (< 0 (let ((.cse45 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 4 .cse46) (= .cse46 4) (not (= v_ArrVal_1539 (store .cse20 .cse21 .cse46))) (< .cse46 1)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (not (= |c_reader_twoThread1of1ForFork0_~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse47 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse47 (+ (* (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse48 (select v_ArrVal_1539 .cse43))) (or (not (= v_ArrVal_1539 (store .cse42 .cse43 .cse48))) (< 0 .cse48) (< (+ 3 .cse48) 0) (< 0 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse49 (+ (* (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) 0) 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 0) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse50 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse11 .cse12 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse50 (+ (* (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse42 .cse43 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse51 (+ (* (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse52 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse52) 0) (< 0 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse53 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse52) (not (= v_ArrVal_1539 (store .cse40 .cse7 .cse52)))))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse54 (select v_ArrVal_1539 .cse4))) (or (< .cse54 1) (< 4 .cse54) (not (= (store .cse16 .cse4 .cse54) v_ArrVal_1539)) (< 0 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse54 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse57 (select v_ArrVal_1539 .cse21))) (or (< 0 (let ((.cse56 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_1539 (store .cse20 .cse21 .cse57))) (< (+ 3 .cse57) 0) (< 0 .cse57)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (<= 1 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse6 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ (* (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (<= 1 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse40 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-05-08 02:27:22,385 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse15 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse4 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse65 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse66 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse65 .cse7) 4) 4)) (.cse1 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse23 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse45 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse12 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse31 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse67 (+ (* (select .cse15 .cse4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse26 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse0 (= (select .cse26 0) 0)) (.cse3 (store .cse15 .cse67 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse30 (let ((.cse70 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse70 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse70 .cse31) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse11 (let ((.cse69 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse69 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse69 .cse12) 4) 4) 1))) (.cse44 (let ((.cse68 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse68 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse68 .cse45) 4)) 1))) (.cse19 (store .cse15 .cse67 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse22 (store .cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse1 .cse23) 4) 4) 1)) (.cse6 (store .cse65 .cse66 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse42 (store .cse65 .cse66 1))) (and (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) .cse0 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse1 0) 0) (<= 1 (let ((.cse2 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse3 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse2 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse2 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse5 (select v_ArrVal_1539 .cse7))) (or (= .cse5 4) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse5))) (< 0 (let ((.cse8 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse8 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse8 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse5) (< .cse5 1)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse10 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse9 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse10 4) (< 4 .cse10) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse10))) (< .cse10 1)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse13 (select v_ArrVal_1539 .cse4))) (or (< .cse13 1) (< 4 .cse13) (< 0 (let ((.cse14 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse14 (+ (* (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse13 4) (not (= (store .cse15 .cse4 .cse13) v_ArrVal_1539))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse17 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse16 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse16 (+ (* (select .cse16 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ 3 .cse17) 0) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse17))) (< 0 .cse17)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse18 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse18) (not (= (store .cse19 .cse4 .cse18) v_ArrVal_1539)) (< 0 (let ((.cse20 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse20 (+ (* (select .cse20 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse18 3) 0)))) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse21 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse22 .cse23 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse21 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse24 (select .cse26 20)) (.cse25 (= (select .cse26 4) 1))) (or (and .cse0 (= 0 .cse24) .cse25) (and .cse0 (<= 1 .cse24) (<= .cse24 3) .cse25) (and .cse0 (<= (+ 1 .cse24) 0) (<= 0 (+ 3 .cse24)) .cse25))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse27 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse27) (not (= (store .cse3 .cse4 .cse27) v_ArrVal_1539)) (< 0 (let ((.cse28 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse28 (+ (* (select .cse28 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse27 3) 0)))) (<= 1 (let ((.cse29 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse30 .cse31 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse29 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse29 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse32 (select v_ArrVal_1539 .cse31))) (or (< 0 .cse32) (< (+ 3 .cse32) 0) (not (= v_ArrVal_1539 (store .cse30 .cse31 .cse32))) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4)))))))) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse34 (select v_ArrVal_1539 .cse4))) (or (< .cse34 1) (< 4 .cse34) (not (= (store .cse3 .cse4 .cse34) v_ArrVal_1539)) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ (* (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse34 4)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse36 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse36) 0) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse36))) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse36)))) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse38 (select v_ArrVal_1539 .cse31))) (or (= 4 .cse38) (not (= v_ArrVal_1539 (store .cse30 .cse31 .cse38))) (< 0 (let ((.cse39 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse39 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4))))) (< .cse38 1) (< 4 .cse38)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse40 (select v_ArrVal_1539 .cse7))) (or (= .cse40 4) (< 0 (let ((.cse41 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse41 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse40) (< .cse40 1) (not (= v_ArrVal_1539 (store .cse42 .cse7 .cse40)))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse43 (select v_ArrVal_1539 .cse45))) (or (< 4 .cse43) (not (= v_ArrVal_1539 (store .cse44 .cse45 .cse43))) (= .cse43 4) (< .cse43 1) (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse46 (+ (* (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse47 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse47) (< 0 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse48 (+ (* (select .cse48 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= (store .cse15 .cse4 .cse47) v_ArrVal_1539)) (< (+ .cse47 3) 0)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse50 (select v_ArrVal_1539 .cse23))) (or (< 0 (let ((.cse49 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse49 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 4 .cse50) (= .cse50 4) (not (= v_ArrVal_1539 (store .cse22 .cse23 .cse50))) (< .cse50 1)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (not (= |c_reader_twoThread1of1ForFork0_~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse19 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse51 (+ (* (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse52 (select v_ArrVal_1539 .cse45))) (or (not (= v_ArrVal_1539 (store .cse44 .cse45 .cse52))) (< 0 .cse52) (< (+ 3 .cse52) 0) (< 0 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse53 (+ (* (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) 0) 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 0) (<= 1 (let ((.cse54 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse15 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse54 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse11 .cse12 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse56 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse44 .cse45 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse57 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse57) 0) (< 0 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse57) (not (= v_ArrVal_1539 (store .cse42 .cse7 .cse57)))))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse59 (select v_ArrVal_1539 .cse4))) (or (< .cse59 1) (< 4 .cse59) (not (= (store .cse19 .cse4 .cse59) v_ArrVal_1539)) (< 0 (let ((.cse60 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse60 (+ (* (select .cse60 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse59 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse62 (select v_ArrVal_1539 .cse23))) (or (< 0 (let ((.cse61 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse61 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_1539 (store .cse22 .cse23 .cse62))) (< (+ 3 .cse62) 0) (< 0 .cse62)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (<= 1 (let ((.cse63 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse6 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse63 (+ (* (select .cse63 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (<= 1 (let ((.cse64 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse42 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse64 (+ (* (select .cse64 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-05-08 02:29:07,460 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse50 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse4 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse64 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse65 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse64 .cse7) 4) 4)) (.cse1 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse22 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse46 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse12 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse31 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse66 (+ (* (select .cse50 .cse4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse25 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse0 (= (select .cse25 0) 0)) (.cse3 (store .cse50 .cse66 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse30 (let ((.cse69 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse69 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse69 .cse31) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse15 (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0)) (.cse19 (= (select .cse50 0) 0)) (.cse26 (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse34 (= (select .cse50 4) 1)) (.cse11 (let ((.cse68 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse68 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse68 .cse12) 4) 4) 1))) (.cse45 (let ((.cse67 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse67 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse67 .cse46) 4)) 1))) (.cse17 (store .cse50 .cse66 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse21 (store .cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse1 .cse22) 4) 4) 1)) (.cse6 (store .cse64 .cse65 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse43 (store .cse64 .cse65 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) .cse0 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse1 0) 0) (<= 1 (let ((.cse2 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse3 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse2 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse2 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse5 (select v_ArrVal_1539 .cse7))) (or (= .cse5 4) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse5))) (< 0 (let ((.cse8 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse8 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse8 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse5) (< .cse5 1)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse10 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse9 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse10 4) (< 4 .cse10) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse10))) (< .cse10 1)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse14 (select v_ArrVal_1539 .cse12))) (or (< 0 (let ((.cse13 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse13 (+ (* (select .cse13 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ 3 .cse14) 0) (not (= v_ArrVal_1539 (store .cse11 .cse12 .cse14))) (< 0 .cse14)))) .cse15 (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse16 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse16) (not (= (store .cse17 .cse4 .cse16) v_ArrVal_1539)) (< 0 (let ((.cse18 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse18 (+ (* (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse16 3) 0)))) .cse19 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse20 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse22 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse20 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse20 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse23 (select .cse25 20)) (.cse24 (= (select .cse25 4) 1))) (or (and .cse0 (= 0 .cse23) .cse24) (and .cse0 (<= 1 .cse23) (<= .cse23 3) .cse24) (and .cse0 (<= (+ 1 .cse23) 0) (<= 0 (+ 3 .cse23)) .cse24))) .cse26 (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse27 (select v_ArrVal_1539 .cse4))) (or (< 0 .cse27) (not (= (store .cse3 .cse4 .cse27) v_ArrVal_1539)) (< 0 (let ((.cse28 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse28 (+ (* (select .cse28 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< (+ .cse27 3) 0)))) (<= 1 (let ((.cse29 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse30 .cse31 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse29 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse29 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse32 (select v_ArrVal_1539 .cse31))) (or (< 0 .cse32) (< (+ 3 .cse32) 0) (not (= v_ArrVal_1539 (store .cse30 .cse31 .cse32))) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4)))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) .cse34 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse35 (select v_ArrVal_1539 .cse4))) (or (< .cse35 1) (< 4 .cse35) (not (= (store .cse3 .cse4 .cse35) v_ArrVal_1539)) (< 0 (let ((.cse36 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse36 (+ (* (select .cse36 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse35 4)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse37 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse37) 0) (not (= v_ArrVal_1539 (store .cse6 .cse7 .cse37))) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse37)))) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse39 (select v_ArrVal_1539 .cse31))) (or (= 4 .cse39) (not (= v_ArrVal_1539 (store .cse30 .cse31 .cse39))) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4))))) (< .cse39 1) (< 4 .cse39)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse41 (select v_ArrVal_1539 .cse7))) (or (= .cse41 4) (< 0 (let ((.cse42 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse42 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 4 .cse41) (< .cse41 1) (not (= v_ArrVal_1539 (store .cse43 .cse7 .cse41)))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse44 (select v_ArrVal_1539 .cse46))) (or (< 4 .cse44) (not (= v_ArrVal_1539 (store .cse45 .cse46 .cse44))) (= .cse44 4) (< .cse44 1) (< 0 (let ((.cse47 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse47 (+ (* (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 0) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse49 (select v_ArrVal_1539 .cse22))) (or (< 0 (let ((.cse48 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse48 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse48 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 4 .cse49) (= .cse49 4) (not (= v_ArrVal_1539 (store .cse21 .cse22 .cse49))) (< .cse49 1)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (not (= |c_reader_twoThread1of1ForFork0_~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (or (and .cse15 .cse19 .cse26 .cse34 (= (select .cse50 20) 0)) (= 0 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|)) (<= 1 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse4 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse51 (+ (* (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse52 (select v_ArrVal_1539 .cse46))) (or (not (= v_ArrVal_1539 (store .cse45 .cse46 .cse52))) (< 0 .cse52) (< (+ 3 .cse52) 0) (< 0 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse53 (+ (* (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) 0) 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 0) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse54 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse11 .cse12 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse54 (+ (* (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse45 .cse46 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse56 (select v_ArrVal_1539 .cse7))) (or (< (+ 3 .cse56) 0) (< 0 (let ((.cse57 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse57 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))) (< 0 .cse56) (not (= v_ArrVal_1539 (store .cse43 .cse7 .cse56)))))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse58 (select v_ArrVal_1539 .cse4))) (or (< .cse58 1) (< 4 .cse58) (not (= (store .cse17 .cse4 .cse58) v_ArrVal_1539)) (< 0 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= .cse58 4)))) (forall ((v_ArrVal_1539 (Array Int Int))) (let ((.cse61 (select v_ArrVal_1539 .cse22))) (or (< 0 (let ((.cse60 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1539) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse60 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse60 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_1539 (store .cse21 .cse22 .cse61))) (< (+ 3 .cse61) 0) (< 0 .cse61)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (<= 1 (let ((.cse62 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse6 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse62 (+ (* (select .cse62 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (<= 1 (let ((.cse63 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse43 .cse7 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse63 (+ (* (select .cse63 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-05-08 02:29:18,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:29:18,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 96 states. [2024-05-08 02:29:18,826 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-05-08 02:29:19,017 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable37,SelfDestructingSolverStorable38,SelfDestructingSolverStorable39 [2024-05-08 02:29:19,018 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:29:19,018 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:29:19,018 INFO L85 PathProgramCache]: Analyzing trace with hash 250164921, now seen corresponding path program 1 times [2024-05-08 02:29:19,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:29:19,018 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [453308107] [2024-05-08 02:29:19,018 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:29:19,018 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:29:19,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:29:25,106 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:29:25,106 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:29:25,106 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [453308107] [2024-05-08 02:29:25,106 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [453308107] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-08 02:29:25,106 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1816590884] [2024-05-08 02:29:25,106 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:29:25,106 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-08 02:29:25,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-08 02:29:25,107 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-08 02:29:25,109 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-05-08 02:29:25,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:29:25,299 INFO L262 TraceCheckSpWp]: Trace formula consists of 345 conjuncts, 112 conjunts are in the unsatisfiable core [2024-05-08 02:29:25,310 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-08 02:29:25,320 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-05-08 02:29:25,361 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-05-08 02:29:25,362 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 14 [2024-05-08 02:29:25,427 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-05-08 02:29:25,427 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2024-05-08 02:29:25,547 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-05-08 02:29:25,795 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 11 [2024-05-08 02:29:26,159 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-08 02:29:27,548 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-08 02:29:32,128 INFO L349 Elim1Store]: treesize reduction 48, result has 28.4 percent of original size [2024-05-08 02:29:32,128 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 61 treesize of output 36 [2024-05-08 02:29:32,877 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 107 treesize of output 86 [2024-05-08 02:29:32,887 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 85 [2024-05-08 02:29:33,023 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 19 [2024-05-08 02:29:37,921 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-08 02:29:37,922 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 95 treesize of output 43 [2024-05-08 02:29:38,899 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:29:38,899 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-08 02:31:54,890 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:31:54,890 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1816590884] provided 0 perfect and 2 imperfect interpolant sequences [2024-05-08 02:31:54,890 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-05-08 02:31:54,891 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 39, 31] total 99 [2024-05-08 02:31:54,891 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [740124228] [2024-05-08 02:31:54,891 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-05-08 02:31:54,891 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 99 states [2024-05-08 02:31:54,891 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-08 02:31:55,296 INFO L349 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2024-05-08 02:31:55,296 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 1 disjoint index pairs (out of 10 index pairs), introduced 4 new quantified variables, introduced 7 case distinctions, treesize of input 54 treesize of output 42 [2024-05-08 02:31:57,888 INFO L85 PathProgramCache]: Analyzing trace with hash 569483278, now seen corresponding path program 2 times [2024-05-08 02:31:57,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:31:57,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:31:57,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:31:57,899 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-05-08 02:31:57,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:31:58,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 99 interpolants. [2024-05-08 02:31:58,457 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=501, Invalid=9398, Unknown=1, NotChecked=0, Total=9900 [2024-05-08 02:31:58,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:31:58,457 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-08 02:31:58,458 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 99 states, 99 states have (on average 3.1818181818181817) internal successors, (315), 99 states have internal predecessors, (315), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-08 02:31:58,458 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:31:58,458 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 96 states. [2024-05-08 02:31:58,458 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:32:58,798 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse167 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse165 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse168 (select .cse167 .cse165))) (let ((.cse382 (mod (+ .cse168 1) 4))) (let ((.cse380 (+ .cse168 2)) (.cse381 (= .cse382 0)) (.cse383 (select .cse167 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse161 (and (<= .cse380 0) (not .cse381) (= .cse382 (+ 4 .cse383)))) (.cse162 (and (or (< 0 .cse380) .cse381) (= .cse382 .cse383))) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse86 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse73 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse70 (select .cse73 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse69 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse71 (select (store .cse73 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse69 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse74 (select .cse70 .cse10))) (let ((.cse68 (mod (+ .cse74 1) 4)) (.cse72 (select .cse71 .cse18))) (or (= .cse68 0) (not (= (mod (+ (select .cse69 .cse10) 1) 4) 0)) (= (+ (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse68) (= (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72) (not (= (select (select .cse73 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72)) (< 0 (+ 2 .cse74))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse81 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse80 (select .cse81 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse77 (store .cse80 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse78 (select (store .cse81 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse77 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse75 (select .cse80 .cse10))) (let ((.cse76 (+ .cse75 1)) (.cse79 (select .cse78 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse75) (< .cse76 0) (not (= (mod (+ (select .cse77 .cse10) 1) 4) 0)) (= (select .cse78 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79) (= (select .cse80 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse76 4)) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79))))))))) (let ((.cse88 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse82 (select .cse88 .cse10))) (let ((.cse99 (mod (+ .cse82 1) 4))) (let ((.cse97 (+ .cse82 2)) (.cse100 (= .cse99 0)) (.cse98 (select .cse88 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse87 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (+ (select .cse87 .cse10) 1))) (let ((.cse83 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse87 .cse10 (mod .cse85 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse84 (select .cse83 .cse18))) (or (= (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse84) (< .cse85 0) (not (= .cse86 .cse84)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse91 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse91 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse89 (select .cse90 .cse18))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse91 .cse10) 1) 4) 0)) (not (= .cse86 .cse89))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse96 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (select .cse96 .cse10))) (let ((.cse93 (mod (+ .cse94 1) 4))) (let ((.cse95 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 (+ (- 4) .cse93))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse95 .cse18))) (or (not (= .cse92 .cse86)) (= .cse93 0) (< 0 (+ 2 .cse94)) (= .cse92 (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse97 0) (= (+ .cse98 4) .cse99) (not .cse100)) (and (or (< 0 .cse97) .cse100) (= .cse98 .cse99))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse107 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse108 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse102 (store .cse108 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse105 (select (store .cse107 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse102 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse101 (select .cse108 .cse10))) (let ((.cse103 (select .cse108 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse104 (mod (+ .cse101 1) 4)) (.cse106 (select .cse105 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (not (= (mod (+ (select .cse102 .cse10) 1) 4) 0)) (= (+ .cse103 4) .cse104) (= (select .cse105 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106) (= .cse103 .cse104) (not (= (select (select .cse107 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse112 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse116 (select .cse112 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse113 (store .cse116 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse111 (select .cse116 .cse10)) (.cse110 (select (store .cse112 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse113 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse109 (select .cse110 .cse8)) (.cse114 (select .cse116 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse115 (mod (+ .cse111 1) 4))) (or (= .cse109 (select .cse110 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse111) (not (= .cse109 (select (select .cse112 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse113 .cse10) 1) 4) 0)) (= (+ .cse114 4) .cse115) (= .cse114 .cse115)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse123 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse122 (store .cse123 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse119 (select .cse123 .cse10)) (.cse118 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse122 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse117 (select .cse118 .cse8)) (.cse120 (+ .cse119 1))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse119) (< .cse120 0) (not (= .cse117 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse122 .cse10) 1) 4) 0)) (= (select .cse123 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse120 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse128 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse128 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (+ (select .cse131 .cse10) 1))) (let ((.cse130 (select (store .cse128 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse10 (mod .cse124 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse125 (select .cse127 .cse10))) (let ((.cse126 (+ .cse125 1)) (.cse129 (select .cse130 .cse36))) (or (< .cse124 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse125) (< .cse126 0) (= (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse126 4)) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129)) (= (select .cse130 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse136 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse140 (select .cse136 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse140 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse132 (select .cse141 .cse10))) (let ((.cse139 (mod (+ .cse132 1) 4))) (let ((.cse133 (select .cse140 .cse10)) (.cse135 (select (store .cse136 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 (+ .cse139 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse134 (select .cse135 .cse8)) (.cse137 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse138 (mod (+ .cse133 1) 4))) (or (< 0 (+ .cse132 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse133) (= .cse134 (select .cse135 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse134 (select (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse137 4) .cse138) (= .cse137 .cse138) (= .cse139 0)))))))))) (let ((.cse147 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse146 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse142 (select .cse147 .cse146))) (let ((.cse160 (mod (+ .cse142 1) 4))) (let ((.cse157 (+ 2 .cse142)) (.cse159 (select .cse147 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse158 (= .cse160 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse145 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse145 .cse146 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse144 (select .cse143 .cse18))) (or (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse144) (not (= .cse86 .cse144)) (not (= (mod (+ (select .cse145 .cse146) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse151 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (+ (select .cse151 .cse146) 1))) (let ((.cse149 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse151 .cse146 (mod .cse150 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse148 (select .cse149 .cse18))) (or (not (= .cse148 .cse86)) (= .cse148 (select .cse149 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse150 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse156 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse152 (select .cse156 .cse146))) (let ((.cse153 (mod (+ .cse152 1) 4))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse156 .cse146 (+ .cse153 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse154 (select .cse155 .cse18))) (or (< 0 (+ 2 .cse152)) (= .cse153 0) (= .cse154 (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse154 .cse86)))))))))))) (and (or (< 0 .cse157) .cse158) (= .cse159 .cse160)) (and (<= .cse157 0) (= (+ .cse159 4) .cse160) (not .cse158))))))) (or .cse161 .cse162 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse164 .cse165 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse166 .cse18))) (or (not (= .cse163 .cse86)) (not (= (mod (+ (select .cse164 .cse165) 1) 4) 0)) (= .cse163 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse172 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (+ (select .cse172 .cse165) 1))) (let ((.cse171 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse172 .cse165 (mod .cse169 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse170 (select .cse171 .cse18))) (or (< .cse169 0) (not (= .cse86 .cse170)) (= (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse177 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse173 (select .cse177 .cse165))) (let ((.cse174 (mod (+ .cse173 1) 4))) (let ((.cse175 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse177 .cse165 (+ .cse174 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse176 (select .cse175 .cse18))) (or (< 0 (+ 2 .cse173)) (= .cse174 0) (= (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse176) (not (= .cse86 .cse176))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse181 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse180 (select .cse181 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse185 (store .cse180 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse178 (+ (select .cse185 .cse10) 1))) (let ((.cse183 (select (store .cse181 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse185 .cse10 (mod .cse178 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse184 (select .cse180 .cse10))) (let ((.cse179 (mod (+ .cse184 1) 4)) (.cse182 (select .cse183 .cse36))) (or (< .cse178 0) (= .cse179 0) (= (+ (select .cse180 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse179) (not (= (select (select .cse181 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse182)) (= (select .cse183 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse182) (< 0 (+ 2 .cse184)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse186 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse191 (select .cse186 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse192 (store .cse191 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse188 (+ (select .cse192 .cse10) 1))) (let ((.cse190 (select (store .cse186 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse192 .cse10 (mod .cse188 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse189 (select .cse191 .cse10)) (.cse187 (select .cse190 .cse8))) (or (not (= (select (select .cse186 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse187)) (< .cse188 0) (not (= (mod (+ .cse189 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse189) (= (select .cse190 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse187) (= (select .cse191 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse198 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse197 (select .cse198 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse194 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse195 (select (store .cse198 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse194 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse193 (select .cse197 .cse10)) (.cse196 (select .cse195 .cse36))) (or (not (= (mod (+ .cse193 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse193) (not (= (mod (+ (select .cse194 .cse10) 1) 4) 0)) (= (select .cse195 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196) (= (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse198 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse204 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse205 (select .cse204 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse207 (store .cse205 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select .cse207 .cse10))) (let ((.cse206 (mod (+ .cse199 1) 4))) (let ((.cse200 (select .cse205 .cse10)) (.cse202 (select (store .cse204 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse207 .cse10 (+ .cse206 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse201 (select .cse202 .cse18)) (.cse203 (mod (+ .cse200 1) 4))) (or (< 0 (+ .cse199 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse200) (= .cse201 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse203 0) (not (= (select (select .cse204 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse201)) (= (+ (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse203) (< 0 (+ 2 .cse200)) (= .cse206 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse213 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse212 (store .cse213 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse212 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse210 (select .cse213 .cse10)) (.cse208 (select .cse209 .cse8))) (or (= .cse208 (select .cse209 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse210 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse210) (not (= .cse208 (select (select .cse211 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse212 .cse10) 1) 4) 0)) (= (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse214 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse220 (select .cse214 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse216 (+ (select .cse221 .cse10) 1))) (let ((.cse217 (select .cse220 .cse10)) (.cse219 (select (store .cse214 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse221 .cse10 (mod .cse216 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse215 (select .cse219 .cse8)) (.cse218 (+ .cse217 1))) (or (not (= (select (select .cse214 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse215)) (< .cse216 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse217) (< .cse218 0) (= (select .cse219 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse215) (= (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse218 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse224 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse226 (select .cse224 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse228 (store .cse226 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse228 .cse10) 1))) (let ((.cse227 (select (store .cse224 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse228 .cse10 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse223 (select .cse226 .cse10)) (.cse225 (select .cse227 .cse36))) (or (< .cse222 0) (not (= (mod (+ .cse223 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse223) (not (= (select (select .cse224 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse225)) (= (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse227 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse225))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse235 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse236 (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse237 (store .cse236 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse237 .cse10) 1))) (let ((.cse234 (select (store .cse235 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse237 .cse10 (mod .cse229 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse230 (select .cse236 .cse10))) (let ((.cse231 (select .cse236 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse232 (mod (+ .cse230 1) 4)) (.cse233 (select .cse234 .cse18))) (or (< .cse229 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse230) (= (+ .cse231 4) .cse232) (= .cse231 .cse232) (= .cse233 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse233 (select (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse245 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse246 (store .cse245 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (+ (select .cse246 .cse10) 1))) (let ((.cse244 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse246 .cse10 (mod .cse238 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse239 (select .cse245 .cse10))) (let ((.cse240 (select .cse245 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse241 (mod (+ .cse239 1) 4)) (.cse243 (select .cse244 .cse36))) (or (< .cse238 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse239) (= (+ .cse240 4) .cse241) (= .cse240 .cse241) (not (= (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse243)) (= (select .cse244 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse243))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse252 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse249 (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse248 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse250 (select (store .cse252 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse248 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse247 (select .cse249 .cse10)) (.cse251 (select .cse250 .cse18))) (or (not (= (mod (+ .cse247 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse247) (not (= (mod (+ (select .cse248 .cse10) 1) 4) 0)) (= (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse250 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse251) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse251))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse256 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse258 (select .cse256 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse257 (store .cse258 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (select .cse258 .cse10)) (.cse254 (select (store .cse256 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse257 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse253 (select .cse254 .cse8)) (.cse255 (mod (+ .cse259 1) 4))) (or (= .cse253 (select .cse254 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse255 0) (not (= .cse253 (select (select .cse256 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse257 .cse10) 1) 4) 0)) (= (+ (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse255) (< 0 (+ 2 .cse259))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse265 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse262 (select .cse265 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse266 (store .cse262 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse260 (+ (select .cse266 .cse10) 1))) (let ((.cse264 (select (store .cse265 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse266 .cse10 (mod .cse260 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse261 (select .cse262 .cse10)) (.cse263 (select .cse264 .cse18))) (or (< .cse260 0) (not (= (mod (+ .cse261 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse261) (= (select .cse262 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse263 (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse263 (select (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse272 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse273 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse275 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse267 (select .cse275 .cse10))) (let ((.cse274 (mod (+ .cse267 1) 4))) (let ((.cse268 (select .cse273 .cse10)) (.cse270 (select (store .cse272 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse275 .cse10 (+ .cse274 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse269 (select .cse270 .cse18)) (.cse271 (+ .cse268 1))) (or (< 0 (+ .cse267 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse268) (= .cse269 (select .cse270 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse271 0) (not (= (select (select .cse272 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse269)) (= (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse271 4)) (= .cse274 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse282 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse284 (store .cse282 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse276 (select .cse284 .cse10))) (let ((.cse283 (mod (+ .cse276 1) 4))) (let ((.cse277 (select .cse282 .cse10)) (.cse279 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse284 .cse10 (+ .cse283 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse278 (select .cse279 .cse8)) (.cse280 (+ .cse277 1))) (or (< 0 (+ .cse276 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse277) (= .cse278 (select .cse279 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse280 0) (not (= .cse278 (select (select .cse281 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse282 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse280 4)) (= .cse283 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse291 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse287 (select .cse291 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse292 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse285 (+ (select .cse292 .cse10) 1))) (let ((.cse289 (select (store .cse291 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse10 (mod .cse285 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse290 (select .cse287 .cse10))) (let ((.cse286 (mod (+ .cse290 1) 4)) (.cse288 (select .cse289 .cse18))) (or (< .cse285 0) (= .cse286 0) (= (+ (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse286) (= .cse288 (select .cse289 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse290)) (not (= .cse288 (select (select .cse291 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse297 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse301 (select .cse297 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse302 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse293 (select .cse302 .cse10))) (let ((.cse300 (mod (+ .cse293 1) 4))) (let ((.cse294 (select .cse301 .cse10)) (.cse296 (select (store .cse297 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse302 .cse10 (+ .cse300 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse295 (select .cse296 .cse18)) (.cse298 (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse299 (mod (+ .cse294 1) 4))) (or (< 0 (+ .cse293 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse294) (= .cse295 (select .cse296 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse297 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse295)) (= (+ .cse298 4) .cse299) (= .cse298 .cse299) (= .cse300 0)))))))))) (or (let ((.cse304 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse305 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse308 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (+ (select .cse308 .cse165) 1))) (let ((.cse303 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse308 .cse165 (mod .cse306 4))))) (or (not (= (select (select .cse303 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse304) .cse305)) (< .cse306 0) (let ((.cse307 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse307 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse309 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse310 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse309 .cse165 0)))) (or (not (= (mod (+ (select .cse309 .cse165) 1) 4) 0)) (not (= (select (select .cse310 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse304) .cse305)) (let ((.cse311 (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse311 .cse18) (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse316 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse312 (select .cse316 .cse165))) (let ((.cse313 (mod (+ .cse312 1) 4))) (let ((.cse314 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse316 .cse165 (+ .cse313 (- 4)))))) (or (< 0 (+ 2 .cse312)) (= .cse313 0) (not (= (select (select .cse314 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse304) .cse305)) (let ((.cse315 (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse315 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse315 .cse18))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))))) .cse161 .cse162) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse317 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse324 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse325 (store .cse324 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse319 (+ (select .cse325 .cse10) 1))) (let ((.cse320 (select .cse324 .cse10)) (.cse323 (select (store .cse317 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse325 .cse10 (mod .cse319 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse318 (select .cse323 .cse8)) (.cse321 (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse322 (mod (+ .cse320 1) 4))) (or (not (= (select (select .cse317 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse318)) (< .cse319 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse320) (= (+ .cse321 4) .cse322) (= (select .cse323 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse318) (= .cse321 .cse322))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse332 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse329 (select .cse332 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse333 (store .cse329 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (+ (select .cse333 .cse10) 1))) (let ((.cse331 (select (store .cse332 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse333 .cse10 (mod .cse326 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse327 (select .cse329 .cse10))) (let ((.cse328 (+ .cse327 1)) (.cse330 (select .cse331 .cse18))) (or (< .cse326 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse327) (< .cse328 0) (= (select .cse329 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse328 4)) (= .cse330 (select .cse331 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse330 (select (select .cse332 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse334 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse334 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse341 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (+ (select .cse341 .cse10) 1))) (let ((.cse339 (select (store .cse334 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse341 .cse10 (mod .cse336 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse340 (select .cse338 .cse10))) (let ((.cse337 (mod (+ .cse340 1) 4)) (.cse335 (select .cse339 .cse8))) (or (not (= (select (select .cse334 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse335)) (< .cse336 0) (= .cse337 0) (= (+ (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse337) (= (select .cse339 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse335) (< 0 (+ 2 .cse340)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse348 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse350 (select .cse348 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (store .cse350 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse342 (select .cse351 .cse10))) (let ((.cse349 (mod (+ .cse342 1) 4))) (let ((.cse347 (select (store .cse348 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse351 .cse10 (+ .cse349 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse343 (select .cse350 .cse10))) (let ((.cse344 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse345 (mod (+ .cse343 1) 4)) (.cse346 (select .cse347 .cse36))) (or (< 0 (+ .cse342 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse343) (= (+ .cse344 4) .cse345) (= .cse344 .cse345) (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse348 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= .cse349 0)))))))))) (let ((.cse358 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse357 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse359 (select .cse358 .cse357))) (let ((.cse370 (mod (+ .cse359 1) 4))) (let ((.cse367 (+ 2 .cse359)) (.cse368 (= .cse370 0)) (.cse369 (select .cse358 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse356 (store .cse358 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse352 (select .cse356 .cse357))) (let ((.cse353 (mod (+ .cse352 1) 4))) (let ((.cse355 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse356 .cse357 (+ .cse353 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse354 (select .cse355 .cse18))) (or (< 0 (+ 2 .cse352)) (= .cse353 0) (= .cse354 (select .cse355 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse86 .cse354))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse359))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse360 (store .cse358 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse360 .cse357 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse361 (select .cse362 .cse18))) (or (not (= (mod (+ (select .cse360 .cse357) 1) 4) 0)) (not (= .cse86 .cse361)) (= (select .cse362 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse361)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse359))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse366 (store .cse358 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse365 (+ (select .cse366 .cse357) 1))) (let ((.cse364 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse366 .cse357 (mod .cse365 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse363 (select .cse364 .cse18))) (or (not (= .cse86 .cse363)) (= .cse363 (select .cse364 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse365 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse359)))) (and (<= .cse367 0) (not .cse368) (= (+ .cse369 4) .cse370)) (and (or (< 0 .cse367) .cse368) (= .cse369 .cse370))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse377 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse374 (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse379 (store .cse374 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse371 (select .cse379 .cse10))) (let ((.cse378 (mod (+ .cse371 1) 4))) (let ((.cse376 (select (store .cse377 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse379 .cse10 (+ .cse378 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse372 (select .cse374 .cse10))) (let ((.cse373 (mod (+ .cse372 1) 4)) (.cse375 (select .cse376 .cse36))) (or (< 0 (+ .cse371 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse372) (= .cse373 0) (= (+ (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse373) (= .cse375 (select .cse376 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse377 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse375)) (< 0 (+ 2 .cse372)) (= .cse378 0)))))))))))))))) is different from true [2024-05-08 02:33:00,094 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:33:21,580 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:33:25,257 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:33:37,441 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:33:40,529 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:33:45,449 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse86 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse73 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse70 (select .cse73 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse69 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse71 (select (store .cse73 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse69 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse74 (select .cse70 .cse10))) (let ((.cse68 (mod (+ .cse74 1) 4)) (.cse72 (select .cse71 .cse18))) (or (= .cse68 0) (not (= (mod (+ (select .cse69 .cse10) 1) 4) 0)) (= (+ (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse68) (= (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72) (not (= (select (select .cse73 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72)) (< 0 (+ 2 .cse74))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse81 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse80 (select .cse81 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse77 (store .cse80 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse78 (select (store .cse81 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse77 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse75 (select .cse80 .cse10))) (let ((.cse76 (+ .cse75 1)) (.cse79 (select .cse78 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse75) (< .cse76 0) (not (= (mod (+ (select .cse77 .cse10) 1) 4) 0)) (= (select .cse78 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79) (= (select .cse80 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse76 4)) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79))))))))) (let ((.cse88 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse82 (select .cse88 .cse10))) (let ((.cse99 (mod (+ .cse82 1) 4))) (let ((.cse97 (+ .cse82 2)) (.cse100 (= .cse99 0)) (.cse98 (select .cse88 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse87 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (+ (select .cse87 .cse10) 1))) (let ((.cse83 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse87 .cse10 (mod .cse85 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse84 (select .cse83 .cse18))) (or (= (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse84) (< .cse85 0) (not (= .cse86 .cse84)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse91 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse91 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse89 (select .cse90 .cse18))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse91 .cse10) 1) 4) 0)) (not (= .cse86 .cse89))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse96 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (select .cse96 .cse10))) (let ((.cse93 (mod (+ .cse94 1) 4))) (let ((.cse95 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 (+ (- 4) .cse93))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse95 .cse18))) (or (not (= .cse92 .cse86)) (= .cse93 0) (< 0 (+ 2 .cse94)) (= .cse92 (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse97 0) (= (+ .cse98 4) .cse99) (not .cse100)) (and (or (< 0 .cse97) .cse100) (= .cse98 .cse99))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse107 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse108 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse102 (store .cse108 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse105 (select (store .cse107 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse102 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse101 (select .cse108 .cse10))) (let ((.cse103 (select .cse108 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse104 (mod (+ .cse101 1) 4)) (.cse106 (select .cse105 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (not (= (mod (+ (select .cse102 .cse10) 1) 4) 0)) (= (+ .cse103 4) .cse104) (= (select .cse105 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106) (= .cse103 .cse104) (not (= (select (select .cse107 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse112 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse116 (select .cse112 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse113 (store .cse116 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse111 (select .cse116 .cse10)) (.cse110 (select (store .cse112 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse113 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse109 (select .cse110 .cse8)) (.cse114 (select .cse116 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse115 (mod (+ .cse111 1) 4))) (or (= .cse109 (select .cse110 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse111) (not (= .cse109 (select (select .cse112 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse113 .cse10) 1) 4) 0)) (= (+ .cse114 4) .cse115) (= .cse114 .cse115)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse123 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse122 (store .cse123 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse119 (select .cse123 .cse10)) (.cse118 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse122 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse117 (select .cse118 .cse8)) (.cse120 (+ .cse119 1))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse119) (< .cse120 0) (not (= .cse117 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse122 .cse10) 1) 4) 0)) (= (select .cse123 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse120 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse128 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse128 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (+ (select .cse131 .cse10) 1))) (let ((.cse130 (select (store .cse128 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse10 (mod .cse124 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse125 (select .cse127 .cse10))) (let ((.cse126 (+ .cse125 1)) (.cse129 (select .cse130 .cse36))) (or (< .cse124 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse125) (< .cse126 0) (= (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse126 4)) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129)) (= (select .cse130 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse136 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse140 (select .cse136 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse140 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse132 (select .cse141 .cse10))) (let ((.cse139 (mod (+ .cse132 1) 4))) (let ((.cse133 (select .cse140 .cse10)) (.cse135 (select (store .cse136 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 (+ .cse139 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse134 (select .cse135 .cse8)) (.cse137 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse138 (mod (+ .cse133 1) 4))) (or (< 0 (+ .cse132 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse133) (= .cse134 (select .cse135 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse134 (select (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse137 4) .cse138) (= .cse137 .cse138) (= .cse139 0)))))))))) (let ((.cse147 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse146 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse142 (select .cse147 .cse146))) (let ((.cse160 (mod (+ .cse142 1) 4))) (let ((.cse157 (+ 2 .cse142)) (.cse159 (select .cse147 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse158 (= .cse160 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse145 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse145 .cse146 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse144 (select .cse143 .cse18))) (or (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse144) (not (= .cse86 .cse144)) (not (= (mod (+ (select .cse145 .cse146) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse151 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (+ (select .cse151 .cse146) 1))) (let ((.cse149 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse151 .cse146 (mod .cse150 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse148 (select .cse149 .cse18))) (or (not (= .cse148 .cse86)) (= .cse148 (select .cse149 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse150 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse156 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse152 (select .cse156 .cse146))) (let ((.cse153 (mod (+ .cse152 1) 4))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse156 .cse146 (+ .cse153 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse154 (select .cse155 .cse18))) (or (< 0 (+ 2 .cse152)) (= .cse153 0) (= .cse154 (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse154 .cse86)))))))))))) (and (or (< 0 .cse157) .cse158) (= .cse159 .cse160)) (and (<= .cse157 0) (= (+ .cse159 4) .cse160) (not .cse158))))))) (let ((.cse169 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse170 (select .cse169 .cse167))) (let ((.cse163 (mod (+ .cse170 1) 4))) (let ((.cse161 (+ .cse170 2)) (.cse162 (= .cse163 0)) (.cse164 (select .cse169 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (or (and (<= .cse161 0) (not .cse162) (= .cse163 (+ 4 .cse164))) (and (or (< 0 .cse161) .cse162) (= .cse163 .cse164)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse166 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse166 .cse167 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse168 .cse18))) (or (not (= .cse165 .cse86)) (not (= (mod (+ (select .cse166 .cse167) 1) 4) 0)) (= .cse165 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse174 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (+ (select .cse174 .cse167) 1))) (let ((.cse173 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse174 .cse167 (mod .cse171 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse172 (select .cse173 .cse18))) (or (< .cse171 0) (not (= .cse86 .cse172)) (= (select .cse173 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse172))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse179 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse175 (select .cse179 .cse167))) (let ((.cse176 (mod (+ .cse175 1) 4))) (let ((.cse177 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse179 .cse167 (+ .cse176 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse178 (select .cse177 .cse18))) (or (< 0 (+ 2 .cse175)) (= .cse176 0) (= (select .cse177 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse178) (not (= .cse86 .cse178))))))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse183 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse182 (select .cse183 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse180 (+ (select .cse187 .cse10) 1))) (let ((.cse185 (select (store .cse183 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse10 (mod .cse180 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse186 (select .cse182 .cse10))) (let ((.cse181 (mod (+ .cse186 1) 4)) (.cse184 (select .cse185 .cse36))) (or (< .cse180 0) (= .cse181 0) (= (+ (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse181) (not (= (select (select .cse183 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse184)) (= (select .cse185 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse184) (< 0 (+ 2 .cse186)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse188 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse193 (select .cse188 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse194 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse190 (+ (select .cse194 .cse10) 1))) (let ((.cse192 (select (store .cse188 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse194 .cse10 (mod .cse190 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse191 (select .cse193 .cse10)) (.cse189 (select .cse192 .cse8))) (or (not (= (select (select .cse188 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse189)) (< .cse190 0) (not (= (mod (+ .cse191 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse191) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse189) (= (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse199 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse196 (store .cse199 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse197 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse196 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse195 (select .cse199 .cse10)) (.cse198 (select .cse197 .cse36))) (or (not (= (mod (+ .cse195 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse195) (not (= (mod (+ (select .cse196 .cse10) 1) 4) 0)) (= (select .cse197 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198) (= (select .cse199 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse206 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse207 (select .cse206 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse209 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse201 (select .cse209 .cse10))) (let ((.cse208 (mod (+ .cse201 1) 4))) (let ((.cse202 (select .cse207 .cse10)) (.cse204 (select (store .cse206 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse209 .cse10 (+ .cse208 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse203 (select .cse204 .cse18)) (.cse205 (mod (+ .cse202 1) 4))) (or (< 0 (+ .cse201 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse202) (= .cse203 (select .cse204 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse205 0) (not (= (select (select .cse206 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse203)) (= (+ (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse205) (< 0 (+ 2 .cse202)) (= .cse208 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse215 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse214 (store .cse215 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse211 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse214 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse212 (select .cse215 .cse10)) (.cse210 (select .cse211 .cse8))) (or (= .cse210 (select .cse211 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse212 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse212) (not (= .cse210 (select (select .cse213 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse214 .cse10) 1) 4) 0)) (= (select .cse215 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse216 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse222 (select .cse216 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse223 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse218 (+ (select .cse223 .cse10) 1))) (let ((.cse219 (select .cse222 .cse10)) (.cse221 (select (store .cse216 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse223 .cse10 (mod .cse218 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse217 (select .cse221 .cse8)) (.cse220 (+ .cse219 1))) (or (not (= (select (select .cse216 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse217)) (< .cse218 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse219) (< .cse220 0) (= (select .cse221 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse217) (= (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse220 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse228 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse230 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (+ (select .cse230 .cse10) 1))) (let ((.cse229 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse230 .cse10 (mod .cse224 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse225 (select .cse228 .cse10)) (.cse227 (select .cse229 .cse36))) (or (< .cse224 0) (not (= (mod (+ .cse225 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse225) (not (= (select (select .cse226 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse227)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse229 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse227))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse237 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse238 (select .cse237 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse239 (store .cse238 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse231 (+ (select .cse239 .cse10) 1))) (let ((.cse236 (select (store .cse237 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse239 .cse10 (mod .cse231 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse232 (select .cse238 .cse10))) (let ((.cse233 (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse234 (mod (+ .cse232 1) 4)) (.cse235 (select .cse236 .cse18))) (or (< .cse231 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse232) (= (+ .cse233 4) .cse234) (= .cse233 .cse234) (= .cse235 (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse235 (select (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse244 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse247 (select .cse244 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse248 (store .cse247 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse240 (+ (select .cse248 .cse10) 1))) (let ((.cse246 (select (store .cse244 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse248 .cse10 (mod .cse240 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse241 (select .cse247 .cse10))) (let ((.cse242 (select .cse247 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse243 (mod (+ .cse241 1) 4)) (.cse245 (select .cse246 .cse36))) (or (< .cse240 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse241) (= (+ .cse242 4) .cse243) (= .cse242 .cse243) (not (= (select (select .cse244 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse245)) (= (select .cse246 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse245))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse254 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse251 (select .cse254 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse251 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (select (store .cse254 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse249 (select .cse251 .cse10)) (.cse253 (select .cse252 .cse18))) (or (not (= (mod (+ .cse249 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse249) (not (= (mod (+ (select .cse250 .cse10) 1) 4) 0)) (= (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse253) (not (= (select (select .cse254 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse253))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse260 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse259 (store .cse260 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse261 (select .cse260 .cse10)) (.cse256 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse259 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse255 (select .cse256 .cse8)) (.cse257 (mod (+ .cse261 1) 4))) (or (= .cse255 (select .cse256 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse257 0) (not (= .cse255 (select (select .cse258 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse259 .cse10) 1) 4) 0)) (= (+ (select .cse260 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse257) (< 0 (+ 2 .cse261))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse264 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse268 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse262 (+ (select .cse268 .cse10) 1))) (let ((.cse266 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse268 .cse10 (mod .cse262 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse263 (select .cse264 .cse10)) (.cse265 (select .cse266 .cse18))) (or (< .cse262 0) (not (= (mod (+ .cse263 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse263) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse265 (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse265 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse274 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse275 (select .cse274 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse277 (store .cse275 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (select .cse277 .cse10))) (let ((.cse276 (mod (+ .cse269 1) 4))) (let ((.cse270 (select .cse275 .cse10)) (.cse272 (select (store .cse274 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse277 .cse10 (+ .cse276 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse271 (select .cse272 .cse18)) (.cse273 (+ .cse270 1))) (or (< 0 (+ .cse269 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse270) (= .cse271 (select .cse272 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse273 0) (not (= (select (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse271)) (= (select .cse275 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse273 4)) (= .cse276 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse283 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse284 (select .cse283 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse286 (store .cse284 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse278 (select .cse286 .cse10))) (let ((.cse285 (mod (+ .cse278 1) 4))) (let ((.cse279 (select .cse284 .cse10)) (.cse281 (select (store .cse283 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse286 .cse10 (+ .cse285 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse280 (select .cse281 .cse8)) (.cse282 (+ .cse279 1))) (or (< 0 (+ .cse278 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse279) (= .cse280 (select .cse281 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse282 0) (not (= .cse280 (select (select .cse283 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse284 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse282 4)) (= .cse285 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse293 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse289 (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse294 (store .cse289 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse287 (+ (select .cse294 .cse10) 1))) (let ((.cse291 (select (store .cse293 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse294 .cse10 (mod .cse287 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse292 (select .cse289 .cse10))) (let ((.cse288 (mod (+ .cse292 1) 4)) (.cse290 (select .cse291 .cse18))) (or (< .cse287 0) (= .cse288 0) (= (+ (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse288) (= .cse290 (select .cse291 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse292)) (not (= .cse290 (select (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse299 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse303 (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse304 (store .cse303 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse295 (select .cse304 .cse10))) (let ((.cse302 (mod (+ .cse295 1) 4))) (let ((.cse296 (select .cse303 .cse10)) (.cse298 (select (store .cse299 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse304 .cse10 (+ .cse302 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse297 (select .cse298 .cse18)) (.cse300 (select .cse303 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse301 (mod (+ .cse296 1) 4))) (or (< 0 (+ .cse295 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse296) (= .cse297 (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297)) (= (+ .cse300 4) .cse301) (= .cse300 .cse301) (= .cse302 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse305 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse312 (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse313 (store .cse312 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse307 (+ (select .cse313 .cse10) 1))) (let ((.cse308 (select .cse312 .cse10)) (.cse311 (select (store .cse305 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse313 .cse10 (mod .cse307 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse306 (select .cse311 .cse8)) (.cse309 (select .cse312 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse310 (mod (+ .cse308 1) 4))) (or (not (= (select (select .cse305 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse306)) (< .cse307 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse308) (= (+ .cse309 4) .cse310) (= (select .cse311 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse306) (= .cse309 .cse310))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse320 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse317 (select .cse320 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse321 (store .cse317 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (+ (select .cse321 .cse10) 1))) (let ((.cse319 (select (store .cse320 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse321 .cse10 (mod .cse314 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse315 (select .cse317 .cse10))) (let ((.cse316 (+ .cse315 1)) (.cse318 (select .cse319 .cse18))) (or (< .cse314 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse315) (< .cse316 0) (= (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse316 4)) (= .cse318 (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse318 (select (select .cse320 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse326 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse329 (store .cse326 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse324 (+ (select .cse329 .cse10) 1))) (let ((.cse327 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse329 .cse10 (mod .cse324 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse328 (select .cse326 .cse10))) (let ((.cse325 (mod (+ .cse328 1) 4)) (.cse323 (select .cse327 .cse8))) (or (not (= (select (select .cse322 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse323)) (< .cse324 0) (= .cse325 0) (= (+ (select .cse326 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse325) (= (select .cse327 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse323) (< 0 (+ 2 .cse328)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse336 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse336 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse330 (select .cse339 .cse10))) (let ((.cse337 (mod (+ .cse330 1) 4))) (let ((.cse335 (select (store .cse336 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse10 (+ .cse337 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse331 (select .cse338 .cse10))) (let ((.cse332 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse333 (mod (+ .cse331 1) 4)) (.cse334 (select .cse335 .cse36))) (or (< 0 (+ .cse330 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse331) (= (+ .cse332 4) .cse333) (= .cse332 .cse333) (= .cse334 (select .cse335 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse334)) (= .cse337 0)))))))))) (let ((.cse346 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse345 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse347 (select .cse346 .cse345))) (let ((.cse358 (mod (+ .cse347 1) 4))) (let ((.cse355 (+ 2 .cse347)) (.cse356 (= .cse358 0)) (.cse357 (select .cse346 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse344 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse340 (select .cse344 .cse345))) (let ((.cse341 (mod (+ .cse340 1) 4))) (let ((.cse343 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse344 .cse345 (+ .cse341 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse342 (select .cse343 .cse18))) (or (< 0 (+ 2 .cse340)) (= .cse341 0) (= .cse342 (select .cse343 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse86 .cse342))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse348 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse348 .cse345 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse349 (select .cse350 .cse18))) (or (not (= (mod (+ (select .cse348 .cse345) 1) 4) 0)) (not (= .cse86 .cse349)) (= (select .cse350 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse349)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse354 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse353 (+ (select .cse354 .cse345) 1))) (let ((.cse352 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse354 .cse345 (mod .cse353 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse351 (select .cse352 .cse18))) (or (not (= .cse86 .cse351)) (= .cse351 (select .cse352 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse353 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347)))) (and (<= .cse355 0) (not .cse356) (= (+ .cse357 4) .cse358)) (and (or (< 0 .cse355) .cse356) (= .cse357 .cse358))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse365 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse362 (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse359 (select .cse367 .cse10))) (let ((.cse366 (mod (+ .cse359 1) 4))) (let ((.cse364 (select (store .cse365 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse10 (+ .cse366 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse360 (select .cse362 .cse10))) (let ((.cse361 (mod (+ .cse360 1) 4)) (.cse363 (select .cse364 .cse36))) (or (< 0 (+ .cse359 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse360) (= .cse361 0) (= (+ (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse361) (= .cse363 (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse363)) (< 0 (+ 2 .cse360)) (= .cse366 0)))))))))))) is different from true [2024-05-08 02:33:52,733 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse86 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse73 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse70 (select .cse73 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse69 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse71 (select (store .cse73 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse69 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse74 (select .cse70 .cse10))) (let ((.cse68 (mod (+ .cse74 1) 4)) (.cse72 (select .cse71 .cse18))) (or (= .cse68 0) (not (= (mod (+ (select .cse69 .cse10) 1) 4) 0)) (= (+ (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse68) (= (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72) (not (= (select (select .cse73 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72)) (< 0 (+ 2 .cse74))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse81 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse80 (select .cse81 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse77 (store .cse80 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse78 (select (store .cse81 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse77 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse75 (select .cse80 .cse10))) (let ((.cse76 (+ .cse75 1)) (.cse79 (select .cse78 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse75) (< .cse76 0) (not (= (mod (+ (select .cse77 .cse10) 1) 4) 0)) (= (select .cse78 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79) (= (select .cse80 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse76 4)) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79))))))))) (let ((.cse88 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse82 (select .cse88 .cse10))) (let ((.cse99 (mod (+ .cse82 1) 4))) (let ((.cse97 (+ .cse82 2)) (.cse100 (= .cse99 0)) (.cse98 (select .cse88 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse87 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (+ (select .cse87 .cse10) 1))) (let ((.cse83 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse87 .cse10 (mod .cse85 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse84 (select .cse83 .cse18))) (or (= (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse84) (< .cse85 0) (not (= .cse86 .cse84)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse91 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse91 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse89 (select .cse90 .cse18))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse91 .cse10) 1) 4) 0)) (not (= .cse86 .cse89))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse96 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (select .cse96 .cse10))) (let ((.cse93 (mod (+ .cse94 1) 4))) (let ((.cse95 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 (+ (- 4) .cse93))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse95 .cse18))) (or (not (= .cse92 .cse86)) (= .cse93 0) (< 0 (+ 2 .cse94)) (= .cse92 (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse97 0) (= (+ .cse98 4) .cse99) (not .cse100)) (and (or (< 0 .cse97) .cse100) (= .cse98 .cse99))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse107 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse108 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse102 (store .cse108 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse105 (select (store .cse107 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse102 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse101 (select .cse108 .cse10))) (let ((.cse103 (select .cse108 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse104 (mod (+ .cse101 1) 4)) (.cse106 (select .cse105 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (not (= (mod (+ (select .cse102 .cse10) 1) 4) 0)) (= (+ .cse103 4) .cse104) (= (select .cse105 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106) (= .cse103 .cse104) (not (= (select (select .cse107 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse112 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse116 (select .cse112 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse113 (store .cse116 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse111 (select .cse116 .cse10)) (.cse110 (select (store .cse112 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse113 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse109 (select .cse110 .cse8)) (.cse114 (select .cse116 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse115 (mod (+ .cse111 1) 4))) (or (= .cse109 (select .cse110 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse111) (not (= .cse109 (select (select .cse112 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse113 .cse10) 1) 4) 0)) (= (+ .cse114 4) .cse115) (= .cse114 .cse115)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse123 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse122 (store .cse123 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse119 (select .cse123 .cse10)) (.cse118 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse122 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse117 (select .cse118 .cse8)) (.cse120 (+ .cse119 1))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse119) (< .cse120 0) (not (= .cse117 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse122 .cse10) 1) 4) 0)) (= (select .cse123 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse120 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse128 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse128 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (+ (select .cse131 .cse10) 1))) (let ((.cse130 (select (store .cse128 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse10 (mod .cse124 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse125 (select .cse127 .cse10))) (let ((.cse126 (+ .cse125 1)) (.cse129 (select .cse130 .cse36))) (or (< .cse124 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse125) (< .cse126 0) (= (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse126 4)) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129)) (= (select .cse130 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse136 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse140 (select .cse136 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse140 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse132 (select .cse141 .cse10))) (let ((.cse139 (mod (+ .cse132 1) 4))) (let ((.cse133 (select .cse140 .cse10)) (.cse135 (select (store .cse136 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 (+ .cse139 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse134 (select .cse135 .cse8)) (.cse137 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse138 (mod (+ .cse133 1) 4))) (or (< 0 (+ .cse132 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse133) (= .cse134 (select .cse135 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse134 (select (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse137 4) .cse138) (= .cse137 .cse138) (= .cse139 0)))))))))) (let ((.cse147 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse146 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse142 (select .cse147 .cse146))) (let ((.cse160 (mod (+ .cse142 1) 4))) (let ((.cse157 (+ 2 .cse142)) (.cse159 (select .cse147 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse158 (= .cse160 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse145 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse145 .cse146 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse144 (select .cse143 .cse18))) (or (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse144) (not (= .cse86 .cse144)) (not (= (mod (+ (select .cse145 .cse146) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse151 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (+ (select .cse151 .cse146) 1))) (let ((.cse149 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse151 .cse146 (mod .cse150 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse148 (select .cse149 .cse18))) (or (not (= .cse148 .cse86)) (= .cse148 (select .cse149 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse150 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse156 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse152 (select .cse156 .cse146))) (let ((.cse153 (mod (+ .cse152 1) 4))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse156 .cse146 (+ .cse153 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse154 (select .cse155 .cse18))) (or (< 0 (+ 2 .cse152)) (= .cse153 0) (= .cse154 (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse154 .cse86)))))))))))) (and (or (< 0 .cse157) .cse158) (= .cse159 .cse160)) (and (<= .cse157 0) (= (+ .cse159 4) .cse160) (not .cse158))))))) (let ((.cse169 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse170 (select .cse169 .cse167))) (let ((.cse163 (mod (+ .cse170 1) 4))) (let ((.cse161 (+ .cse170 2)) (.cse162 (= .cse163 0)) (.cse164 (select .cse169 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (or (and (<= .cse161 0) (not .cse162) (= .cse163 (+ 4 .cse164))) (and (or (< 0 .cse161) .cse162) (= .cse163 .cse164)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse166 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse166 .cse167 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse168 .cse18))) (or (not (= .cse165 .cse86)) (not (= (mod (+ (select .cse166 .cse167) 1) 4) 0)) (= .cse165 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse174 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (+ (select .cse174 .cse167) 1))) (let ((.cse173 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse174 .cse167 (mod .cse171 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse172 (select .cse173 .cse18))) (or (< .cse171 0) (not (= .cse86 .cse172)) (= (select .cse173 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse172))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse179 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse175 (select .cse179 .cse167))) (let ((.cse176 (mod (+ .cse175 1) 4))) (let ((.cse177 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse179 .cse167 (+ .cse176 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse178 (select .cse177 .cse18))) (or (< 0 (+ 2 .cse175)) (= .cse176 0) (= (select .cse177 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse178) (not (= .cse86 .cse178))))))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse183 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse182 (select .cse183 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse180 (+ (select .cse187 .cse10) 1))) (let ((.cse185 (select (store .cse183 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse10 (mod .cse180 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse186 (select .cse182 .cse10))) (let ((.cse181 (mod (+ .cse186 1) 4)) (.cse184 (select .cse185 .cse36))) (or (< .cse180 0) (= .cse181 0) (= (+ (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse181) (not (= (select (select .cse183 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse184)) (= (select .cse185 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse184) (< 0 (+ 2 .cse186)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse188 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse193 (select .cse188 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse194 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse190 (+ (select .cse194 .cse10) 1))) (let ((.cse192 (select (store .cse188 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse194 .cse10 (mod .cse190 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse191 (select .cse193 .cse10)) (.cse189 (select .cse192 .cse8))) (or (not (= (select (select .cse188 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse189)) (< .cse190 0) (not (= (mod (+ .cse191 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse191) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse189) (= (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse199 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse196 (store .cse199 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse197 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse196 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse195 (select .cse199 .cse10)) (.cse198 (select .cse197 .cse36))) (or (not (= (mod (+ .cse195 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse195) (not (= (mod (+ (select .cse196 .cse10) 1) 4) 0)) (= (select .cse197 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198) (= (select .cse199 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse206 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse207 (select .cse206 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse209 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse201 (select .cse209 .cse10))) (let ((.cse208 (mod (+ .cse201 1) 4))) (let ((.cse202 (select .cse207 .cse10)) (.cse204 (select (store .cse206 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse209 .cse10 (+ .cse208 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse203 (select .cse204 .cse18)) (.cse205 (mod (+ .cse202 1) 4))) (or (< 0 (+ .cse201 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse202) (= .cse203 (select .cse204 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse205 0) (not (= (select (select .cse206 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse203)) (= (+ (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse205) (< 0 (+ 2 .cse202)) (= .cse208 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse215 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse214 (store .cse215 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse211 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse214 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse212 (select .cse215 .cse10)) (.cse210 (select .cse211 .cse8))) (or (= .cse210 (select .cse211 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse212 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse212) (not (= .cse210 (select (select .cse213 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse214 .cse10) 1) 4) 0)) (= (select .cse215 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse216 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse222 (select .cse216 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse223 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse218 (+ (select .cse223 .cse10) 1))) (let ((.cse219 (select .cse222 .cse10)) (.cse221 (select (store .cse216 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse223 .cse10 (mod .cse218 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse217 (select .cse221 .cse8)) (.cse220 (+ .cse219 1))) (or (not (= (select (select .cse216 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse217)) (< .cse218 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse219) (< .cse220 0) (= (select .cse221 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse217) (= (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse220 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse228 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse230 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (+ (select .cse230 .cse10) 1))) (let ((.cse229 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse230 .cse10 (mod .cse224 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse225 (select .cse228 .cse10)) (.cse227 (select .cse229 .cse36))) (or (< .cse224 0) (not (= (mod (+ .cse225 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse225) (not (= (select (select .cse226 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse227)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse229 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse227))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse237 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse238 (select .cse237 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse239 (store .cse238 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse231 (+ (select .cse239 .cse10) 1))) (let ((.cse236 (select (store .cse237 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse239 .cse10 (mod .cse231 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse232 (select .cse238 .cse10))) (let ((.cse233 (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse234 (mod (+ .cse232 1) 4)) (.cse235 (select .cse236 .cse18))) (or (< .cse231 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse232) (= (+ .cse233 4) .cse234) (= .cse233 .cse234) (= .cse235 (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse235 (select (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse244 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse247 (select .cse244 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse248 (store .cse247 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse240 (+ (select .cse248 .cse10) 1))) (let ((.cse246 (select (store .cse244 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse248 .cse10 (mod .cse240 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse241 (select .cse247 .cse10))) (let ((.cse242 (select .cse247 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse243 (mod (+ .cse241 1) 4)) (.cse245 (select .cse246 .cse36))) (or (< .cse240 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse241) (= (+ .cse242 4) .cse243) (= .cse242 .cse243) (not (= (select (select .cse244 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse245)) (= (select .cse246 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse245))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse254 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse251 (select .cse254 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse251 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (select (store .cse254 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse249 (select .cse251 .cse10)) (.cse253 (select .cse252 .cse18))) (or (not (= (mod (+ .cse249 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse249) (not (= (mod (+ (select .cse250 .cse10) 1) 4) 0)) (= (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse253) (not (= (select (select .cse254 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse253))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse260 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse259 (store .cse260 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse261 (select .cse260 .cse10)) (.cse256 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse259 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse255 (select .cse256 .cse8)) (.cse257 (mod (+ .cse261 1) 4))) (or (= .cse255 (select .cse256 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse257 0) (not (= .cse255 (select (select .cse258 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse259 .cse10) 1) 4) 0)) (= (+ (select .cse260 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse257) (< 0 (+ 2 .cse261))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse264 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse268 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse262 (+ (select .cse268 .cse10) 1))) (let ((.cse266 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse268 .cse10 (mod .cse262 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse263 (select .cse264 .cse10)) (.cse265 (select .cse266 .cse18))) (or (< .cse262 0) (not (= (mod (+ .cse263 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse263) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse265 (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse265 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse274 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse275 (select .cse274 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse277 (store .cse275 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (select .cse277 .cse10))) (let ((.cse276 (mod (+ .cse269 1) 4))) (let ((.cse270 (select .cse275 .cse10)) (.cse272 (select (store .cse274 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse277 .cse10 (+ .cse276 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse271 (select .cse272 .cse18)) (.cse273 (+ .cse270 1))) (or (< 0 (+ .cse269 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse270) (= .cse271 (select .cse272 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse273 0) (not (= (select (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse271)) (= (select .cse275 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse273 4)) (= .cse276 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse283 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse284 (select .cse283 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse286 (store .cse284 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse278 (select .cse286 .cse10))) (let ((.cse285 (mod (+ .cse278 1) 4))) (let ((.cse279 (select .cse284 .cse10)) (.cse281 (select (store .cse283 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse286 .cse10 (+ .cse285 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse280 (select .cse281 .cse8)) (.cse282 (+ .cse279 1))) (or (< 0 (+ .cse278 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse279) (= .cse280 (select .cse281 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse282 0) (not (= .cse280 (select (select .cse283 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse284 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse282 4)) (= .cse285 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse293 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse289 (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse294 (store .cse289 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse287 (+ (select .cse294 .cse10) 1))) (let ((.cse291 (select (store .cse293 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse294 .cse10 (mod .cse287 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse292 (select .cse289 .cse10))) (let ((.cse288 (mod (+ .cse292 1) 4)) (.cse290 (select .cse291 .cse18))) (or (< .cse287 0) (= .cse288 0) (= (+ (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse288) (= .cse290 (select .cse291 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse292)) (not (= .cse290 (select (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse299 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse303 (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse304 (store .cse303 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse295 (select .cse304 .cse10))) (let ((.cse302 (mod (+ .cse295 1) 4))) (let ((.cse296 (select .cse303 .cse10)) (.cse298 (select (store .cse299 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse304 .cse10 (+ .cse302 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse297 (select .cse298 .cse18)) (.cse300 (select .cse303 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse301 (mod (+ .cse296 1) 4))) (or (< 0 (+ .cse295 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse296) (= .cse297 (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297)) (= (+ .cse300 4) .cse301) (= .cse300 .cse301) (= .cse302 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse305 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse312 (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse313 (store .cse312 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse307 (+ (select .cse313 .cse10) 1))) (let ((.cse308 (select .cse312 .cse10)) (.cse311 (select (store .cse305 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse313 .cse10 (mod .cse307 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse306 (select .cse311 .cse8)) (.cse309 (select .cse312 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse310 (mod (+ .cse308 1) 4))) (or (not (= (select (select .cse305 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse306)) (< .cse307 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse308) (= (+ .cse309 4) .cse310) (= (select .cse311 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse306) (= .cse309 .cse310))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse320 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse317 (select .cse320 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse321 (store .cse317 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (+ (select .cse321 .cse10) 1))) (let ((.cse319 (select (store .cse320 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse321 .cse10 (mod .cse314 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse315 (select .cse317 .cse10))) (let ((.cse316 (+ .cse315 1)) (.cse318 (select .cse319 .cse18))) (or (< .cse314 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse315) (< .cse316 0) (= (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse316 4)) (= .cse318 (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse318 (select (select .cse320 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse326 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse329 (store .cse326 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse324 (+ (select .cse329 .cse10) 1))) (let ((.cse327 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse329 .cse10 (mod .cse324 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse328 (select .cse326 .cse10))) (let ((.cse325 (mod (+ .cse328 1) 4)) (.cse323 (select .cse327 .cse8))) (or (not (= (select (select .cse322 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse323)) (< .cse324 0) (= .cse325 0) (= (+ (select .cse326 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse325) (= (select .cse327 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse323) (< 0 (+ 2 .cse328)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse336 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse336 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse330 (select .cse339 .cse10))) (let ((.cse337 (mod (+ .cse330 1) 4))) (let ((.cse335 (select (store .cse336 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse10 (+ .cse337 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse331 (select .cse338 .cse10))) (let ((.cse332 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse333 (mod (+ .cse331 1) 4)) (.cse334 (select .cse335 .cse36))) (or (< 0 (+ .cse330 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse331) (= (+ .cse332 4) .cse333) (= .cse332 .cse333) (= .cse334 (select .cse335 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse334)) (= .cse337 0)))))))))) (let ((.cse346 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse345 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse347 (select .cse346 .cse345))) (let ((.cse358 (mod (+ .cse347 1) 4))) (let ((.cse355 (+ 2 .cse347)) (.cse356 (= .cse358 0)) (.cse357 (select .cse346 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse344 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse340 (select .cse344 .cse345))) (let ((.cse341 (mod (+ .cse340 1) 4))) (let ((.cse343 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse344 .cse345 (+ .cse341 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse342 (select .cse343 .cse18))) (or (< 0 (+ 2 .cse340)) (= .cse341 0) (= .cse342 (select .cse343 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse86 .cse342))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse348 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse348 .cse345 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse349 (select .cse350 .cse18))) (or (not (= (mod (+ (select .cse348 .cse345) 1) 4) 0)) (not (= .cse86 .cse349)) (= (select .cse350 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse349)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse354 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse353 (+ (select .cse354 .cse345) 1))) (let ((.cse352 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse354 .cse345 (mod .cse353 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse351 (select .cse352 .cse18))) (or (not (= .cse86 .cse351)) (= .cse351 (select .cse352 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse353 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347)))) (and (<= .cse355 0) (not .cse356) (= (+ .cse357 4) .cse358)) (and (or (< 0 .cse355) .cse356) (= .cse357 .cse358))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse365 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse362 (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse359 (select .cse367 .cse10))) (let ((.cse366 (mod (+ .cse359 1) 4))) (let ((.cse364 (select (store .cse365 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse10 (+ .cse366 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse360 (select .cse362 .cse10))) (let ((.cse361 (mod (+ .cse360 1) 4)) (.cse363 (select .cse364 .cse36))) (or (< 0 (+ .cse359 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse360) (= .cse361 0) (= (+ (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse361) (= .cse363 (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse363)) (< 0 (+ 2 .cse360)) (= .cse366 0)))))))))))) is different from true [2024-05-08 02:34:03,177 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse167 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse165 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse168 (select .cse167 .cse165))) (let ((.cse382 (mod (+ .cse168 1) 4))) (let ((.cse380 (+ .cse168 2)) (.cse381 (= .cse382 0)) (.cse383 (select .cse167 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse161 (and (<= .cse380 0) (not .cse381) (= .cse382 (+ 4 .cse383)))) (.cse162 (and (or (< 0 .cse380) .cse381) (= .cse382 .cse383))) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse86 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse73 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse70 (select .cse73 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse69 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse71 (select (store .cse73 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse69 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse74 (select .cse70 .cse10))) (let ((.cse68 (mod (+ .cse74 1) 4)) (.cse72 (select .cse71 .cse18))) (or (= .cse68 0) (not (= (mod (+ (select .cse69 .cse10) 1) 4) 0)) (= (+ (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse68) (= (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72) (not (= (select (select .cse73 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72)) (< 0 (+ 2 .cse74))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse81 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse80 (select .cse81 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse77 (store .cse80 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse78 (select (store .cse81 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse77 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse75 (select .cse80 .cse10))) (let ((.cse76 (+ .cse75 1)) (.cse79 (select .cse78 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse75) (< .cse76 0) (not (= (mod (+ (select .cse77 .cse10) 1) 4) 0)) (= (select .cse78 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79) (= (select .cse80 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse76 4)) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79))))))))) (let ((.cse88 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse82 (select .cse88 .cse10))) (let ((.cse99 (mod (+ .cse82 1) 4))) (let ((.cse97 (+ .cse82 2)) (.cse100 (= .cse99 0)) (.cse98 (select .cse88 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse87 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (+ (select .cse87 .cse10) 1))) (let ((.cse83 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse87 .cse10 (mod .cse85 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse84 (select .cse83 .cse18))) (or (= (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse84) (< .cse85 0) (not (= .cse86 .cse84)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse91 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse91 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse89 (select .cse90 .cse18))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse91 .cse10) 1) 4) 0)) (not (= .cse86 .cse89))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse96 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (select .cse96 .cse10))) (let ((.cse93 (mod (+ .cse94 1) 4))) (let ((.cse95 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 (+ (- 4) .cse93))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse95 .cse18))) (or (not (= .cse92 .cse86)) (= .cse93 0) (< 0 (+ 2 .cse94)) (= .cse92 (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse97 0) (= (+ .cse98 4) .cse99) (not .cse100)) (and (or (< 0 .cse97) .cse100) (= .cse98 .cse99))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse107 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse108 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse102 (store .cse108 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse105 (select (store .cse107 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse102 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse101 (select .cse108 .cse10))) (let ((.cse103 (select .cse108 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse104 (mod (+ .cse101 1) 4)) (.cse106 (select .cse105 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (not (= (mod (+ (select .cse102 .cse10) 1) 4) 0)) (= (+ .cse103 4) .cse104) (= (select .cse105 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106) (= .cse103 .cse104) (not (= (select (select .cse107 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse112 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse116 (select .cse112 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse113 (store .cse116 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse111 (select .cse116 .cse10)) (.cse110 (select (store .cse112 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse113 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse109 (select .cse110 .cse8)) (.cse114 (select .cse116 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse115 (mod (+ .cse111 1) 4))) (or (= .cse109 (select .cse110 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse111) (not (= .cse109 (select (select .cse112 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse113 .cse10) 1) 4) 0)) (= (+ .cse114 4) .cse115) (= .cse114 .cse115)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse123 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse122 (store .cse123 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse119 (select .cse123 .cse10)) (.cse118 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse122 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse117 (select .cse118 .cse8)) (.cse120 (+ .cse119 1))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse119) (< .cse120 0) (not (= .cse117 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse122 .cse10) 1) 4) 0)) (= (select .cse123 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse120 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse128 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse128 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (+ (select .cse131 .cse10) 1))) (let ((.cse130 (select (store .cse128 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse10 (mod .cse124 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse125 (select .cse127 .cse10))) (let ((.cse126 (+ .cse125 1)) (.cse129 (select .cse130 .cse36))) (or (< .cse124 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse125) (< .cse126 0) (= (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse126 4)) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129)) (= (select .cse130 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse136 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse140 (select .cse136 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse140 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse132 (select .cse141 .cse10))) (let ((.cse139 (mod (+ .cse132 1) 4))) (let ((.cse133 (select .cse140 .cse10)) (.cse135 (select (store .cse136 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 (+ .cse139 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse134 (select .cse135 .cse8)) (.cse137 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse138 (mod (+ .cse133 1) 4))) (or (< 0 (+ .cse132 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse133) (= .cse134 (select .cse135 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse134 (select (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse137 4) .cse138) (= .cse137 .cse138) (= .cse139 0)))))))))) (let ((.cse147 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse146 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse142 (select .cse147 .cse146))) (let ((.cse160 (mod (+ .cse142 1) 4))) (let ((.cse157 (+ 2 .cse142)) (.cse159 (select .cse147 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse158 (= .cse160 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse145 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse145 .cse146 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse144 (select .cse143 .cse18))) (or (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse144) (not (= .cse86 .cse144)) (not (= (mod (+ (select .cse145 .cse146) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse151 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (+ (select .cse151 .cse146) 1))) (let ((.cse149 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse151 .cse146 (mod .cse150 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse148 (select .cse149 .cse18))) (or (not (= .cse148 .cse86)) (= .cse148 (select .cse149 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse150 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse156 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse152 (select .cse156 .cse146))) (let ((.cse153 (mod (+ .cse152 1) 4))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse156 .cse146 (+ .cse153 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse154 (select .cse155 .cse18))) (or (< 0 (+ 2 .cse152)) (= .cse153 0) (= .cse154 (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse154 .cse86)))))))))))) (and (or (< 0 .cse157) .cse158) (= .cse159 .cse160)) (and (<= .cse157 0) (= (+ .cse159 4) .cse160) (not .cse158))))))) (or .cse161 .cse162 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse164 .cse165 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse166 .cse18))) (or (not (= .cse163 .cse86)) (not (= (mod (+ (select .cse164 .cse165) 1) 4) 0)) (= .cse163 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse172 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (+ (select .cse172 .cse165) 1))) (let ((.cse171 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse172 .cse165 (mod .cse169 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse170 (select .cse171 .cse18))) (or (< .cse169 0) (not (= .cse86 .cse170)) (= (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse177 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse173 (select .cse177 .cse165))) (let ((.cse174 (mod (+ .cse173 1) 4))) (let ((.cse175 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse177 .cse165 (+ .cse174 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse176 (select .cse175 .cse18))) (or (< 0 (+ 2 .cse173)) (= .cse174 0) (= (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse176) (not (= .cse86 .cse176))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse181 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse180 (select .cse181 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse185 (store .cse180 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse178 (+ (select .cse185 .cse10) 1))) (let ((.cse183 (select (store .cse181 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse185 .cse10 (mod .cse178 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse184 (select .cse180 .cse10))) (let ((.cse179 (mod (+ .cse184 1) 4)) (.cse182 (select .cse183 .cse36))) (or (< .cse178 0) (= .cse179 0) (= (+ (select .cse180 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse179) (not (= (select (select .cse181 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse182)) (= (select .cse183 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse182) (< 0 (+ 2 .cse184)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse186 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse191 (select .cse186 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse192 (store .cse191 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse188 (+ (select .cse192 .cse10) 1))) (let ((.cse190 (select (store .cse186 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse192 .cse10 (mod .cse188 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse189 (select .cse191 .cse10)) (.cse187 (select .cse190 .cse8))) (or (not (= (select (select .cse186 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse187)) (< .cse188 0) (not (= (mod (+ .cse189 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse189) (= (select .cse190 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse187) (= (select .cse191 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse198 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse197 (select .cse198 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse194 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse195 (select (store .cse198 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse194 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse193 (select .cse197 .cse10)) (.cse196 (select .cse195 .cse36))) (or (not (= (mod (+ .cse193 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse193) (not (= (mod (+ (select .cse194 .cse10) 1) 4) 0)) (= (select .cse195 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196) (= (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse198 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse204 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse205 (select .cse204 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse207 (store .cse205 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select .cse207 .cse10))) (let ((.cse206 (mod (+ .cse199 1) 4))) (let ((.cse200 (select .cse205 .cse10)) (.cse202 (select (store .cse204 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse207 .cse10 (+ .cse206 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse201 (select .cse202 .cse18)) (.cse203 (mod (+ .cse200 1) 4))) (or (< 0 (+ .cse199 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse200) (= .cse201 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse203 0) (not (= (select (select .cse204 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse201)) (= (+ (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse203) (< 0 (+ 2 .cse200)) (= .cse206 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse213 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse212 (store .cse213 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse212 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse210 (select .cse213 .cse10)) (.cse208 (select .cse209 .cse8))) (or (= .cse208 (select .cse209 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse210 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse210) (not (= .cse208 (select (select .cse211 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse212 .cse10) 1) 4) 0)) (= (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse214 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse220 (select .cse214 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse216 (+ (select .cse221 .cse10) 1))) (let ((.cse217 (select .cse220 .cse10)) (.cse219 (select (store .cse214 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse221 .cse10 (mod .cse216 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse215 (select .cse219 .cse8)) (.cse218 (+ .cse217 1))) (or (not (= (select (select .cse214 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse215)) (< .cse216 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse217) (< .cse218 0) (= (select .cse219 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse215) (= (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse218 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse224 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse226 (select .cse224 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse228 (store .cse226 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse228 .cse10) 1))) (let ((.cse227 (select (store .cse224 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse228 .cse10 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse223 (select .cse226 .cse10)) (.cse225 (select .cse227 .cse36))) (or (< .cse222 0) (not (= (mod (+ .cse223 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse223) (not (= (select (select .cse224 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse225)) (= (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse227 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse225))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse235 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse236 (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse237 (store .cse236 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse237 .cse10) 1))) (let ((.cse234 (select (store .cse235 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse237 .cse10 (mod .cse229 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse230 (select .cse236 .cse10))) (let ((.cse231 (select .cse236 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse232 (mod (+ .cse230 1) 4)) (.cse233 (select .cse234 .cse18))) (or (< .cse229 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse230) (= (+ .cse231 4) .cse232) (= .cse231 .cse232) (= .cse233 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse233 (select (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse245 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse246 (store .cse245 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (+ (select .cse246 .cse10) 1))) (let ((.cse244 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse246 .cse10 (mod .cse238 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse239 (select .cse245 .cse10))) (let ((.cse240 (select .cse245 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse241 (mod (+ .cse239 1) 4)) (.cse243 (select .cse244 .cse36))) (or (< .cse238 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse239) (= (+ .cse240 4) .cse241) (= .cse240 .cse241) (not (= (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse243)) (= (select .cse244 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse243))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse252 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse249 (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse248 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse250 (select (store .cse252 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse248 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse247 (select .cse249 .cse10)) (.cse251 (select .cse250 .cse18))) (or (not (= (mod (+ .cse247 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse247) (not (= (mod (+ (select .cse248 .cse10) 1) 4) 0)) (= (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse250 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse251) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse251))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse256 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse258 (select .cse256 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse257 (store .cse258 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (select .cse258 .cse10)) (.cse254 (select (store .cse256 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse257 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse253 (select .cse254 .cse8)) (.cse255 (mod (+ .cse259 1) 4))) (or (= .cse253 (select .cse254 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse255 0) (not (= .cse253 (select (select .cse256 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse257 .cse10) 1) 4) 0)) (= (+ (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse255) (< 0 (+ 2 .cse259))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse265 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse262 (select .cse265 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse266 (store .cse262 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse260 (+ (select .cse266 .cse10) 1))) (let ((.cse264 (select (store .cse265 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse266 .cse10 (mod .cse260 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse261 (select .cse262 .cse10)) (.cse263 (select .cse264 .cse18))) (or (< .cse260 0) (not (= (mod (+ .cse261 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse261) (= (select .cse262 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse263 (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse263 (select (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse272 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse273 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse275 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse267 (select .cse275 .cse10))) (let ((.cse274 (mod (+ .cse267 1) 4))) (let ((.cse268 (select .cse273 .cse10)) (.cse270 (select (store .cse272 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse275 .cse10 (+ .cse274 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse269 (select .cse270 .cse18)) (.cse271 (+ .cse268 1))) (or (< 0 (+ .cse267 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse268) (= .cse269 (select .cse270 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse271 0) (not (= (select (select .cse272 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse269)) (= (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse271 4)) (= .cse274 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse282 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse284 (store .cse282 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse276 (select .cse284 .cse10))) (let ((.cse283 (mod (+ .cse276 1) 4))) (let ((.cse277 (select .cse282 .cse10)) (.cse279 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse284 .cse10 (+ .cse283 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse278 (select .cse279 .cse8)) (.cse280 (+ .cse277 1))) (or (< 0 (+ .cse276 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse277) (= .cse278 (select .cse279 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse280 0) (not (= .cse278 (select (select .cse281 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse282 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse280 4)) (= .cse283 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse291 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse287 (select .cse291 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse292 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse285 (+ (select .cse292 .cse10) 1))) (let ((.cse289 (select (store .cse291 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse10 (mod .cse285 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse290 (select .cse287 .cse10))) (let ((.cse286 (mod (+ .cse290 1) 4)) (.cse288 (select .cse289 .cse18))) (or (< .cse285 0) (= .cse286 0) (= (+ (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse286) (= .cse288 (select .cse289 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse290)) (not (= .cse288 (select (select .cse291 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse297 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse301 (select .cse297 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse302 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse293 (select .cse302 .cse10))) (let ((.cse300 (mod (+ .cse293 1) 4))) (let ((.cse294 (select .cse301 .cse10)) (.cse296 (select (store .cse297 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse302 .cse10 (+ .cse300 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse295 (select .cse296 .cse18)) (.cse298 (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse299 (mod (+ .cse294 1) 4))) (or (< 0 (+ .cse293 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse294) (= .cse295 (select .cse296 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse297 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse295)) (= (+ .cse298 4) .cse299) (= .cse298 .cse299) (= .cse300 0)))))))))) (or (let ((.cse304 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse305 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse308 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (+ (select .cse308 .cse165) 1))) (let ((.cse303 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse308 .cse165 (mod .cse306 4))))) (or (not (= (select (select .cse303 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse304) .cse305)) (< .cse306 0) (let ((.cse307 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse307 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse309 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse310 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse309 .cse165 0)))) (or (not (= (mod (+ (select .cse309 .cse165) 1) 4) 0)) (not (= (select (select .cse310 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse304) .cse305)) (let ((.cse311 (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse311 .cse18) (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse316 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse312 (select .cse316 .cse165))) (let ((.cse313 (mod (+ .cse312 1) 4))) (let ((.cse314 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse316 .cse165 (+ .cse313 (- 4)))))) (or (< 0 (+ 2 .cse312)) (= .cse313 0) (not (= (select (select .cse314 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse304) .cse305)) (let ((.cse315 (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse315 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse315 .cse18))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse168))))) .cse161 .cse162) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse317 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse324 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse325 (store .cse324 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse319 (+ (select .cse325 .cse10) 1))) (let ((.cse320 (select .cse324 .cse10)) (.cse323 (select (store .cse317 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse325 .cse10 (mod .cse319 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse318 (select .cse323 .cse8)) (.cse321 (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse322 (mod (+ .cse320 1) 4))) (or (not (= (select (select .cse317 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse318)) (< .cse319 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse320) (= (+ .cse321 4) .cse322) (= (select .cse323 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse318) (= .cse321 .cse322))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse332 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse329 (select .cse332 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse333 (store .cse329 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (+ (select .cse333 .cse10) 1))) (let ((.cse331 (select (store .cse332 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse333 .cse10 (mod .cse326 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse327 (select .cse329 .cse10))) (let ((.cse328 (+ .cse327 1)) (.cse330 (select .cse331 .cse18))) (or (< .cse326 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse327) (< .cse328 0) (= (select .cse329 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse328 4)) (= .cse330 (select .cse331 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse330 (select (select .cse332 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse334 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse334 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse341 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (+ (select .cse341 .cse10) 1))) (let ((.cse339 (select (store .cse334 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse341 .cse10 (mod .cse336 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse340 (select .cse338 .cse10))) (let ((.cse337 (mod (+ .cse340 1) 4)) (.cse335 (select .cse339 .cse8))) (or (not (= (select (select .cse334 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse335)) (< .cse336 0) (= .cse337 0) (= (+ (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse337) (= (select .cse339 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse335) (< 0 (+ 2 .cse340)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse348 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse350 (select .cse348 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (store .cse350 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse342 (select .cse351 .cse10))) (let ((.cse349 (mod (+ .cse342 1) 4))) (let ((.cse347 (select (store .cse348 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse351 .cse10 (+ .cse349 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse343 (select .cse350 .cse10))) (let ((.cse344 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse345 (mod (+ .cse343 1) 4)) (.cse346 (select .cse347 .cse36))) (or (< 0 (+ .cse342 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse343) (= (+ .cse344 4) .cse345) (= .cse344 .cse345) (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse348 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= .cse349 0)))))))))) (let ((.cse358 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse357 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse359 (select .cse358 .cse357))) (let ((.cse370 (mod (+ .cse359 1) 4))) (let ((.cse367 (+ 2 .cse359)) (.cse368 (= .cse370 0)) (.cse369 (select .cse358 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse356 (store .cse358 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse352 (select .cse356 .cse357))) (let ((.cse353 (mod (+ .cse352 1) 4))) (let ((.cse355 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse356 .cse357 (+ .cse353 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse354 (select .cse355 .cse18))) (or (< 0 (+ 2 .cse352)) (= .cse353 0) (= .cse354 (select .cse355 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse86 .cse354))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse359))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse360 (store .cse358 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse360 .cse357 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse361 (select .cse362 .cse18))) (or (not (= (mod (+ (select .cse360 .cse357) 1) 4) 0)) (not (= .cse86 .cse361)) (= (select .cse362 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse361)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse359))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse366 (store .cse358 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse365 (+ (select .cse366 .cse357) 1))) (let ((.cse364 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse366 .cse357 (mod .cse365 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse363 (select .cse364 .cse18))) (or (not (= .cse86 .cse363)) (= .cse363 (select .cse364 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse365 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse359)))) (and (<= .cse367 0) (not .cse368) (= (+ .cse369 4) .cse370)) (and (or (< 0 .cse367) .cse368) (= .cse369 .cse370))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse377 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse374 (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse379 (store .cse374 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse371 (select .cse379 .cse10))) (let ((.cse378 (mod (+ .cse371 1) 4))) (let ((.cse376 (select (store .cse377 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse379 .cse10 (+ .cse378 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse372 (select .cse374 .cse10))) (let ((.cse373 (mod (+ .cse372 1) 4)) (.cse375 (select .cse376 .cse36))) (or (< 0 (+ .cse371 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse372) (= .cse373 0) (= (+ (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse373) (= .cse375 (select .cse376 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse377 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse375)) (< 0 (+ 2 .cse372)) (= .cse378 0)))))))))))))))) is different from true [2024-05-08 02:34:08,186 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse77 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse76 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse78 (select .cse77 .cse76))) (let ((.cse396 (mod (+ .cse78 1) 4))) (let ((.cse394 (+ .cse78 2)) (.cse395 (= .cse396 0)) (.cse397 (select .cse77 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse68 (and (<= .cse394 0) (not .cse395) (= .cse396 (+ 4 .cse397)))) (.cse69 (and (or (< 0 .cse394) .cse395) (= .cse396 .cse397))) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse105 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (or .cse68 .cse69 (let ((.cse70 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse72 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse75 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse73 (+ (select .cse75 .cse76) 1))) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse75 .cse76 (mod .cse73 4))))) (or (not (= .cse70 (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (< .cse73 0) (let ((.cse74 (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse74 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse74 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse79 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse79 .cse76 0)))) (or (not (= (mod (+ (select .cse79 .cse76) 1) 4) 0)) (not (= .cse70 (select (select .cse80 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (let ((.cse81 (select .cse80 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse81 .cse18) (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse82 (select .cse86 .cse76))) (let ((.cse83 (mod (+ .cse82 1) 4))) (let ((.cse85 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse86 .cse76 (+ .cse83 (- 4)))))) (or (< 0 (+ 2 .cse82)) (= .cse83 0) (let ((.cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse84 .cse18))) (not (= .cse70 (select (select .cse85 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72)))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse89 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse89 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse93 (select .cse89 .cse10))) (let ((.cse87 (mod (+ .cse93 1) 4)) (.cse91 (select .cse90 .cse18))) (or (= .cse87 0) (not (= (mod (+ (select .cse88 .cse10) 1) 4) 0)) (= (+ (select .cse89 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse87) (= (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91)) (< 0 (+ 2 .cse93))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse100 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse99 (select .cse100 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse96 (store .cse99 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse97 (select (store .cse100 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse94 (select .cse99 .cse10))) (let ((.cse95 (+ .cse94 1)) (.cse98 (select .cse97 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse94) (< .cse95 0) (not (= (mod (+ (select .cse96 .cse10) 1) 4) 0)) (= (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98) (= (select .cse99 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse95 4)) (not (= (select (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98))))))))) (let ((.cse107 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse101 (select .cse107 .cse10))) (let ((.cse118 (mod (+ .cse101 1) 4))) (let ((.cse116 (+ .cse101 2)) (.cse119 (= .cse118 0)) (.cse117 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse106 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse104 (+ (select .cse106 .cse10) 1))) (let ((.cse102 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse106 .cse10 (mod .cse104 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse103 (select .cse102 .cse18))) (or (= (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse103) (< .cse104 0) (not (= .cse105 .cse103)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse110 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse109 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse110 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse108 (select .cse109 .cse18))) (or (= .cse108 (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse110 .cse10) 1) 4) 0)) (not (= .cse105 .cse108))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse115 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse113 (select .cse115 .cse10))) (let ((.cse112 (mod (+ .cse113 1) 4))) (let ((.cse114 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse115 .cse10 (+ (- 4) .cse112))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse111 (select .cse114 .cse18))) (or (not (= .cse111 .cse105)) (= .cse112 0) (< 0 (+ 2 .cse113)) (= .cse111 (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse116 0) (= (+ .cse117 4) .cse118) (not .cse119)) (and (or (< 0 .cse116) .cse119) (= .cse117 .cse118))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse126 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse126 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (select (store .cse126 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse120 (select .cse127 .cse10))) (let ((.cse122 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse123 (mod (+ .cse120 1) 4)) (.cse125 (select .cse124 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse120) (not (= (mod (+ (select .cse121 .cse10) 1) 4) 0)) (= (+ .cse122 4) .cse123) (= (select .cse124 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125) (= .cse122 .cse123) (not (= (select (select .cse126 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse131 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse135 (select .cse131 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse132 (store .cse135 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse130 (select .cse135 .cse10)) (.cse129 (select (store .cse131 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse132 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse128 (select .cse129 .cse8)) (.cse133 (select .cse135 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse134 (mod (+ .cse130 1) 4))) (or (= .cse128 (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse130) (not (= .cse128 (select (select .cse131 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse132 .cse10) 1) 4) 0)) (= (+ .cse133 4) .cse134) (= .cse133 .cse134)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse142 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse142 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse138 (select .cse142 .cse10)) (.cse137 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse136 (select .cse137 .cse8)) (.cse139 (+ .cse138 1))) (or (= .cse136 (select .cse137 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse138) (< .cse139 0) (not (= .cse136 (select (select .cse140 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse141 .cse10) 1) 4) 0)) (= (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse139 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse147 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse146 (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse150 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (+ (select .cse150 .cse10) 1))) (let ((.cse149 (select (store .cse147 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse150 .cse10 (mod .cse143 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse144 (select .cse146 .cse10))) (let ((.cse145 (+ .cse144 1)) (.cse148 (select .cse149 .cse36))) (or (< .cse143 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse144) (< .cse145 0) (= (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse145 4)) (not (= (select (select .cse147 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse148)) (= (select .cse149 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse148))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse155 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse159 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse160 (store .cse159 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse151 (select .cse160 .cse10))) (let ((.cse158 (mod (+ .cse151 1) 4))) (let ((.cse152 (select .cse159 .cse10)) (.cse154 (select (store .cse155 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse160 .cse10 (+ .cse158 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse153 (select .cse154 .cse8)) (.cse156 (select .cse159 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse157 (mod (+ .cse152 1) 4))) (or (< 0 (+ .cse151 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse152) (= .cse153 (select .cse154 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse153 (select (select .cse155 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse156 4) .cse157) (= .cse156 .cse157) (= .cse158 0)))))))))) (let ((.cse166 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse165 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse161 (select .cse166 .cse165))) (let ((.cse179 (mod (+ .cse161 1) 4))) (let ((.cse176 (+ 2 .cse161)) (.cse178 (select .cse166 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse177 (= .cse179 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse162 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse164 .cse165 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse162 .cse18))) (or (= (select .cse162 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse163) (not (= .cse105 .cse163)) (not (= (mod (+ (select .cse164 .cse165) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse170 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (+ (select .cse170 .cse165) 1))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse170 .cse165 (mod .cse169 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 .cse18))) (or (not (= .cse167 .cse105)) (= .cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse169 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse175 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (select .cse175 .cse165))) (let ((.cse172 (mod (+ .cse171 1) 4))) (let ((.cse174 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse175 .cse165 (+ .cse172 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse173 (select .cse174 .cse18))) (or (< 0 (+ 2 .cse171)) (= .cse172 0) (= .cse173 (select .cse174 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse173 .cse105)))))))))))) (and (or (< 0 .cse176) .cse177) (= .cse178 .cse179)) (and (<= .cse176 0) (= (+ .cse178 4) .cse179) (not .cse177))))))) (or .cse68 .cse69 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse181 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse182 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse181 .cse76 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse180 (select .cse182 .cse18))) (or (not (= .cse180 .cse105)) (not (= (mod (+ (select .cse181 .cse76) 1) 4) 0)) (= .cse180 (select .cse182 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse186 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (+ (select .cse186 .cse76) 1))) (let ((.cse185 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse186 .cse76 (mod .cse183 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse184 (select .cse185 .cse18))) (or (< .cse183 0) (not (= .cse105 .cse184)) (= (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse184))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse187 (select .cse191 .cse76))) (let ((.cse188 (mod (+ .cse187 1) 4))) (let ((.cse189 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse191 .cse76 (+ .cse188 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse189 .cse18))) (or (< 0 (+ 2 .cse187)) (= .cse188 0) (= (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190) (not (= .cse105 .cse190))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse195 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse194 (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse199 (store .cse194 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (+ (select .cse199 .cse10) 1))) (let ((.cse197 (select (store .cse195 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse199 .cse10 (mod .cse192 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse198 (select .cse194 .cse10))) (let ((.cse193 (mod (+ .cse198 1) 4)) (.cse196 (select .cse197 .cse36))) (or (< .cse192 0) (= .cse193 0) (= (+ (select .cse194 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse193) (not (= (select (select .cse195 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196)) (= (select .cse197 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196) (< 0 (+ 2 .cse198)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse205 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse206 (store .cse205 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse202 (+ (select .cse206 .cse10) 1))) (let ((.cse204 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse206 .cse10 (mod .cse202 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse203 (select .cse205 .cse10)) (.cse201 (select .cse204 .cse8))) (or (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse201)) (< .cse202 0) (not (= (mod (+ .cse203 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse203) (= (select .cse204 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse201) (= (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse212 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse211 (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse208 (store .cse211 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (select (store .cse212 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse208 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse207 (select .cse211 .cse10)) (.cse210 (select .cse209 .cse36))) (or (not (= (mod (+ .cse207 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse207) (not (= (mod (+ (select .cse208 .cse10) 1) 4) 0)) (= (select .cse209 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse210) (= (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse210))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse218 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse219 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (store .cse219 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse213 (select .cse221 .cse10))) (let ((.cse220 (mod (+ .cse213 1) 4))) (let ((.cse214 (select .cse219 .cse10)) (.cse216 (select (store .cse218 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse221 .cse10 (+ .cse220 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse215 (select .cse216 .cse18)) (.cse217 (mod (+ .cse214 1) 4))) (or (< 0 (+ .cse213 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse214) (= .cse215 (select .cse216 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse217 0) (not (= (select (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse215)) (= (+ (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse217) (< 0 (+ 2 .cse214)) (= .cse220 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse227 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse226 (store .cse227 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse223 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse224 (select .cse227 .cse10)) (.cse222 (select .cse223 .cse8))) (or (= .cse222 (select .cse223 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse224 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse224) (not (= .cse222 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse226 .cse10) 1) 4) 0)) (= (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse228 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse234 (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse235 (store .cse234 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse230 (+ (select .cse235 .cse10) 1))) (let ((.cse231 (select .cse234 .cse10)) (.cse233 (select (store .cse228 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse235 .cse10 (mod .cse230 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse229 (select .cse233 .cse8)) (.cse232 (+ .cse231 1))) (or (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse229)) (< .cse230 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse231) (< .cse232 0) (= (select .cse233 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse229) (= (select .cse234 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse232 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse238 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse240 (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse242 (store .cse240 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse236 (+ (select .cse242 .cse10) 1))) (let ((.cse241 (select (store .cse238 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse242 .cse10 (mod .cse236 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse237 (select .cse240 .cse10)) (.cse239 (select .cse241 .cse36))) (or (< .cse236 0) (not (= (mod (+ .cse237 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse237) (not (= (select (select .cse238 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse239)) (= (select .cse240 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse241 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse239))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse249 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse250 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse251 (store .cse250 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse243 (+ (select .cse251 .cse10) 1))) (let ((.cse248 (select (store .cse249 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse251 .cse10 (mod .cse243 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse244 (select .cse250 .cse10))) (let ((.cse245 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse246 (mod (+ .cse244 1) 4)) (.cse247 (select .cse248 .cse18))) (or (< .cse243 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse244) (= (+ .cse245 4) .cse246) (= .cse245 .cse246) (= .cse247 (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse247 (select (select .cse249 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse256 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse259 (select .cse256 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse260 (store .cse259 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (+ (select .cse260 .cse10) 1))) (let ((.cse258 (select (store .cse256 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse260 .cse10 (mod .cse252 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse253 (select .cse259 .cse10))) (let ((.cse254 (select .cse259 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse255 (mod (+ .cse253 1) 4)) (.cse257 (select .cse258 .cse36))) (or (< .cse252 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse253) (= (+ .cse254 4) .cse255) (= .cse254 .cse255) (not (= (select (select .cse256 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse257)) (= (select .cse258 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse257))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse266 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse263 (select .cse266 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse262 (store .cse263 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (select (store .cse266 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse262 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse261 (select .cse263 .cse10)) (.cse265 (select .cse264 .cse18))) (or (not (= (mod (+ .cse261 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse261) (not (= (mod (+ (select .cse262 .cse10) 1) 4) 0)) (= (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse265) (not (= (select (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse265))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse270 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse272 (select .cse270 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse271 (store .cse272 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (select .cse272 .cse10)) (.cse268 (select (store .cse270 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse271 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse268 .cse8)) (.cse269 (mod (+ .cse273 1) 4))) (or (= .cse267 (select .cse268 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse269 0) (not (= .cse267 (select (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse271 .cse10) 1) 4) 0)) (= (+ (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse269) (< 0 (+ 2 .cse273))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse279 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse276 (select .cse279 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse280 (store .cse276 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (+ (select .cse280 .cse10) 1))) (let ((.cse278 (select (store .cse279 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse280 .cse10 (mod .cse274 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse275 (select .cse276 .cse10)) (.cse277 (select .cse278 .cse18))) (or (< .cse274 0) (not (= (mod (+ .cse275 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse275) (= (select .cse276 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse277 (select .cse278 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse277 (select (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse286 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse287 (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse289 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse281 (select .cse289 .cse10))) (let ((.cse288 (mod (+ .cse281 1) 4))) (let ((.cse282 (select .cse287 .cse10)) (.cse284 (select (store .cse286 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse289 .cse10 (+ .cse288 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse283 (select .cse284 .cse18)) (.cse285 (+ .cse282 1))) (or (< 0 (+ .cse281 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse282) (= .cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse285 0) (not (= (select (select .cse286 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse283)) (= (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse285 4)) (= .cse288 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse295 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse296 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse298 (store .cse296 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse290 (select .cse298 .cse10))) (let ((.cse297 (mod (+ .cse290 1) 4))) (let ((.cse291 (select .cse296 .cse10)) (.cse293 (select (store .cse295 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse298 .cse10 (+ .cse297 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse292 (select .cse293 .cse8)) (.cse294 (+ .cse291 1))) (or (< 0 (+ .cse290 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse291) (= .cse292 (select .cse293 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse294 0) (not (= .cse292 (select (select .cse295 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse294 4)) (= .cse297 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse305 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse301 (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse306 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse299 (+ (select .cse306 .cse10) 1))) (let ((.cse303 (select (store .cse305 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse306 .cse10 (mod .cse299 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse304 (select .cse301 .cse10))) (let ((.cse300 (mod (+ .cse304 1) 4)) (.cse302 (select .cse303 .cse18))) (or (< .cse299 0) (= .cse300 0) (= (+ (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse300) (= .cse302 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse304)) (not (= .cse302 (select (select .cse305 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse311 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse315 (select .cse311 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse316 (store .cse315 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse307 (select .cse316 .cse10))) (let ((.cse314 (mod (+ .cse307 1) 4))) (let ((.cse308 (select .cse315 .cse10)) (.cse310 (select (store .cse311 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse316 .cse10 (+ .cse314 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse310 .cse18)) (.cse312 (select .cse315 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse313 (mod (+ .cse308 1) 4))) (or (< 0 (+ .cse307 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse308) (= .cse309 (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (+ .cse312 4) .cse313) (= .cse312 .cse313) (= .cse314 0)))))))))) (or (let ((.cse318 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse319 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse322 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (+ (select .cse322 .cse76) 1))) (let ((.cse317 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse322 .cse76 (mod .cse320 4))))) (or (not (= (select (select .cse317 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (< .cse320 0) (let ((.cse321 (select .cse317 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse321 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse321 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse323 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse324 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse323 .cse76 0)))) (or (not (= (mod (+ (select .cse323 .cse76) 1) 4) 0)) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (let ((.cse325 (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse325 .cse18) (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse330 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (select .cse330 .cse76))) (let ((.cse327 (mod (+ .cse326 1) 4))) (let ((.cse328 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse330 .cse76 (+ .cse327 (- 4)))))) (or (< 0 (+ 2 .cse326)) (= .cse327 0) (not (= (select (select .cse328 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (let ((.cse329 (select .cse328 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse329 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse329 .cse18))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))))) .cse68 .cse69) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse331 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse331 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse333 (+ (select .cse339 .cse10) 1))) (let ((.cse334 (select .cse338 .cse10)) (.cse337 (select (store .cse331 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse10 (mod .cse333 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse332 (select .cse337 .cse8)) (.cse335 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse336 (mod (+ .cse334 1) 4))) (or (not (= (select (select .cse331 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse332)) (< .cse333 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse334) (= (+ .cse335 4) .cse336) (= (select .cse337 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse332) (= .cse335 .cse336))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse346 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse343 (select .cse346 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse347 (store .cse343 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse340 (+ (select .cse347 .cse10) 1))) (let ((.cse345 (select (store .cse346 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse347 .cse10 (mod .cse340 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse341 (select .cse343 .cse10))) (let ((.cse342 (+ .cse341 1)) (.cse344 (select .cse345 .cse18))) (or (< .cse340 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse341) (< .cse342 0) (= (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse342 4)) (= .cse344 (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse344 (select (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse348 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse352 (select .cse348 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse355 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (+ (select .cse355 .cse10) 1))) (let ((.cse353 (select (store .cse348 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse355 .cse10 (mod .cse350 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse354 (select .cse352 .cse10))) (let ((.cse351 (mod (+ .cse354 1) 4)) (.cse349 (select .cse353 .cse8))) (or (not (= (select (select .cse348 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse349)) (< .cse350 0) (= .cse351 0) (= (+ (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse351) (= (select .cse353 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse349) (< 0 (+ 2 .cse354)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse362 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse364 (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse365 (store .cse364 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse356 (select .cse365 .cse10))) (let ((.cse363 (mod (+ .cse356 1) 4))) (let ((.cse361 (select (store .cse362 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse365 .cse10 (+ .cse363 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse357 (select .cse364 .cse10))) (let ((.cse358 (select .cse364 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse359 (mod (+ .cse357 1) 4)) (.cse360 (select .cse361 .cse36))) (or (< 0 (+ .cse356 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse357) (= (+ .cse358 4) .cse359) (= .cse358 .cse359) (= .cse360 (select .cse361 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse360)) (= .cse363 0)))))))))) (let ((.cse372 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse371 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse373 (select .cse372 .cse371))) (let ((.cse384 (mod (+ .cse373 1) 4))) (let ((.cse381 (+ 2 .cse373)) (.cse382 (= .cse384 0)) (.cse383 (select .cse372 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse370 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse366 (select .cse370 .cse371))) (let ((.cse367 (mod (+ .cse366 1) 4))) (let ((.cse369 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse370 .cse371 (+ .cse367 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse368 (select .cse369 .cse18))) (or (< 0 (+ 2 .cse366)) (= .cse367 0) (= .cse368 (select .cse369 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse105 .cse368))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse374 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse376 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse374 .cse371 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse375 (select .cse376 .cse18))) (or (not (= (mod (+ (select .cse374 .cse371) 1) 4) 0)) (not (= .cse105 .cse375)) (= (select .cse376 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse380 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse379 (+ (select .cse380 .cse371) 1))) (let ((.cse378 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse380 .cse371 (mod .cse379 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse377 (select .cse378 .cse18))) (or (not (= .cse105 .cse377)) (= .cse377 (select .cse378 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse379 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373)))) (and (<= .cse381 0) (not .cse382) (= (+ .cse383 4) .cse384)) (and (or (< 0 .cse381) .cse382) (= .cse383 .cse384))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse391 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse388 (select .cse391 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse393 (store .cse388 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse385 (select .cse393 .cse10))) (let ((.cse392 (mod (+ .cse385 1) 4))) (let ((.cse390 (select (store .cse391 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse393 .cse10 (+ .cse392 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse386 (select .cse388 .cse10))) (let ((.cse387 (mod (+ .cse386 1) 4)) (.cse389 (select .cse390 .cse36))) (or (< 0 (+ .cse385 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse386) (= .cse387 0) (= (+ (select .cse388 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse387) (= .cse389 (select .cse390 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse391 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse389)) (< 0 (+ 2 .cse386)) (= .cse392 0)))))))))))))))) is different from true [2024-05-08 02:34:13,258 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse77 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse76 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse78 (select .cse77 .cse76))) (let ((.cse396 (mod (+ .cse78 1) 4))) (let ((.cse394 (+ .cse78 2)) (.cse395 (= .cse396 0)) (.cse397 (select .cse77 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse68 (and (<= .cse394 0) (not .cse395) (= .cse396 (+ 4 .cse397)))) (.cse69 (and (or (< 0 .cse394) .cse395) (= .cse396 .cse397))) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse105 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (or .cse68 .cse69 (let ((.cse70 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse72 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse75 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse73 (+ (select .cse75 .cse76) 1))) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse75 .cse76 (mod .cse73 4))))) (or (not (= .cse70 (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (< .cse73 0) (let ((.cse74 (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse74 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse74 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse79 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse79 .cse76 0)))) (or (not (= (mod (+ (select .cse79 .cse76) 1) 4) 0)) (not (= .cse70 (select (select .cse80 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (let ((.cse81 (select .cse80 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse81 .cse18) (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse82 (select .cse86 .cse76))) (let ((.cse83 (mod (+ .cse82 1) 4))) (let ((.cse85 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse86 .cse76 (+ .cse83 (- 4)))))) (or (< 0 (+ 2 .cse82)) (= .cse83 0) (let ((.cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse84 .cse18))) (not (= .cse70 (select (select .cse85 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72)))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse89 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse89 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse93 (select .cse89 .cse10))) (let ((.cse87 (mod (+ .cse93 1) 4)) (.cse91 (select .cse90 .cse18))) (or (= .cse87 0) (not (= (mod (+ (select .cse88 .cse10) 1) 4) 0)) (= (+ (select .cse89 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse87) (= (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91)) (< 0 (+ 2 .cse93))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse100 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse99 (select .cse100 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse96 (store .cse99 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse97 (select (store .cse100 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse94 (select .cse99 .cse10))) (let ((.cse95 (+ .cse94 1)) (.cse98 (select .cse97 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse94) (< .cse95 0) (not (= (mod (+ (select .cse96 .cse10) 1) 4) 0)) (= (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98) (= (select .cse99 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse95 4)) (not (= (select (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98))))))))) (let ((.cse107 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse101 (select .cse107 .cse10))) (let ((.cse118 (mod (+ .cse101 1) 4))) (let ((.cse116 (+ .cse101 2)) (.cse119 (= .cse118 0)) (.cse117 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse106 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse104 (+ (select .cse106 .cse10) 1))) (let ((.cse102 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse106 .cse10 (mod .cse104 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse103 (select .cse102 .cse18))) (or (= (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse103) (< .cse104 0) (not (= .cse105 .cse103)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse110 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse109 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse110 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse108 (select .cse109 .cse18))) (or (= .cse108 (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse110 .cse10) 1) 4) 0)) (not (= .cse105 .cse108))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse115 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse113 (select .cse115 .cse10))) (let ((.cse112 (mod (+ .cse113 1) 4))) (let ((.cse114 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse115 .cse10 (+ (- 4) .cse112))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse111 (select .cse114 .cse18))) (or (not (= .cse111 .cse105)) (= .cse112 0) (< 0 (+ 2 .cse113)) (= .cse111 (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse116 0) (= (+ .cse117 4) .cse118) (not .cse119)) (and (or (< 0 .cse116) .cse119) (= .cse117 .cse118))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse126 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse126 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (select (store .cse126 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse120 (select .cse127 .cse10))) (let ((.cse122 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse123 (mod (+ .cse120 1) 4)) (.cse125 (select .cse124 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse120) (not (= (mod (+ (select .cse121 .cse10) 1) 4) 0)) (= (+ .cse122 4) .cse123) (= (select .cse124 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125) (= .cse122 .cse123) (not (= (select (select .cse126 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse131 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse135 (select .cse131 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse132 (store .cse135 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse130 (select .cse135 .cse10)) (.cse129 (select (store .cse131 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse132 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse128 (select .cse129 .cse8)) (.cse133 (select .cse135 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse134 (mod (+ .cse130 1) 4))) (or (= .cse128 (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse130) (not (= .cse128 (select (select .cse131 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse132 .cse10) 1) 4) 0)) (= (+ .cse133 4) .cse134) (= .cse133 .cse134)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse142 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse142 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse138 (select .cse142 .cse10)) (.cse137 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse136 (select .cse137 .cse8)) (.cse139 (+ .cse138 1))) (or (= .cse136 (select .cse137 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse138) (< .cse139 0) (not (= .cse136 (select (select .cse140 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse141 .cse10) 1) 4) 0)) (= (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse139 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse147 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse146 (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse150 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (+ (select .cse150 .cse10) 1))) (let ((.cse149 (select (store .cse147 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse150 .cse10 (mod .cse143 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse144 (select .cse146 .cse10))) (let ((.cse145 (+ .cse144 1)) (.cse148 (select .cse149 .cse36))) (or (< .cse143 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse144) (< .cse145 0) (= (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse145 4)) (not (= (select (select .cse147 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse148)) (= (select .cse149 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse148))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse155 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse159 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse160 (store .cse159 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse151 (select .cse160 .cse10))) (let ((.cse158 (mod (+ .cse151 1) 4))) (let ((.cse152 (select .cse159 .cse10)) (.cse154 (select (store .cse155 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse160 .cse10 (+ .cse158 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse153 (select .cse154 .cse8)) (.cse156 (select .cse159 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse157 (mod (+ .cse152 1) 4))) (or (< 0 (+ .cse151 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse152) (= .cse153 (select .cse154 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse153 (select (select .cse155 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse156 4) .cse157) (= .cse156 .cse157) (= .cse158 0)))))))))) (let ((.cse166 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse165 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse161 (select .cse166 .cse165))) (let ((.cse179 (mod (+ .cse161 1) 4))) (let ((.cse176 (+ 2 .cse161)) (.cse178 (select .cse166 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse177 (= .cse179 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse162 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse164 .cse165 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse162 .cse18))) (or (= (select .cse162 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse163) (not (= .cse105 .cse163)) (not (= (mod (+ (select .cse164 .cse165) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse170 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (+ (select .cse170 .cse165) 1))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse170 .cse165 (mod .cse169 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 .cse18))) (or (not (= .cse167 .cse105)) (= .cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse169 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse175 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (select .cse175 .cse165))) (let ((.cse172 (mod (+ .cse171 1) 4))) (let ((.cse174 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse175 .cse165 (+ .cse172 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse173 (select .cse174 .cse18))) (or (< 0 (+ 2 .cse171)) (= .cse172 0) (= .cse173 (select .cse174 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse173 .cse105)))))))))))) (and (or (< 0 .cse176) .cse177) (= .cse178 .cse179)) (and (<= .cse176 0) (= (+ .cse178 4) .cse179) (not .cse177))))))) (or .cse68 .cse69 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse181 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse182 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse181 .cse76 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse180 (select .cse182 .cse18))) (or (not (= .cse180 .cse105)) (not (= (mod (+ (select .cse181 .cse76) 1) 4) 0)) (= .cse180 (select .cse182 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse186 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (+ (select .cse186 .cse76) 1))) (let ((.cse185 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse186 .cse76 (mod .cse183 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse184 (select .cse185 .cse18))) (or (< .cse183 0) (not (= .cse105 .cse184)) (= (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse184))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse187 (select .cse191 .cse76))) (let ((.cse188 (mod (+ .cse187 1) 4))) (let ((.cse189 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse191 .cse76 (+ .cse188 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse189 .cse18))) (or (< 0 (+ 2 .cse187)) (= .cse188 0) (= (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190) (not (= .cse105 .cse190))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse195 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse194 (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse199 (store .cse194 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (+ (select .cse199 .cse10) 1))) (let ((.cse197 (select (store .cse195 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse199 .cse10 (mod .cse192 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse198 (select .cse194 .cse10))) (let ((.cse193 (mod (+ .cse198 1) 4)) (.cse196 (select .cse197 .cse36))) (or (< .cse192 0) (= .cse193 0) (= (+ (select .cse194 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse193) (not (= (select (select .cse195 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196)) (= (select .cse197 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196) (< 0 (+ 2 .cse198)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse205 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse206 (store .cse205 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse202 (+ (select .cse206 .cse10) 1))) (let ((.cse204 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse206 .cse10 (mod .cse202 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse203 (select .cse205 .cse10)) (.cse201 (select .cse204 .cse8))) (or (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse201)) (< .cse202 0) (not (= (mod (+ .cse203 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse203) (= (select .cse204 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse201) (= (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse212 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse211 (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse208 (store .cse211 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (select (store .cse212 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse208 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse207 (select .cse211 .cse10)) (.cse210 (select .cse209 .cse36))) (or (not (= (mod (+ .cse207 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse207) (not (= (mod (+ (select .cse208 .cse10) 1) 4) 0)) (= (select .cse209 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse210) (= (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse210))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse218 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse219 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (store .cse219 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse213 (select .cse221 .cse10))) (let ((.cse220 (mod (+ .cse213 1) 4))) (let ((.cse214 (select .cse219 .cse10)) (.cse216 (select (store .cse218 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse221 .cse10 (+ .cse220 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse215 (select .cse216 .cse18)) (.cse217 (mod (+ .cse214 1) 4))) (or (< 0 (+ .cse213 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse214) (= .cse215 (select .cse216 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse217 0) (not (= (select (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse215)) (= (+ (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse217) (< 0 (+ 2 .cse214)) (= .cse220 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse227 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse226 (store .cse227 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse223 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse224 (select .cse227 .cse10)) (.cse222 (select .cse223 .cse8))) (or (= .cse222 (select .cse223 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse224 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse224) (not (= .cse222 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse226 .cse10) 1) 4) 0)) (= (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse228 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse234 (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse235 (store .cse234 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse230 (+ (select .cse235 .cse10) 1))) (let ((.cse231 (select .cse234 .cse10)) (.cse233 (select (store .cse228 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse235 .cse10 (mod .cse230 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse229 (select .cse233 .cse8)) (.cse232 (+ .cse231 1))) (or (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse229)) (< .cse230 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse231) (< .cse232 0) (= (select .cse233 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse229) (= (select .cse234 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse232 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse238 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse240 (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse242 (store .cse240 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse236 (+ (select .cse242 .cse10) 1))) (let ((.cse241 (select (store .cse238 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse242 .cse10 (mod .cse236 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse237 (select .cse240 .cse10)) (.cse239 (select .cse241 .cse36))) (or (< .cse236 0) (not (= (mod (+ .cse237 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse237) (not (= (select (select .cse238 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse239)) (= (select .cse240 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse241 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse239))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse249 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse250 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse251 (store .cse250 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse243 (+ (select .cse251 .cse10) 1))) (let ((.cse248 (select (store .cse249 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse251 .cse10 (mod .cse243 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse244 (select .cse250 .cse10))) (let ((.cse245 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse246 (mod (+ .cse244 1) 4)) (.cse247 (select .cse248 .cse18))) (or (< .cse243 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse244) (= (+ .cse245 4) .cse246) (= .cse245 .cse246) (= .cse247 (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse247 (select (select .cse249 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse256 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse259 (select .cse256 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse260 (store .cse259 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (+ (select .cse260 .cse10) 1))) (let ((.cse258 (select (store .cse256 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse260 .cse10 (mod .cse252 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse253 (select .cse259 .cse10))) (let ((.cse254 (select .cse259 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse255 (mod (+ .cse253 1) 4)) (.cse257 (select .cse258 .cse36))) (or (< .cse252 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse253) (= (+ .cse254 4) .cse255) (= .cse254 .cse255) (not (= (select (select .cse256 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse257)) (= (select .cse258 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse257))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse266 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse263 (select .cse266 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse262 (store .cse263 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (select (store .cse266 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse262 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse261 (select .cse263 .cse10)) (.cse265 (select .cse264 .cse18))) (or (not (= (mod (+ .cse261 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse261) (not (= (mod (+ (select .cse262 .cse10) 1) 4) 0)) (= (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse265) (not (= (select (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse265))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse270 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse272 (select .cse270 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse271 (store .cse272 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (select .cse272 .cse10)) (.cse268 (select (store .cse270 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse271 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse268 .cse8)) (.cse269 (mod (+ .cse273 1) 4))) (or (= .cse267 (select .cse268 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse269 0) (not (= .cse267 (select (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse271 .cse10) 1) 4) 0)) (= (+ (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse269) (< 0 (+ 2 .cse273))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse279 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse276 (select .cse279 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse280 (store .cse276 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (+ (select .cse280 .cse10) 1))) (let ((.cse278 (select (store .cse279 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse280 .cse10 (mod .cse274 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse275 (select .cse276 .cse10)) (.cse277 (select .cse278 .cse18))) (or (< .cse274 0) (not (= (mod (+ .cse275 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse275) (= (select .cse276 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse277 (select .cse278 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse277 (select (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse286 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse287 (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse289 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse281 (select .cse289 .cse10))) (let ((.cse288 (mod (+ .cse281 1) 4))) (let ((.cse282 (select .cse287 .cse10)) (.cse284 (select (store .cse286 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse289 .cse10 (+ .cse288 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse283 (select .cse284 .cse18)) (.cse285 (+ .cse282 1))) (or (< 0 (+ .cse281 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse282) (= .cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse285 0) (not (= (select (select .cse286 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse283)) (= (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse285 4)) (= .cse288 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse295 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse296 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse298 (store .cse296 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse290 (select .cse298 .cse10))) (let ((.cse297 (mod (+ .cse290 1) 4))) (let ((.cse291 (select .cse296 .cse10)) (.cse293 (select (store .cse295 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse298 .cse10 (+ .cse297 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse292 (select .cse293 .cse8)) (.cse294 (+ .cse291 1))) (or (< 0 (+ .cse290 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse291) (= .cse292 (select .cse293 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse294 0) (not (= .cse292 (select (select .cse295 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse294 4)) (= .cse297 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse305 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse301 (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse306 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse299 (+ (select .cse306 .cse10) 1))) (let ((.cse303 (select (store .cse305 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse306 .cse10 (mod .cse299 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse304 (select .cse301 .cse10))) (let ((.cse300 (mod (+ .cse304 1) 4)) (.cse302 (select .cse303 .cse18))) (or (< .cse299 0) (= .cse300 0) (= (+ (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse300) (= .cse302 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse304)) (not (= .cse302 (select (select .cse305 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse311 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse315 (select .cse311 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse316 (store .cse315 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse307 (select .cse316 .cse10))) (let ((.cse314 (mod (+ .cse307 1) 4))) (let ((.cse308 (select .cse315 .cse10)) (.cse310 (select (store .cse311 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse316 .cse10 (+ .cse314 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse310 .cse18)) (.cse312 (select .cse315 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse313 (mod (+ .cse308 1) 4))) (or (< 0 (+ .cse307 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse308) (= .cse309 (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (+ .cse312 4) .cse313) (= .cse312 .cse313) (= .cse314 0)))))))))) (or (let ((.cse318 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse319 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse322 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (+ (select .cse322 .cse76) 1))) (let ((.cse317 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse322 .cse76 (mod .cse320 4))))) (or (not (= (select (select .cse317 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (< .cse320 0) (let ((.cse321 (select .cse317 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse321 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse321 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse323 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse324 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse323 .cse76 0)))) (or (not (= (mod (+ (select .cse323 .cse76) 1) 4) 0)) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (let ((.cse325 (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse325 .cse18) (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse330 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (select .cse330 .cse76))) (let ((.cse327 (mod (+ .cse326 1) 4))) (let ((.cse328 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse330 .cse76 (+ .cse327 (- 4)))))) (or (< 0 (+ 2 .cse326)) (= .cse327 0) (not (= (select (select .cse328 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (let ((.cse329 (select .cse328 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse329 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse329 .cse18))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))))) .cse68 .cse69) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse331 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse331 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse333 (+ (select .cse339 .cse10) 1))) (let ((.cse334 (select .cse338 .cse10)) (.cse337 (select (store .cse331 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse10 (mod .cse333 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse332 (select .cse337 .cse8)) (.cse335 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse336 (mod (+ .cse334 1) 4))) (or (not (= (select (select .cse331 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse332)) (< .cse333 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse334) (= (+ .cse335 4) .cse336) (= (select .cse337 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse332) (= .cse335 .cse336))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse346 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse343 (select .cse346 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse347 (store .cse343 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse340 (+ (select .cse347 .cse10) 1))) (let ((.cse345 (select (store .cse346 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse347 .cse10 (mod .cse340 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse341 (select .cse343 .cse10))) (let ((.cse342 (+ .cse341 1)) (.cse344 (select .cse345 .cse18))) (or (< .cse340 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse341) (< .cse342 0) (= (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse342 4)) (= .cse344 (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse344 (select (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse348 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse352 (select .cse348 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse355 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (+ (select .cse355 .cse10) 1))) (let ((.cse353 (select (store .cse348 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse355 .cse10 (mod .cse350 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse354 (select .cse352 .cse10))) (let ((.cse351 (mod (+ .cse354 1) 4)) (.cse349 (select .cse353 .cse8))) (or (not (= (select (select .cse348 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse349)) (< .cse350 0) (= .cse351 0) (= (+ (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse351) (= (select .cse353 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse349) (< 0 (+ 2 .cse354)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse362 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse364 (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse365 (store .cse364 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse356 (select .cse365 .cse10))) (let ((.cse363 (mod (+ .cse356 1) 4))) (let ((.cse361 (select (store .cse362 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse365 .cse10 (+ .cse363 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse357 (select .cse364 .cse10))) (let ((.cse358 (select .cse364 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse359 (mod (+ .cse357 1) 4)) (.cse360 (select .cse361 .cse36))) (or (< 0 (+ .cse356 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse357) (= (+ .cse358 4) .cse359) (= .cse358 .cse359) (= .cse360 (select .cse361 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse360)) (= .cse363 0)))))))))) (let ((.cse372 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse371 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse373 (select .cse372 .cse371))) (let ((.cse384 (mod (+ .cse373 1) 4))) (let ((.cse381 (+ 2 .cse373)) (.cse382 (= .cse384 0)) (.cse383 (select .cse372 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse370 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse366 (select .cse370 .cse371))) (let ((.cse367 (mod (+ .cse366 1) 4))) (let ((.cse369 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse370 .cse371 (+ .cse367 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse368 (select .cse369 .cse18))) (or (< 0 (+ 2 .cse366)) (= .cse367 0) (= .cse368 (select .cse369 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse105 .cse368))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse374 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse376 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse374 .cse371 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse375 (select .cse376 .cse18))) (or (not (= (mod (+ (select .cse374 .cse371) 1) 4) 0)) (not (= .cse105 .cse375)) (= (select .cse376 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse380 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse379 (+ (select .cse380 .cse371) 1))) (let ((.cse378 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse380 .cse371 (mod .cse379 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse377 (select .cse378 .cse18))) (or (not (= .cse105 .cse377)) (= .cse377 (select .cse378 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse379 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373)))) (and (<= .cse381 0) (not .cse382) (= (+ .cse383 4) .cse384)) (and (or (< 0 .cse381) .cse382) (= .cse383 .cse384))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse391 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse388 (select .cse391 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse393 (store .cse388 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse385 (select .cse393 .cse10))) (let ((.cse392 (mod (+ .cse385 1) 4))) (let ((.cse390 (select (store .cse391 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse393 .cse10 (+ .cse392 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse386 (select .cse388 .cse10))) (let ((.cse387 (mod (+ .cse386 1) 4)) (.cse389 (select .cse390 .cse36))) (or (< 0 (+ .cse385 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse386) (= .cse387 0) (= (+ (select .cse388 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse387) (= .cse389 (select .cse390 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse391 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse389)) (< 0 (+ 2 .cse386)) (= .cse392 0)))))))))))))))) is different from true [2024-05-08 02:34:23,506 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse77 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse76 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse78 (select .cse77 .cse76))) (let ((.cse397 (mod (+ .cse78 1) 4))) (let ((.cse395 (+ .cse78 2)) (.cse396 (= .cse397 0)) (.cse398 (select .cse77 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse68 (and (<= .cse395 0) (not .cse396) (= .cse397 (+ 4 .cse398)))) (.cse69 (and (or (< 0 .cse395) .cse396) (= .cse397 .cse398))) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse105 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (or .cse68 .cse69 (let ((.cse70 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse72 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse75 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse73 (+ (select .cse75 .cse76) 1))) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse75 .cse76 (mod .cse73 4))))) (or (not (= .cse70 (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (< .cse73 0) (let ((.cse74 (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse74 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse74 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse79 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse79 .cse76 0)))) (or (not (= (mod (+ (select .cse79 .cse76) 1) 4) 0)) (not (= .cse70 (select (select .cse80 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (let ((.cse81 (select .cse80 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse81 .cse18) (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse82 (select .cse86 .cse76))) (let ((.cse83 (mod (+ .cse82 1) 4))) (let ((.cse85 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse86 .cse76 (+ .cse83 (- 4)))))) (or (< 0 (+ 2 .cse82)) (= .cse83 0) (let ((.cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse84 .cse18))) (not (= .cse70 (select (select .cse85 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72)))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse89 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse89 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse93 (select .cse89 .cse10))) (let ((.cse87 (mod (+ .cse93 1) 4)) (.cse91 (select .cse90 .cse18))) (or (= .cse87 0) (not (= (mod (+ (select .cse88 .cse10) 1) 4) 0)) (= (+ (select .cse89 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse87) (= (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91)) (< 0 (+ 2 .cse93))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse100 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse99 (select .cse100 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse96 (store .cse99 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse97 (select (store .cse100 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse94 (select .cse99 .cse10))) (let ((.cse95 (+ .cse94 1)) (.cse98 (select .cse97 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse94) (< .cse95 0) (not (= (mod (+ (select .cse96 .cse10) 1) 4) 0)) (= (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98) (= (select .cse99 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse95 4)) (not (= (select (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98))))))))) (let ((.cse107 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse101 (select .cse107 .cse10))) (let ((.cse118 (mod (+ .cse101 1) 4))) (let ((.cse116 (+ .cse101 2)) (.cse119 (= .cse118 0)) (.cse117 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse106 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse104 (+ (select .cse106 .cse10) 1))) (let ((.cse102 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse106 .cse10 (mod .cse104 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse103 (select .cse102 .cse18))) (or (= (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse103) (< .cse104 0) (not (= .cse105 .cse103)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse110 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse109 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse110 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse108 (select .cse109 .cse18))) (or (= .cse108 (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse110 .cse10) 1) 4) 0)) (not (= .cse105 .cse108))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse115 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse113 (select .cse115 .cse10))) (let ((.cse112 (mod (+ .cse113 1) 4))) (let ((.cse114 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse115 .cse10 (+ (- 4) .cse112))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse111 (select .cse114 .cse18))) (or (not (= .cse111 .cse105)) (= .cse112 0) (< 0 (+ 2 .cse113)) (= .cse111 (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse116 0) (= (+ .cse117 4) .cse118) (not .cse119)) (and (or (< 0 .cse116) .cse119) (= .cse117 .cse118))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse126 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse126 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (select (store .cse126 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse120 (select .cse127 .cse10))) (let ((.cse122 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse123 (mod (+ .cse120 1) 4)) (.cse125 (select .cse124 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse120) (not (= (mod (+ (select .cse121 .cse10) 1) 4) 0)) (= (+ .cse122 4) .cse123) (= (select .cse124 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125) (= .cse122 .cse123) (not (= (select (select .cse126 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125))))))))) (let ((.cse128 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse128 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse128 (<= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 1)) (<= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1|)) (and (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 0)))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse136 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse133 (store .cse136 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse131 (select .cse136 .cse10)) (.cse130 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse133 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse129 (select .cse130 .cse8)) (.cse134 (select .cse136 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse135 (mod (+ .cse131 1) 4))) (or (= .cse129 (select .cse130 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse131) (not (= .cse129 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse133 .cse10) 1) 4) 0)) (= (+ .cse134 4) .cse135) (= .cse134 .cse135)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse141 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse143 (select .cse141 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse142 (store .cse143 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (select .cse143 .cse10)) (.cse138 (select (store .cse141 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse142 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse137 (select .cse138 .cse8)) (.cse140 (+ .cse139 1))) (or (= .cse137 (select .cse138 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse139) (< .cse140 0) (not (= .cse137 (select (select .cse141 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse142 .cse10) 1) 4) 0)) (= (select .cse143 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse140 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse147 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse151 (store .cse147 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse144 (+ (select .cse151 .cse10) 1))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse151 .cse10 (mod .cse144 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse145 (select .cse147 .cse10))) (let ((.cse146 (+ .cse145 1)) (.cse149 (select .cse150 .cse36))) (or (< .cse144 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse145) (< .cse146 0) (= (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse146 4)) (not (= (select (select .cse148 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse149)) (= (select .cse150 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse149))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse156 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse160 (select .cse156 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse161 (store .cse160 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse152 (select .cse161 .cse10))) (let ((.cse159 (mod (+ .cse152 1) 4))) (let ((.cse153 (select .cse160 .cse10)) (.cse155 (select (store .cse156 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse161 .cse10 (+ .cse159 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse154 (select .cse155 .cse8)) (.cse157 (select .cse160 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse158 (mod (+ .cse153 1) 4))) (or (< 0 (+ .cse152 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse153) (= .cse154 (select .cse155 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse154 (select (select .cse156 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse157 4) .cse158) (= .cse157 .cse158) (= .cse159 0)))))))))) (let ((.cse167 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse162 (select .cse167 .cse166))) (let ((.cse180 (mod (+ .cse162 1) 4))) (let ((.cse177 (+ 2 .cse162)) (.cse179 (select .cse167 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse178 (= .cse180 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse162) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse165 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse163 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse165 .cse166 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse164 (select .cse163 .cse18))) (or (= (select .cse163 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse164) (not (= .cse105 .cse164)) (not (= (mod (+ (select .cse165 .cse166) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse162) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse171 .cse166) 1))) (let ((.cse169 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse171 .cse166 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse168 (select .cse169 .cse18))) (or (not (= .cse168 .cse105)) (= .cse168 (select .cse169 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse170 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse162) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse176 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse172 (select .cse176 .cse166))) (let ((.cse173 (mod (+ .cse172 1) 4))) (let ((.cse175 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse176 .cse166 (+ .cse173 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse174 (select .cse175 .cse18))) (or (< 0 (+ 2 .cse172)) (= .cse173 0) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse174 .cse105)))))))))))) (and (or (< 0 .cse177) .cse178) (= .cse179 .cse180)) (and (<= .cse177 0) (= (+ .cse179 4) .cse180) (not .cse178))))))) (or .cse68 .cse69 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse182 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse182 .cse76 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse181 (select .cse183 .cse18))) (or (not (= .cse181 .cse105)) (not (= (mod (+ (select .cse182 .cse76) 1) 4) 0)) (= .cse181 (select .cse183 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse187 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse184 (+ (select .cse187 .cse76) 1))) (let ((.cse186 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse187 .cse76 (mod .cse184 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (select .cse186 .cse18))) (or (< .cse184 0) (not (= .cse105 .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse192 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse188 (select .cse192 .cse76))) (let ((.cse189 (mod (+ .cse188 1) 4))) (let ((.cse190 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse192 .cse76 (+ .cse189 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse190 .cse18))) (or (< 0 (+ 2 .cse188)) (= .cse189 0) (= (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191) (not (= .cse105 .cse191))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse196 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse195 (select .cse196 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse200 (store .cse195 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (+ (select .cse200 .cse10) 1))) (let ((.cse198 (select (store .cse196 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse200 .cse10 (mod .cse193 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse199 (select .cse195 .cse10))) (let ((.cse194 (mod (+ .cse199 1) 4)) (.cse197 (select .cse198 .cse36))) (or (< .cse193 0) (= .cse194 0) (= (+ (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse194) (not (= (select (select .cse196 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse197)) (= (select .cse198 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse197) (< 0 (+ 2 .cse199)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse201 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse206 (select .cse201 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse207 (store .cse206 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse203 (+ (select .cse207 .cse10) 1))) (let ((.cse205 (select (store .cse201 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse207 .cse10 (mod .cse203 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse204 (select .cse206 .cse10)) (.cse202 (select .cse205 .cse8))) (or (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse202)) (< .cse203 0) (not (= (mod (+ .cse204 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse204) (= (select .cse205 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse202) (= (select .cse206 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse212 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse209 (store .cse212 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse210 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse209 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse208 (select .cse212 .cse10)) (.cse211 (select .cse210 .cse36))) (or (not (= (mod (+ .cse208 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse208) (not (= (mod (+ (select .cse209 .cse10) 1) 4) 0)) (= (select .cse210 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse211) (= (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse211))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse219 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse220 (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse222 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse214 (select .cse222 .cse10))) (let ((.cse221 (mod (+ .cse214 1) 4))) (let ((.cse215 (select .cse220 .cse10)) (.cse217 (select (store .cse219 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse222 .cse10 (+ .cse221 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse216 (select .cse217 .cse18)) (.cse218 (mod (+ .cse215 1) 4))) (or (< 0 (+ .cse214 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse215) (= .cse216 (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse218 0) (not (= (select (select .cse219 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse216)) (= (+ (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse218) (< 0 (+ 2 .cse215)) (= .cse221 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse228 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse227 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse227 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse225 (select .cse228 .cse10)) (.cse223 (select .cse224 .cse8))) (or (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse225 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse225) (not (= .cse223 (select (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse227 .cse10) 1) 4) 0)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse229 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse235 (select .cse229 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse236 (store .cse235 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse231 (+ (select .cse236 .cse10) 1))) (let ((.cse232 (select .cse235 .cse10)) (.cse234 (select (store .cse229 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse236 .cse10 (mod .cse231 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse230 (select .cse234 .cse8)) (.cse233 (+ .cse232 1))) (or (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse230)) (< .cse231 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse232) (< .cse233 0) (= (select .cse234 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse230) (= (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse233 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse239 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse241 (select .cse239 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse243 (store .cse241 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse237 (+ (select .cse243 .cse10) 1))) (let ((.cse242 (select (store .cse239 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse243 .cse10 (mod .cse237 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse238 (select .cse241 .cse10)) (.cse240 (select .cse242 .cse36))) (or (< .cse237 0) (not (= (mod (+ .cse238 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse238) (not (= (select (select .cse239 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse240)) (= (select .cse241 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse240))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse250 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse251 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse252 (store .cse251 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (+ (select .cse252 .cse10) 1))) (let ((.cse249 (select (store .cse250 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse252 .cse10 (mod .cse244 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse245 (select .cse251 .cse10))) (let ((.cse246 (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse247 (mod (+ .cse245 1) 4)) (.cse248 (select .cse249 .cse18))) (or (< .cse244 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse245) (= (+ .cse246 4) .cse247) (= .cse246 .cse247) (= .cse248 (select .cse249 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse248 (select (select .cse250 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse257 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse260 (select .cse257 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse261 (store .cse260 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse253 (+ (select .cse261 .cse10) 1))) (let ((.cse259 (select (store .cse257 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse261 .cse10 (mod .cse253 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse254 (select .cse260 .cse10))) (let ((.cse255 (select .cse260 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse256 (mod (+ .cse254 1) 4)) (.cse258 (select .cse259 .cse36))) (or (< .cse253 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse254) (= (+ .cse255 4) .cse256) (= .cse255 .cse256) (not (= (select (select .cse257 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse258)) (= (select .cse259 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse258))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse264 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse263 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse265 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse263 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse262 (select .cse264 .cse10)) (.cse266 (select .cse265 .cse18))) (or (not (= (mod (+ .cse262 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse262) (not (= (mod (+ (select .cse263 .cse10) 1) 4) 0)) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse266) (not (= (select (select .cse267 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse266))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse271 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse273 (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (select .cse273 .cse10)) (.cse269 (select (store .cse271 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse268 (select .cse269 .cse8)) (.cse270 (mod (+ .cse274 1) 4))) (or (= .cse268 (select .cse269 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse270 0) (not (= .cse268 (select (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse272 .cse10) 1) 4) 0)) (= (+ (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse270) (< 0 (+ 2 .cse274))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse280 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse277 (select .cse280 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse281 (store .cse277 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse275 (+ (select .cse281 .cse10) 1))) (let ((.cse279 (select (store .cse280 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse281 .cse10 (mod .cse275 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse276 (select .cse277 .cse10)) (.cse278 (select .cse279 .cse18))) (or (< .cse275 0) (not (= (mod (+ .cse276 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse276) (= (select .cse277 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse278 (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse278 (select (select .cse280 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse287 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse288 (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse290 (store .cse288 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse282 (select .cse290 .cse10))) (let ((.cse289 (mod (+ .cse282 1) 4))) (let ((.cse283 (select .cse288 .cse10)) (.cse285 (select (store .cse287 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse290 .cse10 (+ .cse289 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse284 (select .cse285 .cse18)) (.cse286 (+ .cse283 1))) (or (< 0 (+ .cse282 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse283) (= .cse284 (select .cse285 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse286 0) (not (= (select (select .cse287 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse284)) (= (select .cse288 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse286 4)) (= .cse289 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse297 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse299 (store .cse297 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse299 .cse10))) (let ((.cse298 (mod (+ .cse291 1) 4))) (let ((.cse292 (select .cse297 .cse10)) (.cse294 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse299 .cse10 (+ .cse298 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse293 (select .cse294 .cse8)) (.cse295 (+ .cse292 1))) (or (< 0 (+ .cse291 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse292) (= .cse293 (select .cse294 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse295 0) (not (= .cse293 (select (select .cse296 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse297 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse295 4)) (= .cse298 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse306 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse302 (select .cse306 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse307 (store .cse302 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse307 .cse10) 1))) (let ((.cse304 (select (store .cse306 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse307 .cse10 (mod .cse300 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse305 (select .cse302 .cse10))) (let ((.cse301 (mod (+ .cse305 1) 4)) (.cse303 (select .cse304 .cse18))) (or (< .cse300 0) (= .cse301 0) (= (+ (select .cse302 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse301) (= .cse303 (select .cse304 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse305)) (not (= .cse303 (select (select .cse306 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse312 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse316 (select .cse312 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse317 (store .cse316 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (select .cse317 .cse10))) (let ((.cse315 (mod (+ .cse308 1) 4))) (let ((.cse309 (select .cse316 .cse10)) (.cse311 (select (store .cse312 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse317 .cse10 (+ .cse315 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse310 (select .cse311 .cse18)) (.cse313 (select .cse316 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse314 (mod (+ .cse309 1) 4))) (or (< 0 (+ .cse308 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse309) (= .cse310 (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse312 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse310)) (= (+ .cse313 4) .cse314) (= .cse313 .cse314) (= .cse315 0)))))))))) (or (let ((.cse319 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse320 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse323 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse321 (+ (select .cse323 .cse76) 1))) (let ((.cse318 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse323 .cse76 (mod .cse321 4))))) (or (not (= (select (select .cse318 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse319) .cse320)) (< .cse321 0) (let ((.cse322 (select .cse318 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse322 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse322 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse324 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse325 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse324 .cse76 0)))) (or (not (= (mod (+ (select .cse324 .cse76) 1) 4) 0)) (not (= (select (select .cse325 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse319) .cse320)) (let ((.cse326 (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse326 .cse18) (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse331 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse327 (select .cse331 .cse76))) (let ((.cse328 (mod (+ .cse327 1) 4))) (let ((.cse329 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse331 .cse76 (+ .cse328 (- 4)))))) (or (< 0 (+ 2 .cse327)) (= .cse328 0) (not (= (select (select .cse329 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse319) .cse320)) (let ((.cse330 (select .cse329 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse330 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse330 .cse18))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))))) .cse68 .cse69) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse332 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse339 (select .cse332 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse339 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse334 (+ (select .cse340 .cse10) 1))) (let ((.cse335 (select .cse339 .cse10)) (.cse338 (select (store .cse332 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse10 (mod .cse334 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse333 (select .cse338 .cse8)) (.cse336 (select .cse339 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse337 (mod (+ .cse335 1) 4))) (or (not (= (select (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse333)) (< .cse334 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse335) (= (+ .cse336 4) .cse337) (= (select .cse338 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse333) (= .cse336 .cse337))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse347 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse344 (select .cse347 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse348 (store .cse344 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse341 (+ (select .cse348 .cse10) 1))) (let ((.cse346 (select (store .cse347 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse348 .cse10 (mod .cse341 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse344 .cse10))) (let ((.cse343 (+ .cse342 1)) (.cse345 (select .cse346 .cse18))) (or (< .cse341 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse342) (< .cse343 0) (= (select .cse344 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse343 4)) (= .cse345 (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse345 (select (select .cse347 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse349 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse353 (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse356 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse351 (+ (select .cse356 .cse10) 1))) (let ((.cse354 (select (store .cse349 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse356 .cse10 (mod .cse351 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse355 (select .cse353 .cse10))) (let ((.cse352 (mod (+ .cse355 1) 4)) (.cse350 (select .cse354 .cse8))) (or (not (= (select (select .cse349 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse350)) (< .cse351 0) (= .cse352 0) (= (+ (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse352) (= (select .cse354 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse350) (< 0 (+ 2 .cse355)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse365 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse366 (store .cse365 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse357 (select .cse366 .cse10))) (let ((.cse364 (mod (+ .cse357 1) 4))) (let ((.cse362 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse10 (+ .cse364 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse358 (select .cse365 .cse10))) (let ((.cse359 (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse360 (mod (+ .cse358 1) 4)) (.cse361 (select .cse362 .cse36))) (or (< 0 (+ .cse357 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse358) (= (+ .cse359 4) .cse360) (= .cse359 .cse360) (= .cse361 (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse361)) (= .cse364 0)))))))))) (let ((.cse373 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse374 (select .cse373 .cse372))) (let ((.cse385 (mod (+ .cse374 1) 4))) (let ((.cse382 (+ 2 .cse374)) (.cse383 (= .cse385 0)) (.cse384 (select .cse373 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse371 (store .cse373 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse367 (select .cse371 .cse372))) (let ((.cse368 (mod (+ .cse367 1) 4))) (let ((.cse370 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse371 .cse372 (+ .cse368 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse369 (select .cse370 .cse18))) (or (< 0 (+ 2 .cse367)) (= .cse368 0) (= .cse369 (select .cse370 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse105 .cse369))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse374))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse375 (store .cse373 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse377 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse375 .cse372 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse376 (select .cse377 .cse18))) (or (not (= (mod (+ (select .cse375 .cse372) 1) 4) 0)) (not (= .cse105 .cse376)) (= (select .cse377 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse374))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse381 (store .cse373 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse380 (+ (select .cse381 .cse372) 1))) (let ((.cse379 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse381 .cse372 (mod .cse380 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse378 (select .cse379 .cse18))) (or (not (= .cse105 .cse378)) (= .cse378 (select .cse379 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse380 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse374)))) (and (<= .cse382 0) (not .cse383) (= (+ .cse384 4) .cse385)) (and (or (< 0 .cse382) .cse383) (= .cse384 .cse385))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse392 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse389 (select .cse392 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse394 (store .cse389 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse386 (select .cse394 .cse10))) (let ((.cse393 (mod (+ .cse386 1) 4))) (let ((.cse391 (select (store .cse392 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse394 .cse10 (+ .cse393 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse387 (select .cse389 .cse10))) (let ((.cse388 (mod (+ .cse387 1) 4)) (.cse390 (select .cse391 .cse36))) (or (< 0 (+ .cse386 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse387) (= .cse388 0) (= (+ (select .cse389 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse388) (= .cse390 (select .cse391 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse392 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse390)) (< 0 (+ 2 .cse387)) (= .cse393 0)))))))))))))))) is different from true [2024-05-08 02:34:36,127 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse77 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse76 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse78 (select .cse77 .cse76))) (let ((.cse397 (mod (+ .cse78 1) 4))) (let ((.cse395 (+ .cse78 2)) (.cse396 (= .cse397 0)) (.cse398 (select .cse77 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse68 (and (<= .cse395 0) (not .cse396) (= .cse397 (+ 4 .cse398)))) (.cse69 (and (or (< 0 .cse395) .cse396) (= .cse397 .cse398))) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse105 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (or .cse68 .cse69 (let ((.cse70 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse72 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse75 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse73 (+ (select .cse75 .cse76) 1))) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse75 .cse76 (mod .cse73 4))))) (or (not (= .cse70 (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (< .cse73 0) (let ((.cse74 (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse74 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse74 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse79 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse79 .cse76 0)))) (or (not (= (mod (+ (select .cse79 .cse76) 1) 4) 0)) (not (= .cse70 (select (select .cse80 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (let ((.cse81 (select .cse80 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse81 .cse18) (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse82 (select .cse86 .cse76))) (let ((.cse83 (mod (+ .cse82 1) 4))) (let ((.cse85 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse86 .cse76 (+ .cse83 (- 4)))))) (or (< 0 (+ 2 .cse82)) (= .cse83 0) (let ((.cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse84 .cse18))) (not (= .cse70 (select (select .cse85 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72)))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse89 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse89 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse93 (select .cse89 .cse10))) (let ((.cse87 (mod (+ .cse93 1) 4)) (.cse91 (select .cse90 .cse18))) (or (= .cse87 0) (not (= (mod (+ (select .cse88 .cse10) 1) 4) 0)) (= (+ (select .cse89 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse87) (= (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91)) (< 0 (+ 2 .cse93))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse100 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse99 (select .cse100 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse96 (store .cse99 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse97 (select (store .cse100 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse94 (select .cse99 .cse10))) (let ((.cse95 (+ .cse94 1)) (.cse98 (select .cse97 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse94) (< .cse95 0) (not (= (mod (+ (select .cse96 .cse10) 1) 4) 0)) (= (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98) (= (select .cse99 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse95 4)) (not (= (select (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98))))))))) (let ((.cse107 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse101 (select .cse107 .cse10))) (let ((.cse118 (mod (+ .cse101 1) 4))) (let ((.cse116 (+ .cse101 2)) (.cse119 (= .cse118 0)) (.cse117 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse106 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse104 (+ (select .cse106 .cse10) 1))) (let ((.cse102 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse106 .cse10 (mod .cse104 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse103 (select .cse102 .cse18))) (or (= (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse103) (< .cse104 0) (not (= .cse105 .cse103)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse110 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse109 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse110 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse108 (select .cse109 .cse18))) (or (= .cse108 (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse110 .cse10) 1) 4) 0)) (not (= .cse105 .cse108))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse115 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse113 (select .cse115 .cse10))) (let ((.cse112 (mod (+ .cse113 1) 4))) (let ((.cse114 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse115 .cse10 (+ (- 4) .cse112))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse111 (select .cse114 .cse18))) (or (not (= .cse111 .cse105)) (= .cse112 0) (< 0 (+ 2 .cse113)) (= .cse111 (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse116 0) (= (+ .cse117 4) .cse118) (not .cse119)) (and (or (< 0 .cse116) .cse119) (= .cse117 .cse118))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse126 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse126 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (select (store .cse126 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse120 (select .cse127 .cse10))) (let ((.cse122 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse123 (mod (+ .cse120 1) 4)) (.cse125 (select .cse124 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse120) (not (= (mod (+ (select .cse121 .cse10) 1) 4) 0)) (= (+ .cse122 4) .cse123) (= (select .cse124 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125) (= .cse122 .cse123) (not (= (select (select .cse126 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125))))))))) (let ((.cse128 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse128 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse128 (<= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 1)) (<= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1|)) (and (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 0)))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse136 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse133 (store .cse136 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse131 (select .cse136 .cse10)) (.cse130 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse133 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse129 (select .cse130 .cse8)) (.cse134 (select .cse136 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse135 (mod (+ .cse131 1) 4))) (or (= .cse129 (select .cse130 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse131) (not (= .cse129 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse133 .cse10) 1) 4) 0)) (= (+ .cse134 4) .cse135) (= .cse134 .cse135)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse141 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse143 (select .cse141 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse142 (store .cse143 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (select .cse143 .cse10)) (.cse138 (select (store .cse141 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse142 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse137 (select .cse138 .cse8)) (.cse140 (+ .cse139 1))) (or (= .cse137 (select .cse138 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse139) (< .cse140 0) (not (= .cse137 (select (select .cse141 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse142 .cse10) 1) 4) 0)) (= (select .cse143 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse140 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse147 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse151 (store .cse147 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse144 (+ (select .cse151 .cse10) 1))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse151 .cse10 (mod .cse144 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse145 (select .cse147 .cse10))) (let ((.cse146 (+ .cse145 1)) (.cse149 (select .cse150 .cse36))) (or (< .cse144 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse145) (< .cse146 0) (= (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse146 4)) (not (= (select (select .cse148 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse149)) (= (select .cse150 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse149))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse156 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse160 (select .cse156 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse161 (store .cse160 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse152 (select .cse161 .cse10))) (let ((.cse159 (mod (+ .cse152 1) 4))) (let ((.cse153 (select .cse160 .cse10)) (.cse155 (select (store .cse156 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse161 .cse10 (+ .cse159 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse154 (select .cse155 .cse8)) (.cse157 (select .cse160 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse158 (mod (+ .cse153 1) 4))) (or (< 0 (+ .cse152 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse153) (= .cse154 (select .cse155 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse154 (select (select .cse156 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse157 4) .cse158) (= .cse157 .cse158) (= .cse159 0)))))))))) (let ((.cse167 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse162 (select .cse167 .cse166))) (let ((.cse180 (mod (+ .cse162 1) 4))) (let ((.cse177 (+ 2 .cse162)) (.cse179 (select .cse167 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse178 (= .cse180 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse162) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse165 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse163 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse165 .cse166 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse164 (select .cse163 .cse18))) (or (= (select .cse163 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse164) (not (= .cse105 .cse164)) (not (= (mod (+ (select .cse165 .cse166) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse162) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse171 .cse166) 1))) (let ((.cse169 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse171 .cse166 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse168 (select .cse169 .cse18))) (or (not (= .cse168 .cse105)) (= .cse168 (select .cse169 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse170 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse162) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse176 (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse172 (select .cse176 .cse166))) (let ((.cse173 (mod (+ .cse172 1) 4))) (let ((.cse175 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse176 .cse166 (+ .cse173 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse174 (select .cse175 .cse18))) (or (< 0 (+ 2 .cse172)) (= .cse173 0) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse174 .cse105)))))))))))) (and (or (< 0 .cse177) .cse178) (= .cse179 .cse180)) (and (<= .cse177 0) (= (+ .cse179 4) .cse180) (not .cse178))))))) (or .cse68 .cse69 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse182 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse182 .cse76 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse181 (select .cse183 .cse18))) (or (not (= .cse181 .cse105)) (not (= (mod (+ (select .cse182 .cse76) 1) 4) 0)) (= .cse181 (select .cse183 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse187 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse184 (+ (select .cse187 .cse76) 1))) (let ((.cse186 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse187 .cse76 (mod .cse184 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (select .cse186 .cse18))) (or (< .cse184 0) (not (= .cse105 .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse192 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse188 (select .cse192 .cse76))) (let ((.cse189 (mod (+ .cse188 1) 4))) (let ((.cse190 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse192 .cse76 (+ .cse189 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse190 .cse18))) (or (< 0 (+ 2 .cse188)) (= .cse189 0) (= (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191) (not (= .cse105 .cse191))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse196 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse195 (select .cse196 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse200 (store .cse195 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (+ (select .cse200 .cse10) 1))) (let ((.cse198 (select (store .cse196 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse200 .cse10 (mod .cse193 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse199 (select .cse195 .cse10))) (let ((.cse194 (mod (+ .cse199 1) 4)) (.cse197 (select .cse198 .cse36))) (or (< .cse193 0) (= .cse194 0) (= (+ (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse194) (not (= (select (select .cse196 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse197)) (= (select .cse198 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse197) (< 0 (+ 2 .cse199)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse201 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse206 (select .cse201 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse207 (store .cse206 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse203 (+ (select .cse207 .cse10) 1))) (let ((.cse205 (select (store .cse201 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse207 .cse10 (mod .cse203 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse204 (select .cse206 .cse10)) (.cse202 (select .cse205 .cse8))) (or (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse202)) (< .cse203 0) (not (= (mod (+ .cse204 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse204) (= (select .cse205 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse202) (= (select .cse206 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse212 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse209 (store .cse212 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse210 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse209 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse208 (select .cse212 .cse10)) (.cse211 (select .cse210 .cse36))) (or (not (= (mod (+ .cse208 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse208) (not (= (mod (+ (select .cse209 .cse10) 1) 4) 0)) (= (select .cse210 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse211) (= (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse211))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse219 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse220 (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse222 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse214 (select .cse222 .cse10))) (let ((.cse221 (mod (+ .cse214 1) 4))) (let ((.cse215 (select .cse220 .cse10)) (.cse217 (select (store .cse219 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse222 .cse10 (+ .cse221 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse216 (select .cse217 .cse18)) (.cse218 (mod (+ .cse215 1) 4))) (or (< 0 (+ .cse214 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse215) (= .cse216 (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse218 0) (not (= (select (select .cse219 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse216)) (= (+ (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse218) (< 0 (+ 2 .cse215)) (= .cse221 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse228 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse227 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse227 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse225 (select .cse228 .cse10)) (.cse223 (select .cse224 .cse8))) (or (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse225 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse225) (not (= .cse223 (select (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse227 .cse10) 1) 4) 0)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse229 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse235 (select .cse229 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse236 (store .cse235 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse231 (+ (select .cse236 .cse10) 1))) (let ((.cse232 (select .cse235 .cse10)) (.cse234 (select (store .cse229 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse236 .cse10 (mod .cse231 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse230 (select .cse234 .cse8)) (.cse233 (+ .cse232 1))) (or (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse230)) (< .cse231 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse232) (< .cse233 0) (= (select .cse234 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse230) (= (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse233 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse239 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse241 (select .cse239 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse243 (store .cse241 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse237 (+ (select .cse243 .cse10) 1))) (let ((.cse242 (select (store .cse239 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse243 .cse10 (mod .cse237 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse238 (select .cse241 .cse10)) (.cse240 (select .cse242 .cse36))) (or (< .cse237 0) (not (= (mod (+ .cse238 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse238) (not (= (select (select .cse239 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse240)) (= (select .cse241 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse240))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse250 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse251 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse252 (store .cse251 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (+ (select .cse252 .cse10) 1))) (let ((.cse249 (select (store .cse250 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse252 .cse10 (mod .cse244 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse245 (select .cse251 .cse10))) (let ((.cse246 (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse247 (mod (+ .cse245 1) 4)) (.cse248 (select .cse249 .cse18))) (or (< .cse244 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse245) (= (+ .cse246 4) .cse247) (= .cse246 .cse247) (= .cse248 (select .cse249 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse248 (select (select .cse250 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse257 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse260 (select .cse257 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse261 (store .cse260 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse253 (+ (select .cse261 .cse10) 1))) (let ((.cse259 (select (store .cse257 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse261 .cse10 (mod .cse253 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse254 (select .cse260 .cse10))) (let ((.cse255 (select .cse260 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse256 (mod (+ .cse254 1) 4)) (.cse258 (select .cse259 .cse36))) (or (< .cse253 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse254) (= (+ .cse255 4) .cse256) (= .cse255 .cse256) (not (= (select (select .cse257 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse258)) (= (select .cse259 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse258))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse264 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse263 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse265 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse263 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse262 (select .cse264 .cse10)) (.cse266 (select .cse265 .cse18))) (or (not (= (mod (+ .cse262 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse262) (not (= (mod (+ (select .cse263 .cse10) 1) 4) 0)) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse266) (not (= (select (select .cse267 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse266))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse271 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse273 (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (select .cse273 .cse10)) (.cse269 (select (store .cse271 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse268 (select .cse269 .cse8)) (.cse270 (mod (+ .cse274 1) 4))) (or (= .cse268 (select .cse269 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse270 0) (not (= .cse268 (select (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse272 .cse10) 1) 4) 0)) (= (+ (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse270) (< 0 (+ 2 .cse274))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse280 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse277 (select .cse280 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse281 (store .cse277 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse275 (+ (select .cse281 .cse10) 1))) (let ((.cse279 (select (store .cse280 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse281 .cse10 (mod .cse275 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse276 (select .cse277 .cse10)) (.cse278 (select .cse279 .cse18))) (or (< .cse275 0) (not (= (mod (+ .cse276 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse276) (= (select .cse277 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse278 (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse278 (select (select .cse280 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse287 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse288 (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse290 (store .cse288 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse282 (select .cse290 .cse10))) (let ((.cse289 (mod (+ .cse282 1) 4))) (let ((.cse283 (select .cse288 .cse10)) (.cse285 (select (store .cse287 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse290 .cse10 (+ .cse289 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse284 (select .cse285 .cse18)) (.cse286 (+ .cse283 1))) (or (< 0 (+ .cse282 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse283) (= .cse284 (select .cse285 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse286 0) (not (= (select (select .cse287 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse284)) (= (select .cse288 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse286 4)) (= .cse289 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse297 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse299 (store .cse297 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse299 .cse10))) (let ((.cse298 (mod (+ .cse291 1) 4))) (let ((.cse292 (select .cse297 .cse10)) (.cse294 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse299 .cse10 (+ .cse298 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse293 (select .cse294 .cse8)) (.cse295 (+ .cse292 1))) (or (< 0 (+ .cse291 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse292) (= .cse293 (select .cse294 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse295 0) (not (= .cse293 (select (select .cse296 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse297 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse295 4)) (= .cse298 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse306 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse302 (select .cse306 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse307 (store .cse302 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse307 .cse10) 1))) (let ((.cse304 (select (store .cse306 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse307 .cse10 (mod .cse300 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse305 (select .cse302 .cse10))) (let ((.cse301 (mod (+ .cse305 1) 4)) (.cse303 (select .cse304 .cse18))) (or (< .cse300 0) (= .cse301 0) (= (+ (select .cse302 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse301) (= .cse303 (select .cse304 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse305)) (not (= .cse303 (select (select .cse306 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse312 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse316 (select .cse312 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse317 (store .cse316 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (select .cse317 .cse10))) (let ((.cse315 (mod (+ .cse308 1) 4))) (let ((.cse309 (select .cse316 .cse10)) (.cse311 (select (store .cse312 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse317 .cse10 (+ .cse315 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse310 (select .cse311 .cse18)) (.cse313 (select .cse316 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse314 (mod (+ .cse309 1) 4))) (or (< 0 (+ .cse308 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse309) (= .cse310 (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse312 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse310)) (= (+ .cse313 4) .cse314) (= .cse313 .cse314) (= .cse315 0)))))))))) (or (let ((.cse319 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse320 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse323 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse321 (+ (select .cse323 .cse76) 1))) (let ((.cse318 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse323 .cse76 (mod .cse321 4))))) (or (not (= (select (select .cse318 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse319) .cse320)) (< .cse321 0) (let ((.cse322 (select .cse318 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse322 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse322 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse324 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse325 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse324 .cse76 0)))) (or (not (= (mod (+ (select .cse324 .cse76) 1) 4) 0)) (not (= (select (select .cse325 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse319) .cse320)) (let ((.cse326 (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse326 .cse18) (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse331 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse327 (select .cse331 .cse76))) (let ((.cse328 (mod (+ .cse327 1) 4))) (let ((.cse329 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse331 .cse76 (+ .cse328 (- 4)))))) (or (< 0 (+ 2 .cse327)) (= .cse328 0) (not (= (select (select .cse329 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse319) .cse320)) (let ((.cse330 (select .cse329 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse330 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse330 .cse18))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))))) .cse68 .cse69) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse332 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse339 (select .cse332 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse339 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse334 (+ (select .cse340 .cse10) 1))) (let ((.cse335 (select .cse339 .cse10)) (.cse338 (select (store .cse332 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse10 (mod .cse334 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse333 (select .cse338 .cse8)) (.cse336 (select .cse339 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse337 (mod (+ .cse335 1) 4))) (or (not (= (select (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse333)) (< .cse334 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse335) (= (+ .cse336 4) .cse337) (= (select .cse338 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse333) (= .cse336 .cse337))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse347 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse344 (select .cse347 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse348 (store .cse344 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse341 (+ (select .cse348 .cse10) 1))) (let ((.cse346 (select (store .cse347 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse348 .cse10 (mod .cse341 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse344 .cse10))) (let ((.cse343 (+ .cse342 1)) (.cse345 (select .cse346 .cse18))) (or (< .cse341 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse342) (< .cse343 0) (= (select .cse344 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse343 4)) (= .cse345 (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse345 (select (select .cse347 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse349 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse353 (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse356 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse351 (+ (select .cse356 .cse10) 1))) (let ((.cse354 (select (store .cse349 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse356 .cse10 (mod .cse351 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse355 (select .cse353 .cse10))) (let ((.cse352 (mod (+ .cse355 1) 4)) (.cse350 (select .cse354 .cse8))) (or (not (= (select (select .cse349 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse350)) (< .cse351 0) (= .cse352 0) (= (+ (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse352) (= (select .cse354 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse350) (< 0 (+ 2 .cse355)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse365 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse366 (store .cse365 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse357 (select .cse366 .cse10))) (let ((.cse364 (mod (+ .cse357 1) 4))) (let ((.cse362 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse10 (+ .cse364 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse358 (select .cse365 .cse10))) (let ((.cse359 (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse360 (mod (+ .cse358 1) 4)) (.cse361 (select .cse362 .cse36))) (or (< 0 (+ .cse357 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse358) (= (+ .cse359 4) .cse360) (= .cse359 .cse360) (= .cse361 (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse361)) (= .cse364 0)))))))))) (let ((.cse373 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse374 (select .cse373 .cse372))) (let ((.cse385 (mod (+ .cse374 1) 4))) (let ((.cse382 (+ 2 .cse374)) (.cse383 (= .cse385 0)) (.cse384 (select .cse373 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse371 (store .cse373 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse367 (select .cse371 .cse372))) (let ((.cse368 (mod (+ .cse367 1) 4))) (let ((.cse370 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse371 .cse372 (+ .cse368 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse369 (select .cse370 .cse18))) (or (< 0 (+ 2 .cse367)) (= .cse368 0) (= .cse369 (select .cse370 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse105 .cse369))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse374))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse375 (store .cse373 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse377 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse375 .cse372 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse376 (select .cse377 .cse18))) (or (not (= (mod (+ (select .cse375 .cse372) 1) 4) 0)) (not (= .cse105 .cse376)) (= (select .cse377 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse374))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse381 (store .cse373 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse380 (+ (select .cse381 .cse372) 1))) (let ((.cse379 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse381 .cse372 (mod .cse380 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse378 (select .cse379 .cse18))) (or (not (= .cse105 .cse378)) (= .cse378 (select .cse379 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse380 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse374)))) (and (<= .cse382 0) (not .cse383) (= (+ .cse384 4) .cse385)) (and (or (< 0 .cse382) .cse383) (= .cse384 .cse385))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse392 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse389 (select .cse392 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse394 (store .cse389 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse386 (select .cse394 .cse10))) (let ((.cse393 (mod (+ .cse386 1) 4))) (let ((.cse391 (select (store .cse392 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse394 .cse10 (+ .cse393 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse387 (select .cse389 .cse10))) (let ((.cse388 (mod (+ .cse387 1) 4)) (.cse390 (select .cse391 .cse36))) (or (< 0 (+ .cse386 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse387) (= .cse388 0) (= (+ (select .cse389 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse388) (= .cse390 (select .cse391 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse392 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse390)) (< 0 (+ 2 .cse387)) (= .cse393 0)))))))))))))))) is different from true [2024-05-08 02:35:00,402 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse77 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse76 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse78 (select .cse77 .cse76))) (let ((.cse396 (mod (+ .cse78 1) 4))) (let ((.cse394 (+ .cse78 2)) (.cse395 (= .cse396 0)) (.cse397 (select .cse77 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse68 (and (<= .cse394 0) (not .cse395) (= .cse396 (+ 4 .cse397)))) (.cse69 (and (or (< 0 .cse394) .cse395) (= .cse396 .cse397))) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse105 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (or .cse68 .cse69 (let ((.cse70 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse72 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse75 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse73 (+ (select .cse75 .cse76) 1))) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse75 .cse76 (mod .cse73 4))))) (or (not (= .cse70 (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (< .cse73 0) (let ((.cse74 (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse74 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse74 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse79 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse79 .cse76 0)))) (or (not (= (mod (+ (select .cse79 .cse76) 1) 4) 0)) (not (= .cse70 (select (select .cse80 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72))) (let ((.cse81 (select .cse80 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse81 .cse18) (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse82 (select .cse86 .cse76))) (let ((.cse83 (mod (+ .cse82 1) 4))) (let ((.cse85 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse86 .cse76 (+ .cse83 (- 4)))))) (or (< 0 (+ 2 .cse82)) (= .cse83 0) (let ((.cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse84 .cse18))) (not (= .cse70 (select (select .cse85 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse72)))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse89 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse89 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse93 (select .cse89 .cse10))) (let ((.cse87 (mod (+ .cse93 1) 4)) (.cse91 (select .cse90 .cse18))) (or (= .cse87 0) (not (= (mod (+ (select .cse88 .cse10) 1) 4) 0)) (= (+ (select .cse89 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse87) (= (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse91)) (< 0 (+ 2 .cse93))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse100 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse99 (select .cse100 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse96 (store .cse99 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse97 (select (store .cse100 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse94 (select .cse99 .cse10))) (let ((.cse95 (+ .cse94 1)) (.cse98 (select .cse97 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse94) (< .cse95 0) (not (= (mod (+ (select .cse96 .cse10) 1) 4) 0)) (= (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98) (= (select .cse99 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse95 4)) (not (= (select (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse98))))))))) (let ((.cse107 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse101 (select .cse107 .cse10))) (let ((.cse118 (mod (+ .cse101 1) 4))) (let ((.cse116 (+ .cse101 2)) (.cse119 (= .cse118 0)) (.cse117 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse106 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse104 (+ (select .cse106 .cse10) 1))) (let ((.cse102 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse106 .cse10 (mod .cse104 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse103 (select .cse102 .cse18))) (or (= (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse103) (< .cse104 0) (not (= .cse105 .cse103)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse110 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse109 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse110 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse108 (select .cse109 .cse18))) (or (= .cse108 (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse110 .cse10) 1) 4) 0)) (not (= .cse105 .cse108))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse115 (store .cse107 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse113 (select .cse115 .cse10))) (let ((.cse112 (mod (+ .cse113 1) 4))) (let ((.cse114 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse115 .cse10 (+ (- 4) .cse112))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse111 (select .cse114 .cse18))) (or (not (= .cse111 .cse105)) (= .cse112 0) (< 0 (+ 2 .cse113)) (= .cse111 (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse116 0) (= (+ .cse117 4) .cse118) (not .cse119)) (and (or (< 0 .cse116) .cse119) (= .cse117 .cse118))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse126 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse126 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (select (store .cse126 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse120 (select .cse127 .cse10))) (let ((.cse122 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse123 (mod (+ .cse120 1) 4)) (.cse125 (select .cse124 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse120) (not (= (mod (+ (select .cse121 .cse10) 1) 4) 0)) (= (+ .cse122 4) .cse123) (= (select .cse124 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125) (= .cse122 .cse123) (not (= (select (select .cse126 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse125))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse131 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse135 (select .cse131 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse132 (store .cse135 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse130 (select .cse135 .cse10)) (.cse129 (select (store .cse131 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse132 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse128 (select .cse129 .cse8)) (.cse133 (select .cse135 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse134 (mod (+ .cse130 1) 4))) (or (= .cse128 (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse130) (not (= .cse128 (select (select .cse131 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse132 .cse10) 1) 4) 0)) (= (+ .cse133 4) .cse134) (= .cse133 .cse134)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse142 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse142 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse138 (select .cse142 .cse10)) (.cse137 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse136 (select .cse137 .cse8)) (.cse139 (+ .cse138 1))) (or (= .cse136 (select .cse137 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse138) (< .cse139 0) (not (= .cse136 (select (select .cse140 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse141 .cse10) 1) 4) 0)) (= (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse139 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse147 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse146 (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse150 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (+ (select .cse150 .cse10) 1))) (let ((.cse149 (select (store .cse147 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse150 .cse10 (mod .cse143 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse144 (select .cse146 .cse10))) (let ((.cse145 (+ .cse144 1)) (.cse148 (select .cse149 .cse36))) (or (< .cse143 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse144) (< .cse145 0) (= (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse145 4)) (not (= (select (select .cse147 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse148)) (= (select .cse149 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse148))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse155 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse159 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse160 (store .cse159 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse151 (select .cse160 .cse10))) (let ((.cse158 (mod (+ .cse151 1) 4))) (let ((.cse152 (select .cse159 .cse10)) (.cse154 (select (store .cse155 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse160 .cse10 (+ .cse158 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse153 (select .cse154 .cse8)) (.cse156 (select .cse159 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse157 (mod (+ .cse152 1) 4))) (or (< 0 (+ .cse151 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse152) (= .cse153 (select .cse154 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse153 (select (select .cse155 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse156 4) .cse157) (= .cse156 .cse157) (= .cse158 0)))))))))) (let ((.cse166 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse165 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse161 (select .cse166 .cse165))) (let ((.cse179 (mod (+ .cse161 1) 4))) (let ((.cse176 (+ 2 .cse161)) (.cse178 (select .cse166 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse177 (= .cse179 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse162 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse164 .cse165 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse162 .cse18))) (or (= (select .cse162 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse163) (not (= .cse105 .cse163)) (not (= (mod (+ (select .cse164 .cse165) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse170 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (+ (select .cse170 .cse165) 1))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse170 .cse165 (mod .cse169 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 .cse18))) (or (not (= .cse167 .cse105)) (= .cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse169 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse161) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse175 (store .cse166 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (select .cse175 .cse165))) (let ((.cse172 (mod (+ .cse171 1) 4))) (let ((.cse174 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse175 .cse165 (+ .cse172 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse173 (select .cse174 .cse18))) (or (< 0 (+ 2 .cse171)) (= .cse172 0) (= .cse173 (select .cse174 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse173 .cse105)))))))))))) (and (or (< 0 .cse176) .cse177) (= .cse178 .cse179)) (and (<= .cse176 0) (= (+ .cse178 4) .cse179) (not .cse177))))))) (or .cse68 .cse69 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse181 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse182 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse181 .cse76 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse180 (select .cse182 .cse18))) (or (not (= .cse180 .cse105)) (not (= (mod (+ (select .cse181 .cse76) 1) 4) 0)) (= .cse180 (select .cse182 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse186 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (+ (select .cse186 .cse76) 1))) (let ((.cse185 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse186 .cse76 (mod .cse183 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse184 (select .cse185 .cse18))) (or (< .cse183 0) (not (= .cse105 .cse184)) (= (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse184))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse187 (select .cse191 .cse76))) (let ((.cse188 (mod (+ .cse187 1) 4))) (let ((.cse189 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse191 .cse76 (+ .cse188 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse189 .cse18))) (or (< 0 (+ 2 .cse187)) (= .cse188 0) (= (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190) (not (= .cse105 .cse190))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse195 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse194 (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse199 (store .cse194 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (+ (select .cse199 .cse10) 1))) (let ((.cse197 (select (store .cse195 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse199 .cse10 (mod .cse192 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse198 (select .cse194 .cse10))) (let ((.cse193 (mod (+ .cse198 1) 4)) (.cse196 (select .cse197 .cse36))) (or (< .cse192 0) (= .cse193 0) (= (+ (select .cse194 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse193) (not (= (select (select .cse195 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196)) (= (select .cse197 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse196) (< 0 (+ 2 .cse198)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse205 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse206 (store .cse205 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse202 (+ (select .cse206 .cse10) 1))) (let ((.cse204 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse206 .cse10 (mod .cse202 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse203 (select .cse205 .cse10)) (.cse201 (select .cse204 .cse8))) (or (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse201)) (< .cse202 0) (not (= (mod (+ .cse203 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse203) (= (select .cse204 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse201) (= (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse212 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse211 (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse208 (store .cse211 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (select (store .cse212 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse208 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse207 (select .cse211 .cse10)) (.cse210 (select .cse209 .cse36))) (or (not (= (mod (+ .cse207 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse207) (not (= (mod (+ (select .cse208 .cse10) 1) 4) 0)) (= (select .cse209 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse210) (= (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse210))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse218 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse219 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (store .cse219 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse213 (select .cse221 .cse10))) (let ((.cse220 (mod (+ .cse213 1) 4))) (let ((.cse214 (select .cse219 .cse10)) (.cse216 (select (store .cse218 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse221 .cse10 (+ .cse220 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse215 (select .cse216 .cse18)) (.cse217 (mod (+ .cse214 1) 4))) (or (< 0 (+ .cse213 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse214) (= .cse215 (select .cse216 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse217 0) (not (= (select (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse215)) (= (+ (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse217) (< 0 (+ 2 .cse214)) (= .cse220 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse227 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse226 (store .cse227 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse223 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse224 (select .cse227 .cse10)) (.cse222 (select .cse223 .cse8))) (or (= .cse222 (select .cse223 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse224 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse224) (not (= .cse222 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse226 .cse10) 1) 4) 0)) (= (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse228 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse234 (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse235 (store .cse234 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse230 (+ (select .cse235 .cse10) 1))) (let ((.cse231 (select .cse234 .cse10)) (.cse233 (select (store .cse228 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse235 .cse10 (mod .cse230 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse229 (select .cse233 .cse8)) (.cse232 (+ .cse231 1))) (or (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse229)) (< .cse230 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse231) (< .cse232 0) (= (select .cse233 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse229) (= (select .cse234 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse232 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse238 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse240 (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse242 (store .cse240 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse236 (+ (select .cse242 .cse10) 1))) (let ((.cse241 (select (store .cse238 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse242 .cse10 (mod .cse236 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse237 (select .cse240 .cse10)) (.cse239 (select .cse241 .cse36))) (or (< .cse236 0) (not (= (mod (+ .cse237 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse237) (not (= (select (select .cse238 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse239)) (= (select .cse240 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse241 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse239))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse249 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse250 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse251 (store .cse250 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse243 (+ (select .cse251 .cse10) 1))) (let ((.cse248 (select (store .cse249 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse251 .cse10 (mod .cse243 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse244 (select .cse250 .cse10))) (let ((.cse245 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse246 (mod (+ .cse244 1) 4)) (.cse247 (select .cse248 .cse18))) (or (< .cse243 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse244) (= (+ .cse245 4) .cse246) (= .cse245 .cse246) (= .cse247 (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse247 (select (select .cse249 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse256 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse259 (select .cse256 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse260 (store .cse259 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (+ (select .cse260 .cse10) 1))) (let ((.cse258 (select (store .cse256 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse260 .cse10 (mod .cse252 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse253 (select .cse259 .cse10))) (let ((.cse254 (select .cse259 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse255 (mod (+ .cse253 1) 4)) (.cse257 (select .cse258 .cse36))) (or (< .cse252 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse253) (= (+ .cse254 4) .cse255) (= .cse254 .cse255) (not (= (select (select .cse256 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse257)) (= (select .cse258 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse257))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse266 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse263 (select .cse266 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse262 (store .cse263 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (select (store .cse266 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse262 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse261 (select .cse263 .cse10)) (.cse265 (select .cse264 .cse18))) (or (not (= (mod (+ .cse261 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse261) (not (= (mod (+ (select .cse262 .cse10) 1) 4) 0)) (= (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse265) (not (= (select (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse265))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse270 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse272 (select .cse270 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse271 (store .cse272 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (select .cse272 .cse10)) (.cse268 (select (store .cse270 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse271 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse268 .cse8)) (.cse269 (mod (+ .cse273 1) 4))) (or (= .cse267 (select .cse268 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse269 0) (not (= .cse267 (select (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse271 .cse10) 1) 4) 0)) (= (+ (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse269) (< 0 (+ 2 .cse273))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse279 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse276 (select .cse279 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse280 (store .cse276 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (+ (select .cse280 .cse10) 1))) (let ((.cse278 (select (store .cse279 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse280 .cse10 (mod .cse274 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse275 (select .cse276 .cse10)) (.cse277 (select .cse278 .cse18))) (or (< .cse274 0) (not (= (mod (+ .cse275 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse275) (= (select .cse276 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse277 (select .cse278 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse277 (select (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse286 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse287 (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse289 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse281 (select .cse289 .cse10))) (let ((.cse288 (mod (+ .cse281 1) 4))) (let ((.cse282 (select .cse287 .cse10)) (.cse284 (select (store .cse286 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse289 .cse10 (+ .cse288 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse283 (select .cse284 .cse18)) (.cse285 (+ .cse282 1))) (or (< 0 (+ .cse281 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse282) (= .cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse285 0) (not (= (select (select .cse286 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse283)) (= (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse285 4)) (= .cse288 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse295 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse296 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse298 (store .cse296 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse290 (select .cse298 .cse10))) (let ((.cse297 (mod (+ .cse290 1) 4))) (let ((.cse291 (select .cse296 .cse10)) (.cse293 (select (store .cse295 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse298 .cse10 (+ .cse297 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse292 (select .cse293 .cse8)) (.cse294 (+ .cse291 1))) (or (< 0 (+ .cse290 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse291) (= .cse292 (select .cse293 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse294 0) (not (= .cse292 (select (select .cse295 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse294 4)) (= .cse297 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse305 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse301 (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse306 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse299 (+ (select .cse306 .cse10) 1))) (let ((.cse303 (select (store .cse305 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse306 .cse10 (mod .cse299 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse304 (select .cse301 .cse10))) (let ((.cse300 (mod (+ .cse304 1) 4)) (.cse302 (select .cse303 .cse18))) (or (< .cse299 0) (= .cse300 0) (= (+ (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse300) (= .cse302 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse304)) (not (= .cse302 (select (select .cse305 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse311 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse315 (select .cse311 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse316 (store .cse315 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse307 (select .cse316 .cse10))) (let ((.cse314 (mod (+ .cse307 1) 4))) (let ((.cse308 (select .cse315 .cse10)) (.cse310 (select (store .cse311 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse316 .cse10 (+ .cse314 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse310 .cse18)) (.cse312 (select .cse315 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse313 (mod (+ .cse308 1) 4))) (or (< 0 (+ .cse307 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse308) (= .cse309 (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (+ .cse312 4) .cse313) (= .cse312 .cse313) (= .cse314 0)))))))))) (or (let ((.cse318 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse319 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse322 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (+ (select .cse322 .cse76) 1))) (let ((.cse317 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse322 .cse76 (mod .cse320 4))))) (or (not (= (select (select .cse317 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (< .cse320 0) (let ((.cse321 (select .cse317 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse321 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse321 .cse18)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse323 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse324 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse323 .cse76 0)))) (or (not (= (mod (+ (select .cse323 .cse76) 1) 4) 0)) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (let ((.cse325 (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse325 .cse18) (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse330 (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (select .cse330 .cse76))) (let ((.cse327 (mod (+ .cse326 1) 4))) (let ((.cse328 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse330 .cse76 (+ .cse327 (- 4)))))) (or (< 0 (+ 2 .cse326)) (= .cse327 0) (not (= (select (select .cse328 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse318) .cse319)) (let ((.cse329 (select .cse328 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse329 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse329 .cse18))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse78))))) .cse68 .cse69) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse331 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse331 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse333 (+ (select .cse339 .cse10) 1))) (let ((.cse334 (select .cse338 .cse10)) (.cse337 (select (store .cse331 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse10 (mod .cse333 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse332 (select .cse337 .cse8)) (.cse335 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse336 (mod (+ .cse334 1) 4))) (or (not (= (select (select .cse331 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse332)) (< .cse333 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse334) (= (+ .cse335 4) .cse336) (= (select .cse337 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse332) (= .cse335 .cse336))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse346 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse343 (select .cse346 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse347 (store .cse343 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse340 (+ (select .cse347 .cse10) 1))) (let ((.cse345 (select (store .cse346 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse347 .cse10 (mod .cse340 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse341 (select .cse343 .cse10))) (let ((.cse342 (+ .cse341 1)) (.cse344 (select .cse345 .cse18))) (or (< .cse340 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse341) (< .cse342 0) (= (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse342 4)) (= .cse344 (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse344 (select (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse348 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse352 (select .cse348 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse355 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (+ (select .cse355 .cse10) 1))) (let ((.cse353 (select (store .cse348 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse355 .cse10 (mod .cse350 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse354 (select .cse352 .cse10))) (let ((.cse351 (mod (+ .cse354 1) 4)) (.cse349 (select .cse353 .cse8))) (or (not (= (select (select .cse348 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse349)) (< .cse350 0) (= .cse351 0) (= (+ (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse351) (= (select .cse353 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse349) (< 0 (+ 2 .cse354)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse362 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse364 (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse365 (store .cse364 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse356 (select .cse365 .cse10))) (let ((.cse363 (mod (+ .cse356 1) 4))) (let ((.cse361 (select (store .cse362 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse365 .cse10 (+ .cse363 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse357 (select .cse364 .cse10))) (let ((.cse358 (select .cse364 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse359 (mod (+ .cse357 1) 4)) (.cse360 (select .cse361 .cse36))) (or (< 0 (+ .cse356 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse357) (= (+ .cse358 4) .cse359) (= .cse358 .cse359) (= .cse360 (select .cse361 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse360)) (= .cse363 0)))))))))) (let ((.cse372 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse371 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse373 (select .cse372 .cse371))) (let ((.cse384 (mod (+ .cse373 1) 4))) (let ((.cse381 (+ 2 .cse373)) (.cse382 (= .cse384 0)) (.cse383 (select .cse372 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse370 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse366 (select .cse370 .cse371))) (let ((.cse367 (mod (+ .cse366 1) 4))) (let ((.cse369 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse370 .cse371 (+ .cse367 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse368 (select .cse369 .cse18))) (or (< 0 (+ 2 .cse366)) (= .cse367 0) (= .cse368 (select .cse369 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse105 .cse368))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse374 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse376 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse374 .cse371 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse375 (select .cse376 .cse18))) (or (not (= (mod (+ (select .cse374 .cse371) 1) 4) 0)) (not (= .cse105 .cse375)) (= (select .cse376 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse380 (store .cse372 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse379 (+ (select .cse380 .cse371) 1))) (let ((.cse378 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse380 .cse371 (mod .cse379 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse377 (select .cse378 .cse18))) (or (not (= .cse105 .cse377)) (= .cse377 (select .cse378 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse379 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse373)))) (and (<= .cse381 0) (not .cse382) (= (+ .cse383 4) .cse384)) (and (or (< 0 .cse381) .cse382) (= .cse383 .cse384))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse391 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse388 (select .cse391 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse393 (store .cse388 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse385 (select .cse393 .cse10))) (let ((.cse392 (mod (+ .cse385 1) 4))) (let ((.cse390 (select (store .cse391 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse393 .cse10 (+ .cse392 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse386 (select .cse388 .cse10))) (let ((.cse387 (mod (+ .cse386 1) 4)) (.cse389 (select .cse390 .cse36))) (or (< 0 (+ .cse385 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse386) (= .cse387 0) (= (+ (select .cse388 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse387) (= .cse389 (select .cse390 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse391 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse389)) (< 0 (+ 2 .cse386)) (= .cse392 0)))))))))))))))) is different from true [2024-05-08 02:35:01,430 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 39 [2024-05-08 02:35:03,865 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 4 [2024-05-08 02:35:04,444 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-08 02:35:04,444 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2024-05-08 02:35:06,064 INFO L85 PathProgramCache]: Analyzing trace with hash 2146405875, now seen corresponding path program 1 times [2024-05-08 02:35:06,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:35:06,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:35:06,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:35:14,982 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:35:14,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:35:14,982 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:35:15,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:35:16,901 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:35:16,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2024-05-08 02:35:16,903 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=835, Invalid=9467, Unknown=0, NotChecked=0, Total=10302 [2024-05-08 02:35:45,616 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse86 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse36 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse6 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse9 (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse0 (select .cse9 .cse10))) (let ((.cse7 (mod (+ .cse0 1) 4))) (let ((.cse1 (select .cse6 .cse10)) (.cse3 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse9 .cse10 (+ .cse7 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse2 (select .cse3 .cse8)) (.cse4 (mod (+ .cse1 1) 4))) (or (< 0 (+ .cse0 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse1) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse4 0) (not (= .cse2 (select (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse4) (< 0 (+ 2 .cse1)) (= .cse7 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse15 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse16 (select .cse15 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse19 (store .cse16 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse11 (select .cse19 .cse10))) (let ((.cse17 (mod (+ .cse11 1) 4))) (let ((.cse14 (select (store .cse15 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse19 .cse10 (+ .cse17 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse12 (select .cse16 .cse10)) (.cse13 (select .cse14 .cse18))) (or (< 0 (+ .cse11 2)) (not (= (mod (+ .cse12 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse12) (= .cse13 (select .cse14 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13)) (= (select .cse16 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse17 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse26 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse27 (select .cse26 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse21 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select (store .cse26 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse21 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse20 (select .cse27 .cse10))) (let ((.cse22 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse23 (mod (+ .cse20 1) 4)) (.cse25 (select .cse24 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse20) (not (= (mod (+ (select .cse21 .cse10) 1) 4) 0)) (= (+ .cse22 4) .cse23) (= .cse22 .cse23) (= (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25) (not (= (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse25))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse34 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse31 (select .cse34 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse37 (store .cse31 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse28 (select .cse37 .cse10))) (let ((.cse35 (mod (+ .cse28 1) 4))) (let ((.cse33 (select (store .cse34 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse37 .cse10 (+ .cse35 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse29 (select .cse31 .cse10))) (let ((.cse30 (+ .cse29 1)) (.cse32 (select .cse33 .cse36))) (or (< 0 (+ .cse28 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse29) (< .cse30 0) (= (select .cse31 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse30 4)) (= .cse32 (select .cse33 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse32)) (= .cse35 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse43 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse40 (select .cse43 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse45 (store .cse40 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse38 (select .cse45 .cse10))) (let ((.cse44 (mod (+ .cse38 1) 4))) (let ((.cse42 (select (store .cse43 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse45 .cse10 (+ .cse44 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse39 (select .cse40 .cse10)) (.cse41 (select .cse42 .cse36))) (or (< 0 (+ .cse38 2)) (not (= (mod (+ .cse39 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse39) (= (select .cse40 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse41 (select .cse42 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse43 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse41)) (= .cse44 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse51 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse48 (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse47 (store .cse48 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse49 (select (store .cse51 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse47 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse52 (select .cse48 .cse10))) (let ((.cse46 (mod (+ .cse52 1) 4)) (.cse50 (select .cse49 .cse36))) (or (= .cse46 0) (not (= (mod (+ (select .cse47 .cse10) 1) 4) 0)) (= (+ (select .cse48 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse46) (= (select .cse49 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse50)) (< 0 (+ 2 .cse52))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse58 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse58 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse53 (select .cse60 .cse10))) (let ((.cse59 (mod (+ .cse53 1) 4))) (let ((.cse56 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse10 (+ .cse59 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse54 (select .cse58 .cse10)) (.cse55 (select .cse56 .cse8))) (or (< 0 (+ .cse53 2)) (not (= (mod (+ .cse54 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse54) (= .cse55 (select .cse56 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse55 (select (select .cse57 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse58 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse59 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse67 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse64 (select .cse67 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse63 (store .cse64 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse65 (select (store .cse67 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse61 (select .cse64 .cse10))) (let ((.cse62 (+ .cse61 1)) (.cse66 (select .cse65 .cse18))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse61) (< .cse62 0) (not (= (mod (+ (select .cse63 .cse10) 1) 4) 0)) (= (select .cse64 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse62 4)) (= (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (not (= (select (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse73 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse70 (select .cse73 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse69 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse71 (select (store .cse73 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse69 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse74 (select .cse70 .cse10))) (let ((.cse68 (mod (+ .cse74 1) 4)) (.cse72 (select .cse71 .cse18))) (or (= .cse68 0) (not (= (mod (+ (select .cse69 .cse10) 1) 4) 0)) (= (+ (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse68) (= (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72) (not (= (select (select .cse73 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse72)) (< 0 (+ 2 .cse74))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse81 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse80 (select .cse81 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse77 (store .cse80 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse78 (select (store .cse81 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse77 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse75 (select .cse80 .cse10))) (let ((.cse76 (+ .cse75 1)) (.cse79 (select .cse78 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse75) (< .cse76 0) (not (= (mod (+ (select .cse77 .cse10) 1) 4) 0)) (= (select .cse78 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79) (= (select .cse80 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse76 4)) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse79))))))))) (let ((.cse88 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse82 (select .cse88 .cse10))) (let ((.cse99 (mod (+ .cse82 1) 4))) (let ((.cse97 (+ .cse82 2)) (.cse100 (= .cse99 0)) (.cse98 (select .cse88 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse87 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (+ (select .cse87 .cse10) 1))) (let ((.cse83 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse87 .cse10 (mod .cse85 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse84 (select .cse83 .cse18))) (or (= (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse84) (< .cse85 0) (not (= .cse86 .cse84)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse91 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse91 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse89 (select .cse90 .cse18))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse91 .cse10) 1) 4) 0)) (not (= .cse86 .cse89))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse82) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse96 (store .cse88 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (select .cse96 .cse10))) (let ((.cse93 (mod (+ .cse94 1) 4))) (let ((.cse95 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse96 .cse10 (+ (- 4) .cse93))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse95 .cse18))) (or (not (= .cse92 .cse86)) (= .cse93 0) (< 0 (+ 2 .cse94)) (= .cse92 (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (and (<= .cse97 0) (= (+ .cse98 4) .cse99) (not .cse100)) (and (or (< 0 .cse97) .cse100) (= .cse98 .cse99))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse107 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse108 (select .cse107 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse102 (store .cse108 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse105 (select (store .cse107 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse102 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse101 (select .cse108 .cse10))) (let ((.cse103 (select .cse108 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse104 (mod (+ .cse101 1) 4)) (.cse106 (select .cse105 .cse36))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse101) (not (= (mod (+ (select .cse102 .cse10) 1) 4) 0)) (= (+ .cse103 4) .cse104) (= (select .cse105 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106) (= .cse103 .cse104) (not (= (select (select .cse107 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse106))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse112 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse116 (select .cse112 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse113 (store .cse116 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse111 (select .cse116 .cse10)) (.cse110 (select (store .cse112 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse113 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse109 (select .cse110 .cse8)) (.cse114 (select .cse116 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse115 (mod (+ .cse111 1) 4))) (or (= .cse109 (select .cse110 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse111) (not (= .cse109 (select (select .cse112 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse113 .cse10) 1) 4) 0)) (= (+ .cse114 4) .cse115) (= .cse114 .cse115)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse123 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse122 (store .cse123 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse119 (select .cse123 .cse10)) (.cse118 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse122 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse117 (select .cse118 .cse8)) (.cse120 (+ .cse119 1))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse119) (< .cse120 0) (not (= .cse117 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse122 .cse10) 1) 4) 0)) (= (select .cse123 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse120 4))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse128 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse127 (select .cse128 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse124 (+ (select .cse131 .cse10) 1))) (let ((.cse130 (select (store .cse128 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse10 (mod .cse124 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse125 (select .cse127 .cse10))) (let ((.cse126 (+ .cse125 1)) (.cse129 (select .cse130 .cse36))) (or (< .cse124 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse125) (< .cse126 0) (= (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse126 4)) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129)) (= (select .cse130 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse129))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse136 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse140 (select .cse136 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse141 (store .cse140 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse132 (select .cse141 .cse10))) (let ((.cse139 (mod (+ .cse132 1) 4))) (let ((.cse133 (select .cse140 .cse10)) (.cse135 (select (store .cse136 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse141 .cse10 (+ .cse139 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse134 (select .cse135 .cse8)) (.cse137 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse138 (mod (+ .cse133 1) 4))) (or (< 0 (+ .cse132 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse133) (= .cse134 (select .cse135 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse134 (select (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (+ .cse137 4) .cse138) (= .cse137 .cse138) (= .cse139 0)))))))))) (let ((.cse147 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse146 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse142 (select .cse147 .cse146))) (let ((.cse160 (mod (+ .cse142 1) 4))) (let ((.cse157 (+ 2 .cse142)) (.cse159 (select .cse147 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse158 (= .cse160 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse145 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse143 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse145 .cse146 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse144 (select .cse143 .cse18))) (or (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse144) (not (= .cse86 .cse144)) (not (= (mod (+ (select .cse145 .cse146) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse151 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (+ (select .cse151 .cse146) 1))) (let ((.cse149 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse151 .cse146 (mod .cse150 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse148 (select .cse149 .cse18))) (or (not (= .cse148 .cse86)) (= .cse148 (select .cse149 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse150 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse142) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse156 (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse152 (select .cse156 .cse146))) (let ((.cse153 (mod (+ .cse152 1) 4))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse156 .cse146 (+ .cse153 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse154 (select .cse155 .cse18))) (or (< 0 (+ 2 .cse152)) (= .cse153 0) (= .cse154 (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse154 .cse86)))))))))))) (and (or (< 0 .cse157) .cse158) (= .cse159 .cse160)) (and (<= .cse157 0) (= (+ .cse159 4) .cse160) (not .cse158))))))) (let ((.cse169 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse170 (select .cse169 .cse167))) (let ((.cse163 (mod (+ .cse170 1) 4))) (let ((.cse161 (+ .cse170 2)) (.cse162 (= .cse163 0)) (.cse164 (select .cse169 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (or (and (<= .cse161 0) (not .cse162) (= .cse163 (+ 4 .cse164))) (and (or (< 0 .cse161) .cse162) (= .cse163 .cse164)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse166 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse166 .cse167 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse168 .cse18))) (or (not (= .cse165 .cse86)) (not (= (mod (+ (select .cse166 .cse167) 1) 4) 0)) (= .cse165 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse174 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (+ (select .cse174 .cse167) 1))) (let ((.cse173 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse174 .cse167 (mod .cse171 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse172 (select .cse173 .cse18))) (or (< .cse171 0) (not (= .cse86 .cse172)) (= (select .cse173 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse172))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse170) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse179 (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse175 (select .cse179 .cse167))) (let ((.cse176 (mod (+ .cse175 1) 4))) (let ((.cse177 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse179 .cse167 (+ .cse176 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse178 (select .cse177 .cse18))) (or (< 0 (+ 2 .cse175)) (= .cse176 0) (= (select .cse177 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse178) (not (= .cse86 .cse178))))))))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse183 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse182 (select .cse183 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse180 (+ (select .cse187 .cse10) 1))) (let ((.cse185 (select (store .cse183 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse10 (mod .cse180 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse186 (select .cse182 .cse10))) (let ((.cse181 (mod (+ .cse186 1) 4)) (.cse184 (select .cse185 .cse36))) (or (< .cse180 0) (= .cse181 0) (= (+ (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse181) (not (= (select (select .cse183 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse184)) (= (select .cse185 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse184) (< 0 (+ 2 .cse186)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse188 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse193 (select .cse188 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse194 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse190 (+ (select .cse194 .cse10) 1))) (let ((.cse192 (select (store .cse188 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse194 .cse10 (mod .cse190 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse191 (select .cse193 .cse10)) (.cse189 (select .cse192 .cse8))) (or (not (= (select (select .cse188 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse189)) (< .cse190 0) (not (= (mod (+ .cse191 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse191) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse189) (= (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse199 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse196 (store .cse199 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse197 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse196 .cse10 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse195 (select .cse199 .cse10)) (.cse198 (select .cse197 .cse36))) (or (not (= (mod (+ .cse195 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse195) (not (= (mod (+ (select .cse196 .cse10) 1) 4) 0)) (= (select .cse197 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198) (= (select .cse199 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse206 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse207 (select .cse206 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse209 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse201 (select .cse209 .cse10))) (let ((.cse208 (mod (+ .cse201 1) 4))) (let ((.cse202 (select .cse207 .cse10)) (.cse204 (select (store .cse206 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse209 .cse10 (+ .cse208 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse203 (select .cse204 .cse18)) (.cse205 (mod (+ .cse202 1) 4))) (or (< 0 (+ .cse201 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse202) (= .cse203 (select .cse204 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (= .cse205 0) (not (= (select (select .cse206 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse203)) (= (+ (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse205) (< 0 (+ 2 .cse202)) (= .cse208 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse215 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse214 (store .cse215 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse211 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse214 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse212 (select .cse215 .cse10)) (.cse210 (select .cse211 .cse8))) (or (= .cse210 (select .cse211 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse212 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse212) (not (= .cse210 (select (select .cse213 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse214 .cse10) 1) 4) 0)) (= (select .cse215 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse216 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse222 (select .cse216 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse223 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse218 (+ (select .cse223 .cse10) 1))) (let ((.cse219 (select .cse222 .cse10)) (.cse221 (select (store .cse216 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse223 .cse10 (mod .cse218 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse217 (select .cse221 .cse8)) (.cse220 (+ .cse219 1))) (or (not (= (select (select .cse216 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse217)) (< .cse218 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse219) (< .cse220 0) (= (select .cse221 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse217) (= (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse220 4)))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse228 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse230 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (+ (select .cse230 .cse10) 1))) (let ((.cse229 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse230 .cse10 (mod .cse224 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse225 (select .cse228 .cse10)) (.cse227 (select .cse229 .cse36))) (or (< .cse224 0) (not (= (mod (+ .cse225 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse225) (not (= (select (select .cse226 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse227)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse229 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse227))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse237 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse238 (select .cse237 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse239 (store .cse238 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse231 (+ (select .cse239 .cse10) 1))) (let ((.cse236 (select (store .cse237 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse239 .cse10 (mod .cse231 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse232 (select .cse238 .cse10))) (let ((.cse233 (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse234 (mod (+ .cse232 1) 4)) (.cse235 (select .cse236 .cse18))) (or (< .cse231 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse232) (= (+ .cse233 4) .cse234) (= .cse233 .cse234) (= .cse235 (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse235 (select (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse244 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse247 (select .cse244 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse248 (store .cse247 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse240 (+ (select .cse248 .cse10) 1))) (let ((.cse246 (select (store .cse244 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse248 .cse10 (mod .cse240 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse241 (select .cse247 .cse10))) (let ((.cse242 (select .cse247 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse243 (mod (+ .cse241 1) 4)) (.cse245 (select .cse246 .cse36))) (or (< .cse240 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse241) (= (+ .cse242 4) .cse243) (= .cse242 .cse243) (not (= (select (select .cse244 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse245)) (= (select .cse246 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse245))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse254 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse251 (select .cse254 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse251 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (select (store .cse254 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse10 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse249 (select .cse251 .cse10)) (.cse253 (select .cse252 .cse18))) (or (not (= (mod (+ .cse249 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse249) (not (= (mod (+ (select .cse250 .cse10) 1) 4) 0)) (= (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse253) (not (= (select (select .cse254 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse253))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse260 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse259 (store .cse260 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse261 (select .cse260 .cse10)) (.cse256 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse259 .cse10 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse255 (select .cse256 .cse8)) (.cse257 (mod (+ .cse261 1) 4))) (or (= .cse255 (select .cse256 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse257 0) (not (= .cse255 (select (select .cse258 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse259 .cse10) 1) 4) 0)) (= (+ (select .cse260 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse257) (< 0 (+ 2 .cse261))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse264 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse268 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse262 (+ (select .cse268 .cse10) 1))) (let ((.cse266 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse268 .cse10 (mod .cse262 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse263 (select .cse264 .cse10)) (.cse265 (select .cse266 .cse18))) (or (< .cse262 0) (not (= (mod (+ .cse263 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse263) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0) (= .cse265 (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse265 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse274 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse275 (select .cse274 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse277 (store .cse275 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (select .cse277 .cse10))) (let ((.cse276 (mod (+ .cse269 1) 4))) (let ((.cse270 (select .cse275 .cse10)) (.cse272 (select (store .cse274 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse277 .cse10 (+ .cse276 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse271 (select .cse272 .cse18)) (.cse273 (+ .cse270 1))) (or (< 0 (+ .cse269 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse270) (= .cse271 (select .cse272 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse273 0) (not (= (select (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse271)) (= (select .cse275 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse273 4)) (= .cse276 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse283 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse284 (select .cse283 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse286 (store .cse284 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse278 (select .cse286 .cse10))) (let ((.cse285 (mod (+ .cse278 1) 4))) (let ((.cse279 (select .cse284 .cse10)) (.cse281 (select (store .cse283 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse286 .cse10 (+ .cse285 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse280 (select .cse281 .cse8)) (.cse282 (+ .cse279 1))) (or (< 0 (+ .cse278 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse279) (= .cse280 (select .cse281 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (< .cse282 0) (not (= .cse280 (select (select .cse283 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse284 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse282 4)) (= .cse285 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse293 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse289 (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse294 (store .cse289 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse287 (+ (select .cse294 .cse10) 1))) (let ((.cse291 (select (store .cse293 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse294 .cse10 (mod .cse287 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse292 (select .cse289 .cse10))) (let ((.cse288 (mod (+ .cse292 1) 4)) (.cse290 (select .cse291 .cse18))) (or (< .cse287 0) (= .cse288 0) (= (+ (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse288) (= .cse290 (select .cse291 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse292)) (not (= .cse290 (select (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse299 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse303 (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse304 (store .cse303 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse295 (select .cse304 .cse10))) (let ((.cse302 (mod (+ .cse295 1) 4))) (let ((.cse296 (select .cse303 .cse10)) (.cse298 (select (store .cse299 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse304 .cse10 (+ .cse302 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse297 (select .cse298 .cse18)) (.cse300 (select .cse303 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse301 (mod (+ .cse296 1) 4))) (or (< 0 (+ .cse295 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse296) (= .cse297 (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (select (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297)) (= (+ .cse300 4) .cse301) (= .cse300 .cse301) (= .cse302 0)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse305 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse312 (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse313 (store .cse312 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse307 (+ (select .cse313 .cse10) 1))) (let ((.cse308 (select .cse312 .cse10)) (.cse311 (select (store .cse305 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse313 .cse10 (mod .cse307 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse306 (select .cse311 .cse8)) (.cse309 (select .cse312 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse310 (mod (+ .cse308 1) 4))) (or (not (= (select (select .cse305 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse306)) (< .cse307 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse308) (= (+ .cse309 4) .cse310) (= (select .cse311 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse306) (= .cse309 .cse310))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse320 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse317 (select .cse320 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse321 (store .cse317 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (+ (select .cse321 .cse10) 1))) (let ((.cse319 (select (store .cse320 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse321 .cse10 (mod .cse314 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse315 (select .cse317 .cse10))) (let ((.cse316 (+ .cse315 1)) (.cse318 (select .cse319 .cse18))) (or (< .cse314 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse315) (< .cse316 0) (= (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse316 4)) (= .cse318 (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse318 (select (select .cse320 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse326 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse329 (store .cse326 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse324 (+ (select .cse329 .cse10) 1))) (let ((.cse327 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse329 .cse10 (mod .cse324 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse328 (select .cse326 .cse10))) (let ((.cse325 (mod (+ .cse328 1) 4)) (.cse323 (select .cse327 .cse8))) (or (not (= (select (select .cse322 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse323)) (< .cse324 0) (= .cse325 0) (= (+ (select .cse326 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse325) (= (select .cse327 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse323) (< 0 (+ 2 .cse328)))))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse336 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse338 (select .cse336 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse338 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse330 (select .cse339 .cse10))) (let ((.cse337 (mod (+ .cse330 1) 4))) (let ((.cse335 (select (store .cse336 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse10 (+ .cse337 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse331 (select .cse338 .cse10))) (let ((.cse332 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse333 (mod (+ .cse331 1) 4)) (.cse334 (select .cse335 .cse36))) (or (< 0 (+ .cse330 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse331) (= (+ .cse332 4) .cse333) (= .cse332 .cse333) (= .cse334 (select .cse335 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse334)) (= .cse337 0)))))))))) (let ((.cse346 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse345 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse347 (select .cse346 .cse345))) (let ((.cse358 (mod (+ .cse347 1) 4))) (let ((.cse355 (+ 2 .cse347)) (.cse356 (= .cse358 0)) (.cse357 (select .cse346 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse344 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse340 (select .cse344 .cse345))) (let ((.cse341 (mod (+ .cse340 1) 4))) (let ((.cse343 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse344 .cse345 (+ .cse341 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse342 (select .cse343 .cse18))) (or (< 0 (+ 2 .cse340)) (= .cse341 0) (= .cse342 (select .cse343 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse86 .cse342))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse348 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse348 .cse345 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse349 (select .cse350 .cse18))) (or (not (= (mod (+ (select .cse348 .cse345) 1) 4) 0)) (not (= .cse86 .cse349)) (= (select .cse350 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse349)))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse354 (store .cse346 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse353 (+ (select .cse354 .cse345) 1))) (let ((.cse352 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse354 .cse345 (mod .cse353 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse351 (select .cse352 .cse18))) (or (not (= .cse86 .cse351)) (= .cse351 (select .cse352 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse353 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse347)))) (and (<= .cse355 0) (not .cse356) (= (+ .cse357 4) .cse358)) (and (or (< 0 .cse355) .cse356) (= .cse357 .cse358))))))) (forall ((v_ArrVal_1634 (Array Int Int)) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| Int)) (let ((.cse365 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_1634))) (let ((.cse362 (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67|)) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse359 (select .cse367 .cse10))) (let ((.cse366 (mod (+ .cse359 1) 4))) (let ((.cse364 (select (store .cse365 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse10 (+ .cse366 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse360 (select .cse362 .cse10))) (let ((.cse361 (mod (+ .cse360 1) 4)) (.cse363 (select .cse364 .cse36))) (or (< 0 (+ .cse359 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_67| .cse360) (= .cse361 0) (= (+ (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) .cse361) (= .cse363 (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse363)) (< 0 (+ 2 .cse360)) (= .cse366 0)))))))))))) is different from true [2024-05-08 02:35:45,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:35:45,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:35:45,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:35:45,677 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-05-08 02:35:45,872 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable40,SelfDestructingSolverStorable41,SelfDestructingSolverStorable42,SelfDestructingSolverStorable43,4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-08 02:35:45,873 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:35:45,873 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:35:45,873 INFO L85 PathProgramCache]: Analyzing trace with hash 1348064810, now seen corresponding path program 1 times [2024-05-08 02:35:45,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:35:45,873 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1573264033] [2024-05-08 02:35:45,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:35:45,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:35:45,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:35:50,365 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:35:50,365 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:35:50,365 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1573264033] [2024-05-08 02:35:50,365 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1573264033] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-08 02:35:50,365 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-08 02:35:50,365 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2024-05-08 02:35:50,366 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [927628947] [2024-05-08 02:35:50,366 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-08 02:35:50,366 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2024-05-08 02:35:50,366 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-08 02:35:50,603 INFO L349 Elim1Store]: treesize reduction 12, result has 7.7 percent of original size [2024-05-08 02:35:50,604 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 27 [2024-05-08 02:35:50,956 INFO L85 PathProgramCache]: Analyzing trace with hash 569483278, now seen corresponding path program 3 times [2024-05-08 02:35:50,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:35:50,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:35:50,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:35:51,945 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:35:51,945 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:35:51,945 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:35:51,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:35:52,019 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:35:52,499 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-05-08 02:35:52,513 INFO L349 Elim1Store]: treesize reduction 20, result has 4.8 percent of original size [2024-05-08 02:35:52,513 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 90 treesize of output 70 [2024-05-08 02:35:52,852 INFO L85 PathProgramCache]: Analyzing trace with hash 356184086, now seen corresponding path program 1 times [2024-05-08 02:35:52,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:35:52,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:35:52,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:35:52,864 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-05-08 02:35:52,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:35:52,883 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2024-05-08 02:35:52,884 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=129, Invalid=1677, Unknown=0, NotChecked=0, Total=1806 [2024-05-08 02:35:52,884 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:35:52,884 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-08 02:35:52,884 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 42 states, 41 states have (on average 4.560975609756097) internal successors, (187), 42 states have internal predecessors, (187), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-08 02:35:52,884 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:35:52,884 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:35:52,884 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:35:52,884 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:36:18,473 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.40s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:36:22,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:36:22,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:36:22,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:36:22,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2024-05-08 02:36:22,399 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable44,SelfDestructingSolverStorable45,SelfDestructingSolverStorable46,SelfDestructingSolverStorable47 [2024-05-08 02:36:22,399 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:36:22,399 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:36:22,399 INFO L85 PathProgramCache]: Analyzing trace with hash -491030938, now seen corresponding path program 1 times [2024-05-08 02:36:22,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:36:22,399 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1737633403] [2024-05-08 02:36:22,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:36:22,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:36:22,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:36:24,682 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:36:24,682 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:36:24,682 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1737633403] [2024-05-08 02:36:24,682 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1737633403] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-08 02:36:24,682 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-08 02:36:24,682 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2024-05-08 02:36:24,683 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [597922219] [2024-05-08 02:36:24,683 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-08 02:36:24,683 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2024-05-08 02:36:24,683 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-08 02:36:25,139 INFO L349 Elim1Store]: treesize reduction 12, result has 7.7 percent of original size [2024-05-08 02:36:25,139 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 96 treesize of output 80 [2024-05-08 02:36:26,001 INFO L85 PathProgramCache]: Analyzing trace with hash 356184086, now seen corresponding path program 2 times [2024-05-08 02:36:26,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:36:26,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:36:26,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:36:26,013 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-05-08 02:36:26,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:36:26,038 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2024-05-08 02:36:26,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=555, Unknown=0, NotChecked=0, Total=650 [2024-05-08 02:36:26,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:36:26,039 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-08 02:36:26,039 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 5.8) internal successors, (145), 25 states have internal predecessors, (145), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-08 02:36:26,039 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:36:26,039 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:36:26,039 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:36:26,039 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 48 states. [2024-05-08 02:36:26,039 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:36:35,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:36:35,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:36:35,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:36:35,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2024-05-08 02:36:35,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2024-05-08 02:36:35,306 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable48,SelfDestructingSolverStorable49 [2024-05-08 02:36:35,306 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:36:35,306 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:36:35,306 INFO L85 PathProgramCache]: Analyzing trace with hash 357556893, now seen corresponding path program 1 times [2024-05-08 02:36:35,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:36:35,306 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755593078] [2024-05-08 02:36:35,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:36:35,306 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:36:35,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:36:44,458 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:36:44,458 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:36:44,458 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [755593078] [2024-05-08 02:36:44,458 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [755593078] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-08 02:36:44,458 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-08 02:36:44,458 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [46] imperfect sequences [] total 46 [2024-05-08 02:36:44,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1452040071] [2024-05-08 02:36:44,459 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-08 02:36:44,459 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 46 states [2024-05-08 02:36:44,459 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-08 02:36:45,048 INFO L349 Elim1Store]: treesize reduction 39, result has 2.5 percent of original size [2024-05-08 02:36:45,048 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 111 treesize of output 87 [2024-05-08 02:36:45,620 INFO L85 PathProgramCache]: Analyzing trace with hash 356184086, now seen corresponding path program 3 times [2024-05-08 02:36:45,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:36:45,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:36:45,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:36:45,674 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-05-08 02:36:45,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-05-08 02:36:45,700 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2024-05-08 02:36:45,701 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=2048, Unknown=0, NotChecked=0, Total=2162 [2024-05-08 02:36:45,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:36:45,701 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-08 02:36:45,701 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 46 states, 46 states have (on average 3.217391304347826) internal successors, (148), 46 states have internal predecessors, (148), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-08 02:36:45,701 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:36:45,701 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:36:45,701 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:36:45,701 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 48 states. [2024-05-08 02:36:45,701 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 22 states. [2024-05-08 02:36:45,702 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:37:16,576 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:37:16,576 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:37:16,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:37:16,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2024-05-08 02:37:16,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2024-05-08 02:37:16,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 52 states. [2024-05-08 02:37:16,577 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable50,SelfDestructingSolverStorable51 [2024-05-08 02:37:16,577 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:37:16,577 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:37:16,577 INFO L85 PathProgramCache]: Analyzing trace with hash 1315832491, now seen corresponding path program 1 times [2024-05-08 02:37:16,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:37:16,577 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1116334018] [2024-05-08 02:37:16,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:37:16,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:37:16,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:37:20,490 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:37:20,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:37:20,490 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1116334018] [2024-05-08 02:37:20,490 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1116334018] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-08 02:37:20,490 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [168200327] [2024-05-08 02:37:20,490 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:37:20,490 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-08 02:37:20,491 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-08 02:37:20,491 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-08 02:37:20,492 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-05-08 02:37:20,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:37:20,750 INFO L262 TraceCheckSpWp]: Trace formula consists of 445 conjuncts, 45 conjunts are in the unsatisfiable core [2024-05-08 02:37:20,753 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-08 02:37:20,760 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-05-08 02:37:20,834 INFO L349 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2024-05-08 02:37:20,834 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2024-05-08 02:37:21,795 INFO L349 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2024-05-08 02:37:21,795 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 18 [2024-05-08 02:37:22,663 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-08 02:37:24,523 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-08 02:37:24,612 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-08 02:37:25,601 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-08 02:37:26,007 INFO L349 Elim1Store]: treesize reduction 21, result has 34.4 percent of original size [2024-05-08 02:37:26,008 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 31 treesize of output 15 [2024-05-08 02:37:26,980 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2024-05-08 02:37:27,966 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:37:27,966 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-08 02:37:30,183 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1969 Int) (|reader_twoThread1of1ForFork0_~val~1#1| Int) (v_ArrVal_1968 (Array Int Int))) (or (< |reader_twoThread1of1ForFork0_~val~1#1| 2) (< (select (store (select (store |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_dequeue_~r#1.base| v_ArrVal_1968) |c_reader_twoThread1of1ForFork0_~#read~0#1.base|) (+ (* |reader_twoThread1of1ForFork0_~val~1#1| 4) (- 4) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) v_ArrVal_1969) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) 1))) is different from false [2024-05-08 02:37:31,245 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1967 (Array Int Int)) (v_ArrVal_1969 Int) (|reader_twoThread1of1ForFork0_~val~1#1| Int) (v_ArrVal_1968 (Array Int Int))) (or (< |reader_twoThread1of1ForFork0_~val~1#1| 2) (< (select (store (select (store (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_1967) |c_reader_twoThread1of1ForFork0_~r~2#1.base| v_ArrVal_1968) |c_reader_twoThread1of1ForFork0_~#read~0#1.base|) (+ (* |reader_twoThread1of1ForFork0_~val~1#1| 4) (- 4) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) v_ArrVal_1969) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) 1))) is different from false [2024-05-08 02:37:31,424 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1967 (Array Int Int)) (v_ArrVal_1969 Int) (|reader_twoThread1of1ForFork0_~val~1#1| Int) (v_ArrVal_1968 (Array Int Int))) (or (< |reader_twoThread1of1ForFork0_~val~1#1| 2) (< (select (store (select (store (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_1967) |c_reader_twoThread1of1ForFork0_~r~2#1.base| v_ArrVal_1968) |c_reader_twoThread1of1ForFork0_~#read~0#1.base|) (+ (* |reader_twoThread1of1ForFork0_~val~1#1| 4) (- 4) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) v_ArrVal_1969) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) 1))) is different from false [2024-05-08 02:37:31,483 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1967 (Array Int Int)) (v_ArrVal_1969 Int) (|reader_twoThread1of1ForFork0_~val~1#1| Int) (v_ArrVal_1968 (Array Int Int))) (or (< (select (store (select (store (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_1967) |c_reader_twoThread1of1ForFork0_~r~2#1.base| v_ArrVal_1968) |c_reader_twoThread1of1ForFork0_~#read~0#1.base|) (+ (* |reader_twoThread1of1ForFork0_~val~1#1| 4) (- 4) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) v_ArrVal_1969) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) 1) (< |reader_twoThread1of1ForFork0_~val~1#1| 2))) is different from false [2024-05-08 02:37:32,998 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1967 (Array Int Int)) (v_ArrVal_1969 Int) (|reader_twoThread1of1ForFork0_~val~1#1| Int) (v_ArrVal_1968 (Array Int Int))) (or (< (select (store (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_1967) |c_reader_twoThread1of1ForFork0_~r~2#1.base| v_ArrVal_1968) |c_reader_twoThread1of1ForFork0_~#read~0#1.base|) (+ (* |reader_twoThread1of1ForFork0_~val~1#1| 4) (- 4) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) v_ArrVal_1969) |c_reader_twoThread1of1ForFork0_~#read~0#1.offset|) 1) (< |reader_twoThread1of1ForFork0_~val~1#1| 2))) is different from false [2024-05-08 02:37:33,831 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 741 treesize of output 731 [2024-05-08 02:37:33,839 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-08 02:37:33,844 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 67 [2024-05-08 02:37:33,865 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-08 02:37:33,870 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 65 treesize of output 61 [2024-05-08 02:37:33,877 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-08 02:37:33,881 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 39 [2024-05-08 02:37:33,935 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 106 treesize of output 98 [2024-05-08 02:37:35,732 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 7 not checked. [2024-05-08 02:37:35,732 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [168200327] provided 0 perfect and 2 imperfect interpolant sequences [2024-05-08 02:37:35,732 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-05-08 02:37:35,732 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 24, 24] total 74 [2024-05-08 02:37:35,732 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1364614601] [2024-05-08 02:37:35,732 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-05-08 02:37:35,733 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 74 states [2024-05-08 02:37:35,733 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-08 02:37:35,758 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 74 interpolants. [2024-05-08 02:37:35,760 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=313, Invalid=4340, Unknown=59, NotChecked=690, Total=5402 [2024-05-08 02:37:35,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:37:35,760 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-08 02:37:35,760 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 74 states, 74 states have (on average 6.608108108108108) internal successors, (489), 74 states have internal predecessors, (489), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-08 02:37:35,760 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:37:35,760 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 108 states. [2024-05-08 02:37:35,760 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:37:35,761 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 48 states. [2024-05-08 02:37:35,761 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 22 states. [2024-05-08 02:37:35,761 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 52 states. [2024-05-08 02:37:35,761 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-08 02:38:01,019 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:18,021 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.03s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:20,588 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.68s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:34,903 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:36,002 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:38,507 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.36s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:42,886 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:46,524 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-08 02:38:57,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-08 02:38:57,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 111 states. [2024-05-08 02:38:57,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 106 states. [2024-05-08 02:38:57,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 51 states. [2024-05-08 02:38:57,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2024-05-08 02:38:57,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 52 states. [2024-05-08 02:38:57,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2024-05-08 02:38:57,755 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2024-05-08 02:38:57,948 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable52,5 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-08 02:38:57,948 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-08 02:38:57,949 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-08 02:38:57,949 INFO L85 PathProgramCache]: Analyzing trace with hash -2023151598, now seen corresponding path program 1 times [2024-05-08 02:38:57,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-08 02:38:57,949 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1514861550] [2024-05-08 02:38:57,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:38:57,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-08 02:38:58,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:39:14,111 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 0 proven. 69 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-08 02:39:14,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-08 02:39:14,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1514861550] [2024-05-08 02:39:14,111 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1514861550] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-08 02:39:14,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1716197643] [2024-05-08 02:39:14,111 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-08 02:39:14,111 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-08 02:39:14,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-08 02:39:14,112 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-08 02:39:14,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-05-08 02:39:14,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-08 02:39:14,354 INFO L262 TraceCheckSpWp]: Trace formula consists of 570 conjuncts, 176 conjunts are in the unsatisfiable core [2024-05-08 02:39:14,372 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-08 02:39:14,380 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-05-08 02:39:14,620 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-05-08 02:39:14,621 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 14 [2024-05-08 02:39:14,926 INFO L349 Elim1Store]: treesize reduction 44, result has 30.2 percent of original size [2024-05-08 02:39:14,926 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 22 treesize of output 33 [2024-05-08 02:39:15,838 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-05-08 02:39:16,154 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2024-05-08 02:39:16,634 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-05-08 02:39:18,296 INFO L349 Elim1Store]: treesize reduction 20, result has 39.4 percent of original size [2024-05-08 02:39:18,296 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 21 treesize of output 25 [2024-05-08 02:39:19,140 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-05-08 02:39:26,089 INFO L349 Elim1Store]: treesize reduction 48, result has 23.8 percent of original size [2024-05-08 02:39:26,090 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 61 treesize of output 54 [2024-05-08 02:39:27,061 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 31 [2024-05-08 02:39:30,063 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 31 [2024-05-08 02:39:30,090 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 31 [2024-05-08 02:39:31,216 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 21 Received shutdown request... [2024-05-08 02:39:33,182 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (9 of 10 remaining) [2024-05-08 02:39:33,193 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2024-05-08 02:39:33,194 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-05-08 02:39:33,194 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-05-08 02:39:33,195 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-05-08 02:39:33,383 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable53 [2024-05-08 02:39:33,383 WARN L619 AbstractCegarLoop]: Verification canceled: while PartialOrderCegarLoop was analyzing trace of length 244 with TraceHistMax 2,while TraceCheckSpWp was constructing forward predicates,while PredicateComparison was comparing new predicate (quantifier-free) to 97 known predicates. [2024-05-08 02:39:33,384 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (8 of 10 remaining) [2024-05-08 02:39:33,384 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (7 of 10 remaining) [2024-05-08 02:39:33,384 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (6 of 10 remaining) [2024-05-08 02:39:33,384 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (5 of 10 remaining) [2024-05-08 02:39:33,385 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (4 of 10 remaining) [2024-05-08 02:39:33,385 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (3 of 10 remaining) [2024-05-08 02:39:33,385 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (2 of 10 remaining) [2024-05-08 02:39:33,385 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (1 of 10 remaining) [2024-05-08 02:39:33,385 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (0 of 10 remaining) [2024-05-08 02:39:33,388 INFO L448 BasicCegarLoop]: Path program histogram: [6, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-08 02:39:33,391 INFO L228 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-05-08 02:39:33,391 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2024-05-08 02:39:33,392 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.05 02:39:33 BasicIcfg [2024-05-08 02:39:33,392 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-05-08 02:39:33,393 INFO L158 Benchmark]: Toolchain (without parser) took 833135.82ms. Allocated memory was 323.0MB in the beginning and 1.3GB in the end (delta: 982.5MB). Free memory was 251.2MB in the beginning and 849.5MB in the end (delta: -598.3MB). Peak memory consumption was 385.0MB. Max. memory is 8.0GB. [2024-05-08 02:39:33,393 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 323.0MB. Free memory is still 290.0MB. There was no memory consumed. Max. memory is 8.0GB. [2024-05-08 02:39:33,393 INFO L158 Benchmark]: CACSL2BoogieTranslator took 634.79ms. Allocated memory is still 323.0MB. Free memory was 251.2MB in the beginning and 279.0MB in the end (delta: -27.8MB). Peak memory consumption was 31.7MB. Max. memory is 8.0GB. [2024-05-08 02:39:33,393 INFO L158 Benchmark]: Boogie Procedure Inliner took 64.70ms. Allocated memory is still 323.0MB. Free memory was 279.0MB in the beginning and 275.9MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. [2024-05-08 02:39:33,393 INFO L158 Benchmark]: Boogie Preprocessor took 47.55ms. Allocated memory is still 323.0MB. Free memory was 275.9MB in the beginning and 273.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2024-05-08 02:39:33,393 INFO L158 Benchmark]: RCFGBuilder took 467.76ms. Allocated memory is still 323.0MB. Free memory was 273.2MB in the beginning and 249.1MB in the end (delta: 24.1MB). Peak memory consumption was 24.1MB. Max. memory is 8.0GB. [2024-05-08 02:39:33,393 INFO L158 Benchmark]: TraceAbstraction took 831914.39ms. Allocated memory was 323.0MB in the beginning and 1.3GB in the end (delta: 982.5MB). Free memory was 248.1MB in the beginning and 849.5MB in the end (delta: -601.4MB). Peak memory consumption was 381.6MB. Max. memory is 8.0GB. [2024-05-08 02:39:33,394 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 323.0MB. Free memory is still 290.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 634.79ms. Allocated memory is still 323.0MB. Free memory was 251.2MB in the beginning and 279.0MB in the end (delta: -27.8MB). Peak memory consumption was 31.7MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 64.70ms. Allocated memory is still 323.0MB. Free memory was 279.0MB in the beginning and 275.9MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 47.55ms. Allocated memory is still 323.0MB. Free memory was 275.9MB in the beginning and 273.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 467.76ms. Allocated memory is still 323.0MB. Free memory was 273.2MB in the beginning and 249.1MB in the end (delta: 24.1MB). Peak memory consumption was 24.1MB. Max. memory is 8.0GB. * TraceAbstraction took 831914.39ms. Allocated memory was 323.0MB in the beginning and 1.3GB in the end (delta: 982.5MB). Free memory was 248.1MB in the beginning and 849.5MB in the end (delta: -601.4MB). Peak memory consumption was 381.6MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Independence relation #1 benchmarks ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 1526699, independent: 1491065, independent conditional: 1488272, independent unconditional: 2793, dependent: 35634, dependent conditional: 35630, dependent unconditional: 4, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 1493012, independent: 1491065, independent conditional: 1488272, independent unconditional: 2793, dependent: 1947, dependent conditional: 1943, dependent unconditional: 4, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ ConditionTransformingIndependenceRelation.Independence Queries: [ total: 1493012, independent: 1491065, independent conditional: 1488272, independent unconditional: 2793, dependent: 1947, dependent conditional: 1943, dependent unconditional: 4, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 1493012, independent: 1491065, independent conditional: 1488272, independent unconditional: 2793, dependent: 1947, dependent conditional: 1943, dependent unconditional: 4, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 1505049, independent: 1491065, independent conditional: 700126, independent unconditional: 790939, dependent: 13984, dependent conditional: 11311, dependent unconditional: 2673, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 1505049, independent: 1491065, independent conditional: 261242, independent unconditional: 1229823, dependent: 13984, dependent conditional: 5117, dependent unconditional: 8867, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 1505049, independent: 1491065, independent conditional: 261242, independent unconditional: 1229823, dependent: 13984, dependent conditional: 5117, dependent unconditional: 8867, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 4471, independent: 4373, independent conditional: 576, independent unconditional: 3797, dependent: 98, dependent conditional: 83, dependent unconditional: 15, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 4471, independent: 4364, independent conditional: 0, independent unconditional: 4364, dependent: 107, dependent conditional: 0, dependent unconditional: 107, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 107, independent: 9, independent conditional: 5, independent unconditional: 4, dependent: 98, dependent conditional: 83, dependent unconditional: 15, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 107, independent: 9, independent conditional: 5, independent unconditional: 4, dependent: 98, dependent conditional: 83, dependent unconditional: 15, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 245, independent: 16, independent conditional: 11, independent unconditional: 5, dependent: 229, dependent conditional: 165, dependent unconditional: 64, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 1505049, independent: 1486692, independent conditional: 260666, independent unconditional: 1226026, dependent: 13886, dependent conditional: 5034, dependent unconditional: 8852, unknown: 4471, unknown conditional: 659, unknown unconditional: 3812] , Statistics on independence cache: Total cache size (in pairs): 4471, Positive cache size: 4373, Positive conditional cache size: 576, Positive unconditional cache size: 3797, Negative cache size: 98, Negative conditional cache size: 83, Negative unconditional cache size: 15, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 445078, Maximal queried relation: 13, ConditionTransformingIndependenceRelation.Independence Queries: [ total: 1505049, independent: 1491065, independent conditional: 700126, independent unconditional: 790939, dependent: 13984, dependent conditional: 11311, dependent unconditional: 2673, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 1505049, independent: 1491065, independent conditional: 261242, independent unconditional: 1229823, dependent: 13984, dependent conditional: 5117, dependent unconditional: 8867, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 1505049, independent: 1491065, independent conditional: 261242, independent unconditional: 1229823, dependent: 13984, dependent conditional: 5117, dependent unconditional: 8867, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 4471, independent: 4373, independent conditional: 576, independent unconditional: 3797, dependent: 98, dependent conditional: 83, dependent unconditional: 15, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 4471, independent: 4364, independent conditional: 0, independent unconditional: 4364, dependent: 107, dependent conditional: 0, dependent unconditional: 107, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 107, independent: 9, independent conditional: 5, independent unconditional: 4, dependent: 98, dependent conditional: 83, dependent unconditional: 15, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 107, independent: 9, independent conditional: 5, independent unconditional: 4, dependent: 98, dependent conditional: 83, dependent unconditional: 15, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 245, independent: 16, independent conditional: 11, independent unconditional: 5, dependent: 229, dependent conditional: 165, dependent unconditional: 64, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 1505049, independent: 1486692, independent conditional: 260666, independent unconditional: 1226026, dependent: 13886, dependent conditional: 5034, dependent unconditional: 8852, unknown: 4471, unknown conditional: 659, unknown unconditional: 3812] , Statistics on independence cache: Total cache size (in pairs): 4471, Positive cache size: 4373, Positive conditional cache size: 576, Positive unconditional cache size: 3797, Negative cache size: 98, Negative conditional cache size: 83, Negative unconditional cache size: 15, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 445078 ], Independence queries for same thread: 33687 - TimeoutResultAtElement [Line: 1060]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 244 with TraceHistMax 2,while TraceCheckSpWp was constructing forward predicates,while PredicateComparison was comparing new predicate (quantifier-free) to 97 known predicates. - TimeoutResultAtElement [Line: 1061]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 244 with TraceHistMax 2,while TraceCheckSpWp was constructing forward predicates,while PredicateComparison was comparing new predicate (quantifier-free) to 97 known predicates. - TimeoutResultAtElement [Line: 1064]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 244 with TraceHistMax 2,while TraceCheckSpWp was constructing forward predicates,while PredicateComparison was comparing new predicate (quantifier-free) to 97 known predicates. - TimeoutResultAtElement [Line: 1065]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 244 with TraceHistMax 2,while TraceCheckSpWp was constructing forward predicates,while PredicateComparison was comparing new predicate (quantifier-free) to 97 known predicates. - TimeoutResultAtElement [Line: 1075]: Timeout (TraceAbstraction) Unable to prove that petrification did provide enough thread instances (tool internal message) Cancelled while PartialOrderCegarLoop was analyzing trace of length 244 with TraceHistMax 2,while TraceCheckSpWp was constructing forward predicates,while PredicateComparison was comparing new predicate (quantifier-free) to 97 known predicates. - TimeoutResultAtElement [Line: 1076]: Timeout (TraceAbstraction) Unable to prove that petrification did provide enough thread instances (tool internal message) Cancelled while PartialOrderCegarLoop was analyzing trace of length 244 with TraceHistMax 2,while TraceCheckSpWp was constructing forward predicates,while PredicateComparison was comparing new predicate (quantifier-free) to 97 known predicates. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 5 procedures, 338 locations, 10 error locations. Started 1 CEGAR loops. OverallTime: 831.7s, OverallIterations: 8, TraceHistogramMax: 0, PathProgramHistogramMax: 6, EmptinessCheckTime: 579.3s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: , PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=0occurred in iteration=0, InterpolantAutomatonStates: 407, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 206.0s InterpolantComputationTime, 1424 NumberOfCodeBlocks, 1424 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 1864 ConstructedInterpolants, 212 QuantifiedInterpolants, 115455 SizeOfPredicates, 110 NumberOfNonLiveVariables, 1134 ConjunctsInSsa, 251 ConjunctsInUnsatCore, 13 InterpolantComputations, 4 PerfectInterpolantSequences, 7/114 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConditionalCommutativityCheckTime: 73.1s, ConditionalCommutativityIAIntegrations: 2, ConditionalCommutativityDFSRestarts: 6, ConditionalCommutativityConditionCalculations: 46, ConditionalCommutativityTraceChecks: 25, ConditionalCommutativityImperfectProofs: 13 RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown