/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 IA --traceabstraction.criterion.for.conditional.commutativity.checking DEFAULT -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-3774817-m [2024-04-03 22:19:40,162 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-04-03 22:19:40,215 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf [2024-04-03 22:19:40,219 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-04-03 22:19:40,219 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-04-03 22:19:40,248 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-04-03 22:19:40,249 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-04-03 22:19:40,249 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-04-03 22:19:40,250 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-04-03 22:19:40,253 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-04-03 22:19:40,253 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-04-03 22:19:40,253 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-04-03 22:19:40,253 INFO L153 SettingsManager]: * Use SBE=true [2024-04-03 22:19:40,255 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-04-03 22:19:40,255 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-04-03 22:19:40,255 INFO L153 SettingsManager]: * sizeof long=4 [2024-04-03 22:19:40,255 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-04-03 22:19:40,255 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-04-03 22:19:40,256 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-04-03 22:19:40,256 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-04-03 22:19:40,256 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-04-03 22:19:40,256 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-04-03 22:19:40,256 INFO L153 SettingsManager]: * sizeof long double=12 [2024-04-03 22:19:40,257 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-04-03 22:19:40,257 INFO L153 SettingsManager]: * Use constant arrays=true [2024-04-03 22:19:40,257 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-04-03 22:19:40,257 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-04-03 22:19:40,257 INFO L153 SettingsManager]: * To the following directory=./dump/ [2024-04-03 22:19:40,257 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-04-03 22:19:40,258 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-04-03 22:19:40,259 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-04-03 22:19:40,259 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-04-03 22:19:40,259 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-04-03 22:19:40,259 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-04-03 22:19:40,259 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=SLEEP_NEW_STATES [2024-04-03 22:19:40,259 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-04-03 22:19:40,260 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-04-03 22:19:40,260 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-04-03 22:19:40,260 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-04-03 22:19:40,260 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 -> IA Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Criterion for conditional commutativity checking -> DEFAULT [2024-04-03 22:19:40,459 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-04-03 22:19:40,484 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-04-03 22:19:40,486 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-04-03 22:19:40,487 INFO L270 PluginConnector]: Initializing CDTParser... [2024-04-03 22:19:40,487 INFO L274 PluginConnector]: CDTParser initialized [2024-04-03 22:19:40,488 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-04-03 22:19:41,612 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-04-03 22:19:41,868 INFO L384 CDTParser]: Found 1 translation units. [2024-04-03 22:19:41,869 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i [2024-04-03 22:19:41,885 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/9a3651c5a/7e742b1e3d8d4a2eb9afa4cfe1d92c77/FLAG483506039 [2024-04-03 22:19:41,898 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/9a3651c5a/7e742b1e3d8d4a2eb9afa4cfe1d92c77 [2024-04-03 22:19:41,900 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-04-03 22:19:41,901 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-04-03 22:19:41,902 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-04-03 22:19:41,902 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-04-03 22:19:41,905 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-04-03 22:19:41,906 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.04 10:19:41" (1/1) ... [2024-04-03 22:19:41,906 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5df2e82 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:41, skipping insertion in model container [2024-04-03 22:19:41,907 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.04 10:19:41" (1/1) ... [2024-04-03 22:19:41,950 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-04-03 22:19:42,269 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-04-03 22:19:42,274 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-04-03 22:19:42,277 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-04-03 22:19:42,339 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-04-03 22:19:42,340 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-04-03 22:19:42,342 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-04-03 22:19:42,342 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-04-03 22:19:42,349 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-04-03 22:19:42,358 INFO L202 MainTranslator]: Completed pre-run [2024-04-03 22:19:42,391 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-04-03 22:19:42,392 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-04-03 22:19:42,393 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-04-03 22:19:42,409 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-04-03 22:19:42,410 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-04-03 22:19:42,411 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-04-03 22:19:42,412 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-04-03 22:19:42,418 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-04-03 22:19:42,472 INFO L206 MainTranslator]: Completed translation [2024-04-03 22:19:42,473 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42 WrapperNode [2024-04-03 22:19:42,473 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-04-03 22:19:42,474 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-04-03 22:19:42,474 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-04-03 22:19:42,474 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-04-03 22:19:42,479 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,506 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,541 INFO L138 Inliner]: procedures = 310, calls = 70, calls flagged for inlining = 10, calls inlined = 8, statements flattened = 211 [2024-04-03 22:19:42,542 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-04-03 22:19:42,542 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-04-03 22:19:42,542 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-04-03 22:19:42,542 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-04-03 22:19:42,551 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,551 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,558 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,558 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,564 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,573 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,574 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,575 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,577 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-04-03 22:19:42,578 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-04-03 22:19:42,578 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-04-03 22:19:42,578 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-04-03 22:19:42,579 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (1/1) ... [2024-04-03 22:19:42,594 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-04-03 22:19:42,604 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-03 22:19:42,621 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-04-03 22:19:42,623 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-04-03 22:19:42,652 INFO L130 BoogieDeclarations]: Found specification of procedure reader_two [2024-04-03 22:19:42,652 INFO L138 BoogieDeclarations]: Found implementation of procedure reader_two [2024-04-03 22:19:42,652 INFO L130 BoogieDeclarations]: Found specification of procedure writer_fn [2024-04-03 22:19:42,652 INFO L138 BoogieDeclarations]: Found implementation of procedure writer_fn [2024-04-03 22:19:42,652 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-04-03 22:19:42,652 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-04-03 22:19:42,652 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-04-03 22:19:42,652 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-04-03 22:19:42,653 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-04-03 22:19:42,653 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-04-03 22:19:42,653 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-04-03 22:19:42,653 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-04-03 22:19:42,653 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-04-03 22:19:42,653 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-04-03 22:19:42,654 WARN L213 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-04-03 22:19:42,752 INFO L241 CfgBuilder]: Building ICFG [2024-04-03 22:19:42,754 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2024-04-03 22:19:43,042 INFO L282 CfgBuilder]: Performing block encoding [2024-04-03 22:19:43,058 INFO L304 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-04-03 22:19:43,058 INFO L309 CfgBuilder]: Removed 6 assume(true) statements. [2024-04-03 22:19:43,059 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.04 10:19:43 BoogieIcfgContainer [2024-04-03 22:19:43,059 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-04-03 22:19:43,061 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-04-03 22:19:43,061 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-04-03 22:19:43,063 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-04-03 22:19:43,063 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 03.04 10:19:41" (1/3) ... [2024-04-03 22:19:43,064 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b675619 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 03.04 10:19:43, skipping insertion in model container [2024-04-03 22:19:43,064 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.04 10:19:42" (2/3) ... [2024-04-03 22:19:43,064 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b675619 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 03.04 10:19:43, skipping insertion in model container [2024-04-03 22:19:43,064 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.04 10:19:43" (3/3) ... [2024-04-03 22:19:43,065 INFO L112 eAbstractionObserver]: Analyzing ICFG ring_2w1r-1.i [2024-04-03 22:19:43,070 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2024-04-03 22:19:43,077 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-04-03 22:19:43,077 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2024-04-03 22:19:43,077 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-04-03 22:19:43,156 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-04-03 22:19:43,187 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-04-03 22:19:43,187 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-04-03 22:19:43,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-03 22:19:43,190 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-04-03 22:19:43,192 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-04-03 22:19:43,227 INFO L184 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-04-03 22:19:43,236 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-03 22:19:43,237 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-04-03 22:19:43,244 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;@7f57a187, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms], mConComChecker=IA, mConComCheckerCriterion=DEFAULT, mConComCheckerLimitedChecksCriterion=false, mConComCheckerCriterionLimit=1, mConComCheckerRandomProb=100, mConComCheckerRandomSeed=123 [2024-04-03 22:19:43,245 INFO L358 AbstractCegarLoop]: Starting to check reachability of 10 error locations. [2024-04-03 22:19:43,608 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-04-03 22:19:43,609 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-03 22:19:43,609 INFO L85 PathProgramCache]: Analyzing trace with hash 538585321, now seen corresponding path program 1 times [2024-04-03 22:19:43,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-03 22:19:43,616 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2050271449] [2024-04-03 22:19:43,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:19:43,617 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-03 22:19:43,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:19:45,163 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-03 22:19:45,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-03 22:19:45,164 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2050271449] [2024-04-03 22:19:45,165 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2050271449] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-03 22:19:45,165 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-03 22:19:45,165 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2024-04-03 22:19:45,166 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [567272933] [2024-04-03 22:19:45,167 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-03 22:19:45,172 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2024-04-03 22:19:45,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-03 22:19:45,416 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2024-04-03 22:19:45,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=335, Unknown=0, NotChecked=0, Total=380 [2024-04-03 22:19:45,421 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:19:45,423 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-03 22:19:45,423 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-04-03 22:19:45,424 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:19:49,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-03 22:19:49,155 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-04-03 22:19:49,155 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-04-03 22:19:49,156 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-03 22:19:49,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1570529064, now seen corresponding path program 1 times [2024-04-03 22:19:49,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-03 22:19:49,156 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [632489877] [2024-04-03 22:19:49,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:19:49,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-03 22:19:49,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:19:49,321 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-04-03 22:19:49,321 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-03 22:19:49,321 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [632489877] [2024-04-03 22:19:49,322 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [632489877] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-03 22:19:49,322 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-03 22:19:49,322 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-04-03 22:19:49,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1022774528] [2024-04-03 22:19:49,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-03 22:19:49,324 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-04-03 22:19:49,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-03 22:19:49,357 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-04-03 22:19:49,357 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-04-03 22:19:49,357 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:19:49,359 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-03 22:19:49,359 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 45.0) internal successors, (135), 3 states have internal predecessors, (135), 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-04-03 22:19:49,360 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-04-03 22:19:49,360 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:19:49,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-03 22:19:49,983 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-04-03 22:19:49,983 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-04-03 22:19:49,983 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-04-03 22:19:49,984 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-03 22:19:49,984 INFO L85 PathProgramCache]: Analyzing trace with hash 388017180, now seen corresponding path program 1 times [2024-04-03 22:19:49,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-03 22:19:49,984 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [65875082] [2024-04-03 22:19:49,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:19:49,984 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-03 22:19:50,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:19:52,812 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-03 22:19:52,812 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-03 22:19:52,812 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [65875082] [2024-04-03 22:19:52,812 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [65875082] provided 0 perfect and 1 imperfect interpolant sequences [2024-04-03 22:19:52,812 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [377459443] [2024-04-03 22:19:52,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:19:52,813 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-03 22:19:52,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-03 22:19:52,858 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-04-03 22:19:52,861 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-04-03 22:19:52,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:19:52,986 INFO L262 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 94 conjunts are in the unsatisfiable core [2024-04-03 22:19:52,997 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-03 22:19:53,033 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-04-03 22:19:53,052 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-04-03 22:19:53,053 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-04-03 22:19:53,068 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-04-03 22:19:53,069 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-04-03 22:19:53,104 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-04-03 22:19:53,157 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-04-03 22:19:53,235 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-04-03 22:19:53,564 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-04-03 22:19:54,295 INFO L349 Elim1Store]: treesize reduction 32, result has 31.9 percent of original size [2024-04-03 22:19:54,295 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-04-03 22:19:54,612 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-04-03 22:19:54,616 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-04-03 22:19:54,689 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 38 treesize of output 30 [2024-04-03 22:19:55,430 INFO L349 Elim1Store]: treesize reduction 22, result has 12.0 percent of original size [2024-04-03 22:19:55,431 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-04-03 22:19:55,494 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-03 22:19:55,494 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-03 22:19:59,677 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse7 .cse1) 4)) 1)))) (and (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse2 (select v_ArrVal_101 .cse1))) (or (not (= v_ArrVal_101 (store .cse0 .cse1 .cse2))) (< .cse2 1) (= .cse2 4) (< 0 (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse3 (+ (* (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 4 .cse2)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse4 (select v_ArrVal_101 .cse1))) (or (not (= v_ArrVal_101 (store .cse0 .cse1 .cse4))) (< (+ .cse4 3) 0) (< 0 (let ((.cse5 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse5 (+ (* (select .cse5 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse4)))) (<= 1 (let ((.cse6 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse0 .cse1 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse6 (+ (* (select .cse6 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) is different from false [2024-04-03 22:20:00,881 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse0 (select (let ((.cse1 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (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| (* (select .cse2 .cse3) 4) 4) 1)) .cse3 0))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse0 (+ (* (select .cse0 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse6 (select v_ArrVal_101 .cse3)) (.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (or (not (= v_ArrVal_101 (store (let ((.cse4 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse4 .cse3) 4) 4) 1)) .cse3 .cse6))) (< .cse6 1) (< 4 .cse6) (= .cse6 4) (< 0 (let ((.cse7 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse7 (+ (* (select .cse7 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse8 (select v_ArrVal_101 .cse3)) (.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (or (< (+ 3 .cse8) 0) (not (= v_ArrVal_101 (store (let ((.cse9 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) .cse3 .cse8))) (< 0 .cse8) (< 0 (let ((.cse11 (select (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse11 (+ (* (select .cse11 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))) is different from false [2024-04-03 22:20:01,309 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse2 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse0 (select v_ArrVal_101 .cse4))) (or (< (+ 3 .cse0) 0) (< 0 (let ((.cse1 (select (store .cse2 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse1 (+ (* (select .cse1 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4) 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)))) (not (= v_ArrVal_101 (store (let ((.cse3 (select .cse2 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse3 .cse4) 4) 4) 1)) .cse4 .cse0))) (< 0 .cse0)))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse6 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse8 (select v_ArrVal_101 .cse4))) (or (< 0 (let ((.cse5 (select (store .cse6 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse5 (+ (* (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4) 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)))) (not (= v_ArrVal_101 (store (let ((.cse7 (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse7 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse7 .cse4) 4) 4) 1)) .cse4 .cse8))) (< .cse8 1) (< 4 .cse8) (= .cse8 4)))) (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse9 (select (let ((.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (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| (* (select .cse11 .cse4) 4) 4) 1)) .cse4 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-04-03 22:20:01,348 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse1 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse4 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse0 (select (store .cse1 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |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))))) (not (= v_ArrVal_101 (store (let ((.cse2 (select .cse1 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse2 .cse3) 4) 4) 1)) .cse3 .cse4))) (< .cse4 1) (< 4 .cse4) (= .cse4 4)))) (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse5 (select (let ((.cse6 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (store .cse6 |c_ULTIMATE.start_main_~#r~3#1.base| (store (let ((.cse7 (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse7 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse7 .cse3) 4) 4) 1)) .cse3 0))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse5 (+ (* 4 (select .cse5 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse8 (select v_ArrVal_101 .cse3))) (or (< (+ 3 .cse8) 0) (< 0 (let ((.cse9 (select (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse9 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4 (* (select .cse9 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) 4))))) (not (= v_ArrVal_101 (store (let ((.cse11 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse11 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse11 .cse3) 4) 4) 1)) .cse3 .cse8))) (< 0 .cse8)))))) is different from false [2024-04-03 22:20:01,383 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse0 (let ((.cse2 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |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 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< 0 (let ((.cse3 (let ((.cse4 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |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)))) (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_99 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< 0 (let ((.cse5 (let ((.cse6 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |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 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))) (< (+ 3 v_DerPreprocessor_2) 0))))) is different from false [2024-04-03 22:20:01,436 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< 0 (let ((.cse0 (let ((.cse2 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |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)))) (< (+ 3 v_DerPreprocessor_2) 0))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (< 0 (let ((.cse3 (let ((.cse4 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |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)))) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int))) (<= 1 (let ((.cse5 (let ((.cse6 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |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-04-03 22:20:01,608 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_99 (Array Int Int)) (v_ArrVal_98 (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 .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |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 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4))))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (< 0 (let ((.cse4 (let ((.cse5 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse5 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse5 .cse1)) 4) 1)))) (select (store .cse4 .cse1 v_DerPreprocessor_3) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse4 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4))))) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int))) (<= 1 (let ((.cse6 (let ((.cse7 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse7 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse7 .cse1)) 4) 1)))) (select (store .cse6 .cse1 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) is different from false [2024-04-03 22:20:01,626 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-03 22:20:01,627 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-04-03 22:20:01,637 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-03 22:20:01,638 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 432 treesize of output 420 [2024-04-03 22:20:01,666 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-03 22:20:01,669 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 568 treesize of output 384 [2024-04-03 22:20:01,705 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-03 22:20:01,705 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 1038 treesize of output 632 [2024-04-03 22:20:01,742 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-03 22:20:01,743 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 15 treesize of output 9 [2024-04-03 22:20:01,902 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-03 22:20:01,902 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 541 treesize of output 424 [2024-04-03 22:20:02,880 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-03 22:20:02,885 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-04-03 22:20:02,886 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-04-03 22:20:02,890 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-03 22:20:02,893 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-04-03 22:20:02,894 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-04-03 22:20:03,225 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-03 22:20:03,225 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [377459443] provided 0 perfect and 2 imperfect interpolant sequences [2024-04-03 22:20:03,226 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-04-03 22:20:03,226 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 33, 32] total 86 [2024-04-03 22:20:03,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [656123775] [2024-04-03 22:20:03,226 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-04-03 22:20:03,227 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 86 states [2024-04-03 22:20:03,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-03 22:20:03,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 86 interpolants. [2024-04-03 22:20:03,271 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=277, Invalid=5883, Unknown=30, NotChecked=1120, Total=7310 [2024-04-03 22:20:03,271 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:20:03,271 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-03 22:20:03,272 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 86 states, 86 states have (on average 3.802325581395349) internal successors, (327), 86 states have internal predecessors, (327), 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-04-03 22:20:03,272 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-04-03 22:20:03,272 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2024-04-03 22:20:03,272 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:20:09,753 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse21 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse53 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse36 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse54 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse53 .cse13) 4) 4)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse28 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse56 (+ (* (select .cse21 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse25 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse25 0) 0)) (.cse11 (store .cse21 .cse56 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse27 (let ((.cse57 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse57 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse57 .cse28) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse21 .cse56 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse16 (store .cse53 .cse54 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse35 (let ((.cse55 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse55 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse55 .cse36) 4) 4) 1))) (.cse12 (store .cse53 .cse54 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse0 (select v_ArrVal_101 .cse3))) (or (< (+ 3 .cse0) 0) (< 0 (let ((.cse1 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse1 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse0) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse0)))))) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse6 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse4 .cse5 .cse6))) (< (+ 3 .cse6) 0) (< 0 (let ((.cse7 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse7 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse7 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse6)))) .cse8 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse9 0) 0) (<= 1 (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse11 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse10 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse14 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse14))) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse14) (< (+ .cse14 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse17 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse17))) (< 0 (let ((.cse18 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse17) (< (+ .cse17 3) 0)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse19 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse19))) (< .cse19 1) (< 0 (let ((.cse20 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse19 4) (< 4 .cse19)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= (select .cse21 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse22 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse2 .cse3 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse23 (select .cse25 20)) (.cse24 (= (select .cse25 4) 1))) (or (and .cse8 (= 0 .cse23) .cse24) (and .cse8 (<= 1 .cse23) (<= .cse23 3) .cse24) (and .cse8 (<= (+ 1 .cse23) 0) (<= 0 (+ 3 .cse23)) .cse24))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse26 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse27 .cse28 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse26 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse26 |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|) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse29 (select v_ArrVal_101 .cse5))) (or (< 4 .cse29) (< .cse29 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse29))) (< 0 (let ((.cse30 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse30 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse29 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse31 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse31))) (< (+ 3 .cse31) 0) (< 0 (let ((.cse32 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse32 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse31)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse33 (select v_ArrVal_101 .cse36))) (or (< (+ 3 .cse33) 0) (< 0 .cse33) (< 0 (let ((.cse34 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse34 (+ (* (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse35 .cse36 .cse33)))))) (<= 1 (select .cse21 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse37 (select v_ArrVal_101 .cse28))) (or (= .cse37 4) (not (= v_ArrVal_101 (store .cse27 .cse28 .cse37))) (< .cse37 1) (< 4 .cse37) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4))))))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse39 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse39))) (< .cse39 1) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse39 4) (< 4 .cse39)))) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse41 (select v_ArrVal_101 .cse5))) (or (< 4 .cse41) (< .cse41 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse41))) (< 0 (let ((.cse42 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse42 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse41 4)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse43 (select v_ArrVal_101 .cse28))) (or (not (= v_ArrVal_101 (store .cse27 .cse28 .cse43))) (< 0 .cse43) (< 0 (let ((.cse44 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse44 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse44 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse43 3) 0)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 0) (= |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 ((.cse45 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse45 (+ (* (select .cse45 |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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse47 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse46 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse47))) (< .cse47 1) (< 4 .cse47) (= .cse47 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse35 .cse36 0)) |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 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (<= 1 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse13 0)) |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_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse50 (select v_ArrVal_101 .cse36))) (or (< .cse50 1) (< 4 .cse50) (< 0 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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)))) (not (= v_ArrVal_101 (store .cse35 .cse36 .cse50))) (= 4 .cse50)))) (<= 1 (let ((.cse52 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse52 (+ (* (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-04-03 22:20:14,023 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse21 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse53 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse36 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse54 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse53 .cse13) 4) 4)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse28 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse56 (+ (* (select .cse21 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse25 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse25 0) 0)) (.cse11 (store .cse21 .cse56 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse27 (let ((.cse57 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse57 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse57 .cse28) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse21 .cse56 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse16 (store .cse53 .cse54 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse35 (let ((.cse55 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse55 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse55 .cse36) 4) 4) 1))) (.cse12 (store .cse53 .cse54 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse0 (select v_ArrVal_101 .cse3))) (or (< (+ 3 .cse0) 0) (< 0 (let ((.cse1 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse1 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse0) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse0)))))) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse6 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse4 .cse5 .cse6))) (< (+ 3 .cse6) 0) (< 0 (let ((.cse7 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse7 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse7 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse6)))) .cse8 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse9 0) 0) (<= 1 (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse11 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse10 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse14 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse14))) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse14) (< (+ .cse14 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse17 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse17))) (< 0 (let ((.cse18 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse17) (< (+ .cse17 3) 0)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse19 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse19))) (< .cse19 1) (< 0 (let ((.cse20 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse19 4) (< 4 .cse19)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= (select .cse21 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse22 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse2 .cse3 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse23 (select .cse25 20)) (.cse24 (= (select .cse25 4) 1))) (or (and .cse8 (= 0 .cse23) .cse24) (and .cse8 (<= 1 .cse23) (<= .cse23 3) .cse24) (and .cse8 (<= (+ 1 .cse23) 0) (<= 0 (+ 3 .cse23)) .cse24))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse26 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse27 .cse28 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse26 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse26 |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|) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse29 (select v_ArrVal_101 .cse5))) (or (< 4 .cse29) (< .cse29 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse29))) (< 0 (let ((.cse30 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse30 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse29 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse31 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse31))) (< (+ 3 .cse31) 0) (< 0 (let ((.cse32 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse32 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse31)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse33 (select v_ArrVal_101 .cse36))) (or (< (+ 3 .cse33) 0) (< 0 .cse33) (< 0 (let ((.cse34 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse34 (+ (* (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse35 .cse36 .cse33)))))) (<= 1 (select .cse21 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse37 (select v_ArrVal_101 .cse28))) (or (= .cse37 4) (not (= v_ArrVal_101 (store .cse27 .cse28 .cse37))) (< .cse37 1) (< 4 .cse37) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4))))))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse39 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse39))) (< .cse39 1) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse39 4) (< 4 .cse39)))) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse41 (select v_ArrVal_101 .cse5))) (or (< 4 .cse41) (< .cse41 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse41))) (< 0 (let ((.cse42 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse42 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse41 4)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse43 (select v_ArrVal_101 .cse28))) (or (not (= v_ArrVal_101 (store .cse27 .cse28 .cse43))) (< 0 .cse43) (< 0 (let ((.cse44 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse44 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse44 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse43 3) 0)))) (= |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 ((.cse45 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse45 (+ (* (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse47 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse46 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse47))) (< .cse47 1) (< 4 .cse47) (= .cse47 4)))) (<= 1 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse35 .cse36 0)) |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 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (<= 1 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse13 0)) |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_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse50 (select v_ArrVal_101 .cse36))) (or (< .cse50 1) (< 4 .cse50) (< 0 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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)))) (not (= v_ArrVal_101 (store .cse35 .cse36 .cse50))) (= 4 .cse50)))) (<= 1 (let ((.cse52 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse52 (+ (* (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-04-03 22:20:18,024 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse21 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse53 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse36 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse54 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse53 .cse13) 4) 4)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse28 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse56 (+ (* (select .cse21 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse25 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse25 0) 0)) (.cse11 (store .cse21 .cse56 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse27 (let ((.cse57 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse57 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse57 .cse28) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse21 .cse56 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse16 (store .cse53 .cse54 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse35 (let ((.cse55 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse55 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse55 .cse36) 4) 4) 1))) (.cse12 (store .cse53 .cse54 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse0 (select v_ArrVal_101 .cse3))) (or (< (+ 3 .cse0) 0) (< 0 (let ((.cse1 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse1 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse0) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse0)))))) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse6 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse4 .cse5 .cse6))) (< (+ 3 .cse6) 0) (< 0 (let ((.cse7 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse7 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse7 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse6)))) .cse8 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse9 0) 0) (<= 1 (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse11 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse10 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse14 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse14))) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse14) (< (+ .cse14 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse17 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse17))) (< 0 (let ((.cse18 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse17) (< (+ .cse17 3) 0)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse19 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse19))) (< .cse19 1) (< 0 (let ((.cse20 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse19 4) (< 4 .cse19)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= (select .cse21 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse22 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse2 .cse3 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse23 (select .cse25 20)) (.cse24 (= (select .cse25 4) 1))) (or (and .cse8 (= 0 .cse23) .cse24) (and .cse8 (<= 1 .cse23) (<= .cse23 3) .cse24) (and .cse8 (<= (+ 1 .cse23) 0) (<= 0 (+ 3 .cse23)) .cse24))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse26 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse27 .cse28 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse26 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse26 |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|) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse29 (select v_ArrVal_101 .cse5))) (or (< 4 .cse29) (< .cse29 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse29))) (< 0 (let ((.cse30 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse30 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse29 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse31 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse31))) (< (+ 3 .cse31) 0) (< 0 (let ((.cse32 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse32 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse31)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse33 (select v_ArrVal_101 .cse36))) (or (< (+ 3 .cse33) 0) (< 0 .cse33) (< 0 (let ((.cse34 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse34 (+ (* (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse35 .cse36 .cse33)))))) (<= 1 (select .cse21 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse37 (select v_ArrVal_101 .cse28))) (or (= .cse37 4) (not (= v_ArrVal_101 (store .cse27 .cse28 .cse37))) (< .cse37 1) (< 4 .cse37) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4))))))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse39 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse39))) (< .cse39 1) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse39 4) (< 4 .cse39)))) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse41 (select v_ArrVal_101 .cse5))) (or (< 4 .cse41) (< .cse41 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse41))) (< 0 (let ((.cse42 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse42 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse41 4)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse43 (select v_ArrVal_101 .cse28))) (or (not (= v_ArrVal_101 (store .cse27 .cse28 .cse43))) (< 0 .cse43) (< 0 (let ((.cse44 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse44 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse44 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse43 3) 0)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 0) (= |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 ((.cse45 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse45 (+ (* (select .cse45 |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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse47 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse46 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse47))) (< .cse47 1) (< 4 .cse47) (= .cse47 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse35 .cse36 0)) |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 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |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 ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse13 0)) |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_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse50 (select v_ArrVal_101 .cse36))) (or (< .cse50 1) (< 4 .cse50) (< 0 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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)))) (not (= v_ArrVal_101 (store .cse35 .cse36 .cse50))) (= 4 .cse50)))) (<= 1 (let ((.cse52 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse52 (+ (* (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-04-03 22:20:35,295 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse46 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse57 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse38 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse58 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse57 .cse13) 4) 4)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse30 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse60 (+ (* (select .cse46 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse26 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse26 0) 0)) (.cse11 (store .cse46 .cse60 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse21 (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0)) (.cse22 (= (select .cse46 0) 0)) (.cse27 (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse39 (<= 1 (select .cse46 4))) (.cse29 (let ((.cse61 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse61 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse61 .cse30) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse46 .cse60 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse16 (store .cse57 .cse58 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse37 (let ((.cse59 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse59 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse59 .cse38) 4) 4) 1))) (.cse12 (store .cse57 .cse58 1))) (and (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse0 (select v_ArrVal_101 .cse3))) (or (< (+ 3 .cse0) 0) (< 0 (let ((.cse1 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse1 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse0) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse0)))))) (not (= |c_reader_twoThread1of1ForFork0_#in~arg#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse6 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse4 .cse5 .cse6))) (< (+ 3 .cse6) 0) (< 0 (let ((.cse7 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse7 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse7 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse6)))) .cse8 (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) 0) 0) (= (select .cse9 0) 0) (<= 1 (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse11 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse10 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse14 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse14))) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse14) (< (+ .cse14 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse17 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse17))) (< 0 (let ((.cse18 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse17) (< (+ .cse17 3) 0)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse19 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse19))) (< .cse19 1) (< 0 (let ((.cse20 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse19 4) (< 4 .cse19)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) .cse21 .cse22 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse2 .cse3 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse23 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse24 (select .cse26 20)) (.cse25 (= (select .cse26 4) 1))) (or (and .cse8 (= 0 .cse24) .cse25) (and .cse8 (<= 1 .cse24) (<= .cse24 3) .cse25) (and .cse8 (<= (+ 1 .cse24) 0) (<= 0 (+ 3 .cse24)) .cse25))) .cse27 (<= 1 (let ((.cse28 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse29 .cse30 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse28 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse28 |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|) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem7#1| 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse31 (select v_ArrVal_101 .cse5))) (or (< 4 .cse31) (< .cse31 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse31))) (< 0 (let ((.cse32 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse32 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse31 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse33 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse33))) (< (+ 3 .cse33) 0) (< 0 (let ((.cse34 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse34 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse33)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse35 (select v_ArrVal_101 .cse38))) (or (< (+ 3 .cse35) 0) (< 0 .cse35) (< 0 (let ((.cse36 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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)))) (not (= v_ArrVal_101 (store .cse37 .cse38 .cse35)))))) .cse39 (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse40 (select v_ArrVal_101 .cse30))) (or (= .cse40 4) (not (= v_ArrVal_101 (store .cse29 .cse30 .cse40))) (< .cse40 1) (< 4 .cse40) (< 0 (let ((.cse41 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse41 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4))))))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse42 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse16 .cse13 .cse42))) (< .cse42 1) (< 0 (let ((.cse43 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse43 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse42 4) (< 4 .cse42)))) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (= |c_writer_fnThread1of1ForFork1_~i~1#1| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse44 (select v_ArrVal_101 .cse5))) (or (< 4 .cse44) (< .cse44 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse44))) (< 0 (let ((.cse45 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |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)))) (= .cse44 4)))) (or (= 0 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (and .cse21 .cse22 .cse27 .cse39 (= (select .cse46 20) 0))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse47 (select v_ArrVal_101 .cse30))) (or (not (= v_ArrVal_101 (store .cse29 .cse30 .cse47))) (< 0 .cse47) (< 0 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse48 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse48 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse47 3) 0)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 0) (= |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 ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse4 .cse5 0)) |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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse51 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse50 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse50 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse51))) (< .cse51 1) (< 4 .cse51) (= .cse51 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse52 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse37 .cse38 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse52 (+ (* (select .cse52 |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|)) (= |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 ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse13 0)) |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)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse54 (select v_ArrVal_101 .cse38))) (or (< .cse54 1) (< 4 .cse54) (< 0 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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 (= v_ArrVal_101 (store .cse37 .cse38 .cse54))) (= 4 .cse54)))) (<= 1 (let ((.cse56 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse12 .cse13 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)))))))) is different from false [2024-04-03 22:20:38,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-03 22:20:38,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-04-03 22:20:38,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 82 states. [2024-04-03 22:20:38,592 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-04-03 22:20:38,781 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,SelfDestructingSolverStorable2 [2024-04-03 22:20:38,782 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-04-03 22:20:38,783 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-03 22:20:38,784 INFO L85 PathProgramCache]: Analyzing trace with hash 250164921, now seen corresponding path program 1 times [2024-04-03 22:20:38,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-03 22:20:38,784 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [383766056] [2024-04-03 22:20:38,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:20:38,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-03 22:20:38,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:20:41,402 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-03 22:20:41,403 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-03 22:20:41,403 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [383766056] [2024-04-03 22:20:41,403 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [383766056] provided 0 perfect and 1 imperfect interpolant sequences [2024-04-03 22:20:41,403 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1605893052] [2024-04-03 22:20:41,403 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:20:41,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-03 22:20:41,404 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-03 22:20:41,405 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-04-03 22:20:41,406 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-04-03 22:20:41,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:20:41,555 INFO L262 TraceCheckSpWp]: Trace formula consists of 345 conjuncts, 112 conjunts are in the unsatisfiable core [2024-04-03 22:20:41,577 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-03 22:20:41,582 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-04-03 22:20:41,594 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-04-03 22:20:41,594 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-04-03 22:20:41,614 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-04-03 22:20:41,618 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-04-03 22:20:41,668 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-04-03 22:20:41,692 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-04-03 22:20:41,736 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-04-03 22:20:41,961 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-04-03 22:20:42,687 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-04-03 22:20:42,705 INFO L349 Elim1Store]: treesize reduction 21, result has 34.4 percent of original size [2024-04-03 22:20:42,706 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 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 46 treesize of output 29 [2024-04-03 22:20:42,867 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 107 treesize of output 79 [2024-04-03 22:20:42,872 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-04-03 22:20:42,970 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 29 treesize of output 20 [2024-04-03 22:20:42,987 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 21 treesize of output 23 [2024-04-03 22:20:44,394 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-03 22:20:44,394 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-04-03 22:20:44,600 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-03 22:20:44,600 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-03 22:22:31,255 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-03 22:22:31,255 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1605893052] provided 0 perfect and 2 imperfect interpolant sequences [2024-04-03 22:22:31,255 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-04-03 22:22:31,255 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 39, 31] total 82 [2024-04-03 22:22:31,256 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [459750038] [2024-04-03 22:22:31,256 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-04-03 22:22:31,256 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 82 states [2024-04-03 22:22:31,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-03 22:22:31,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 82 interpolants. [2024-04-03 22:22:31,286 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=385, Invalid=6252, Unknown=5, NotChecked=0, Total=6642 [2024-04-03 22:22:31,286 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:22:31,286 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-03 22:22:31,286 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 82 states, 82 states have (on average 3.182926829268293) internal successors, (261), 82 states have internal predecessors, (261), 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-04-03 22:22:31,286 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-04-03 22:22:31,286 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2024-04-03 22:22:31,286 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 82 states. [2024-04-03 22:22:31,287 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-03 22:22:41,957 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-04-03 22:23:05,379 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.39s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:23:34,907 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse382 (mod (+ .cse161 1) 4))) (let ((.cse380 (+ .cse161 2)) (.cse381 (= .cse382 0)) (.cse383 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse380 0) (not .cse381) (= .cse382 (+ 4 .cse383)))) (.cse154 (and (or (< 0 .cse380) .cse381) (= .cse382 .cse383))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse253 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse258 (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse257 (store .cse258 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (select .cse258 .cse26)) (.cse251 (select (store .cse253 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse257 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse252 (select .cse251 .cse56)) (.cse256 (mod (+ .cse254 1) 4)) (.cse255 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse251 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse252) (not (= .cse252 (select (select .cse253 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse254) (= .cse255 .cse256) (not (= (mod (+ (select .cse257 .cse26) 1) 4) 0)) (= .cse256 (+ .cse255 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse264 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (+ (select .cse265 .cse26) 1))) (let ((.cse262 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 (mod .cse259 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse261 (select .cse262 .cse95)) (.cse260 (select .cse264 .cse26))) (or (< .cse259 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 (select .cse262 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse261 (select (select .cse263 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse260 1) 4) 0)) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse270 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse271 (select .cse270 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse271 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse266 (+ (select .cse272 .cse26) 1))) (let ((.cse269 (select (store .cse270 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 (mod .cse266 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse271 .cse26)) (.cse268 (select .cse269 .cse56))) (or (< .cse266 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (not (= (mod (+ .cse267 1) 4) 0)) (= .cse268 (select .cse269 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse268 (select (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse275 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse275 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse277 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (select (store .cse275 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse277 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse274 (select .cse273 .cse56)) (.cse276 (select .cse278 .cse26))) (or (= (select .cse273 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse274) (not (= .cse274 (select (select .cse275 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (not (= (mod (+ (select .cse277 .cse26) 1) 4) 0)) (not (= (mod (+ .cse276 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (select .cse286 .cse26))) (let ((.cse287 (mod (+ .cse279 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse279) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse285 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse282 (select .cse285 .cse26))) (let ((.cse284 (mod (+ .cse282 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse285 .cse26 (+ .cse284 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse280 (select .cse283 .cse95))) (or (not (= .cse280 (select (select .cse281 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse282 2)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse280) (= .cse284 0)))))))))) (< 0 (+ 2 .cse279)) (= .cse287 0) (= .cse287 (+ (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse293 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse290 (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse288 (select .cse290 .cse26))) (let ((.cse289 (mod (+ .cse288 1) 4))) (or (< 0 (+ 2 .cse288)) (= .cse289 0) (= .cse289 (+ (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse288) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse296 (store .cse290 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse296 .cse26))) (let ((.cse292 (mod (+ .cse291 1) 4))) (let ((.cse295 (select (store .cse293 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse296 .cse26 (+ .cse292 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse294 (select .cse295 .cse6))) (or (< 0 (+ .cse291 2)) (= .cse292 0) (not (= (select (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)) (= (select .cse295 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse303 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse303 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse297 1) 4))) (or (< 0 (+ 2 .cse297)) (= .cse298 0) (= .cse298 (+ (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse304 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse304 .cse26) 1))) (let ((.cse302 (select (store .cse303 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse304 .cse26 (mod .cse300 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse301 (select .cse302 .cse95))) (or (< .cse300 0) (= .cse301 (select .cse302 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse301 (select (select .cse303 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse311 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (store .cse311 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse312 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse312 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse305 (select .cse311 .cse26)) (.cse309 (select .cse310 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse305) (< 0 (+ .cse306 2)) (not (= (mod (+ .cse305 1) 4) 0)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309) (= (select .cse311 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse323 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse322 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse324 (select .cse323 .cse322))) (let ((.cse316 (mod (+ .cse324 1) 4))) (let ((.cse313 (+ 2 .cse324)) (.cse314 (= .cse316 0)) (.cse315 (select .cse323 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse313 0) (not .cse314) (= (+ .cse315 4) .cse316)) (and (or (< 0 .cse313) .cse314) (= .cse315 .cse316)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse321 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse321 .cse322))) (let ((.cse317 (mod (+ .cse320 1) 4))) (let ((.cse319 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse321 .cse322 (+ (- 4) .cse317))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse318 (select .cse319 .cse6))) (or (= .cse317 0) (not (= .cse1 .cse318)) (= .cse318 (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse320))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse327 (+ (select .cse328 .cse322) 1))) (let ((.cse326 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse328 .cse322 (mod .cse327 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse325 (select .cse326 .cse6))) (or (not (= .cse1 .cse325)) (= .cse325 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse327 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse331 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse330 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse331 .cse322 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse329 (select .cse330 .cse6))) (or (= .cse329 (select .cse330 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse329 .cse1)) (not (= (mod (+ (select .cse331 .cse322) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse336 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse337 (select .cse336 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse338 (store .cse337 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse337 .cse26)) (.cse333 (select (store .cse336 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse338 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse332 (select .cse333 .cse95)) (.cse334 (+ .cse335 1))) (or (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse334 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse335) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse332)) (= (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse334 4)) (not (= (mod (+ (select .cse338 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse339 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse343 (select .cse339 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse344 (store .cse343 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store .cse339 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse344 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse343 .cse26))) (let ((.cse341 (+ .cse342 1)) (.cse340 (select .cse345 .cse6))) (or (not (= (select (select .cse339 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)) (< .cse341 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (= (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse341 4)) (not (= (mod (+ (select .cse344 .cse26) 1) 4) 0)) (= (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse349 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse348 (select .cse353 .cse26)) (.cse347 (select (store .cse349 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse351 (mod (+ .cse348 1) 4)) (.cse350 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse348) (not (= (select (select .cse349 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= .cse350 .cse351) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0)) (= .cse351 (+ .cse350 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse359 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse359 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse363 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse355 (select .cse363 .cse26))) (let ((.cse358 (mod (+ .cse355 1) 4))) (let ((.cse361 (select (store .cse359 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse363 .cse26 (+ .cse358 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse354 (select .cse362 .cse26))) (let ((.cse357 (mod (+ .cse354 1) 4)) (.cse356 (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse360 (select .cse361 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (< 0 (+ .cse355 2)) (= .cse356 .cse357) (= .cse357 (+ .cse356 4)) (= .cse358 0) (not (= (select (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)) (= (select .cse361 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse370 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse370 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse371 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse364 (+ (select .cse371 .cse26) 1))) (let ((.cse369 (select (store .cse370 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse371 .cse26 (mod .cse364 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse366 (select .cse367 .cse26))) (let ((.cse365 (+ .cse366 1)) (.cse368 (select .cse369 .cse95))) (or (< .cse364 0) (< .cse365 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse366) (= (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse365 4)) (= .cse368 (select .cse369 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse368 (select (select .cse370 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse375 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse375 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse379 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse372 (+ (select .cse379 .cse26) 1))) (let ((.cse378 (select (store .cse375 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse379 .cse26 (mod .cse372 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse374 (select .cse377 .cse26))) (let ((.cse373 (+ .cse374 1)) (.cse376 (select .cse378 .cse6))) (or (< .cse372 0) (< .cse373 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse374) (not (= (select (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376)) (= (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse373 4)) (= (select .cse378 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376))))))))))))))) is different from true [2024-04-03 22:23:40,164 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.28s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:23:42,185 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:23:47,333 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-04-03 22:23:55,564 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:23:58,014 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-04-03 22:24:01,685 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.65s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:24:09,044 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-04-03 22:24:14,066 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.37s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:24:16,106 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-04-03 22:24:17,620 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.28s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:24:19,488 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.74s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:24:23,969 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (let ((.cse162 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse163 (select .cse162 .cse161))) (let ((.cse155 (mod (+ .cse163 1) 4))) (let ((.cse153 (+ .cse163 2)) (.cse154 (= .cse155 0)) (.cse156 (select .cse162 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (or (and (<= .cse153 0) (not .cse154) (= .cse155 (+ 4 .cse156))) (and (or (< 0 .cse153) .cse154) (= .cse155 .cse156)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse160 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse159 (+ (select .cse160 .cse161) 1))) (let ((.cse157 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse160 .cse161 (mod .cse159 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse158 (select .cse157 .cse6))) (or (= (select .cse157 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse158) (< .cse159 0) (not (= .cse1 .cse158)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse164 .cse161 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (not (= (mod (+ (select .cse164 .cse161) 1) 4) 0)) (not (= .cse165 .cse1)) (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (select .cse171 .cse161))) (let ((.cse170 (mod (+ .cse169 1) 4))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse171 .cse161 (+ .cse170 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 .cse6))) (or (= .cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse167)) (< 0 (+ 2 .cse169)) (= .cse170 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse178 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse179 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse180 (store .cse179 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse172 (+ (select .cse180 .cse26) 1))) (let ((.cse173 (select .cse179 .cse26)) (.cse177 (select (store .cse178 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse180 .cse26 (mod .cse172 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse176 (select .cse177 .cse95)) (.cse175 (mod (+ .cse173 1) 4)) (.cse174 (select .cse179 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse172 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (= .cse174 .cse175) (= .cse176 (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse176 (select (select .cse178 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse175 (+ .cse174 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse186 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse184 (select .cse186 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (store .cse184 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (select .cse189 .cse26))) (let ((.cse185 (mod (+ .cse183 1) 4))) (let ((.cse188 (select (store .cse186 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse189 .cse26 (+ .cse185 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse182 (select .cse184 .cse26))) (let ((.cse181 (+ .cse182 1)) (.cse187 (select .cse188 .cse6))) (or (< .cse181 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse182) (< 0 (+ .cse183 2)) (= (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse181 4)) (= .cse185 0) (not (= (select (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)) (= (select .cse188 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse191 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse195 (select .cse191 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse190 (select .cse195 .cse26))) (let ((.cse196 (mod (+ .cse190 1) 4))) (or (< 0 (+ 2 .cse190)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse193 (store .cse195 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse194 (select (store .cse191 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse193 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse194 .cse6))) (or (not (= (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)) (not (= (mod (+ (select .cse193 .cse26) 1) 4) 0)) (= (select .cse194 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)))))) (= .cse196 0) (= .cse196 (+ (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse202 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse199 (select .cse202 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse197 (select .cse199 .cse26))) (let ((.cse198 (mod (+ .cse197 1) 4))) (or (< 0 (+ 2 .cse197)) (= .cse198 0) (= .cse198 (+ (select .cse199 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse203 (store .cse199 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse201 (select (store .cse202 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse203 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse200 (select .cse201 .cse95))) (or (= .cse200 (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse202 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse200)) (not (= (mod (+ (select .cse203 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse205 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse209 (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse212 (store .cse209 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse208 (select .cse212 .cse26))) (let ((.cse211 (mod (+ .cse208 1) 4))) (let ((.cse210 (select (store .cse205 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse212 .cse26 (+ .cse211 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse207 (select .cse209 .cse26))) (let ((.cse206 (+ .cse207 1)) (.cse204 (select .cse210 .cse95))) (or (not (= .cse204 (select (select .cse205 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse206 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse207) (< 0 (+ .cse208 2)) (= (select .cse209 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse206 4)) (= (select .cse210 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse204) (= .cse211 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse220 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse218 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse219 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse218 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse215 (select .cse220 .cse26))) (let ((.cse217 (mod (+ .cse215 1) 4)) (.cse216 (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse214 (select .cse219 .cse6))) (or (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse215) (= .cse216 .cse217) (not (= (mod (+ (select .cse218 .cse26) 1) 4) 0)) (= .cse217 (+ .cse216 4)) (= (select .cse219 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse227 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (select .cse223 .cse26))) (let ((.cse222 (mod (+ .cse221 1) 4))) (or (< 0 (+ 2 .cse221)) (= .cse222 0) (= .cse222 (+ (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse228 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (+ (select .cse228 .cse26) 1))) (let ((.cse226 (select (store .cse227 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse228 .cse26 (mod .cse224 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse225 (select .cse226 .cse56))) (or (< .cse224 0) (= .cse225 (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse225 (select (select .cse227 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse237 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse238 (store .cse237 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse232 (select .cse238 .cse26))) (let ((.cse236 (mod (+ .cse232 1) 4))) (let ((.cse231 (select .cse237 .cse26)) (.cse235 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse238 .cse26 (+ .cse236 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse229 (select .cse235 .cse95)) (.cse234 (mod (+ .cse231 1) 4)) (.cse233 (select .cse237 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse229 (select (select .cse230 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse231) (< 0 (+ .cse232 2)) (= .cse233 .cse234) (= (select .cse235 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse229) (= .cse234 (+ .cse233 4)) (= .cse236 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse241 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse246 (select .cse241 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse245 (store .cse246 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse242 (select .cse246 .cse26)) (.cse239 (select (store .cse241 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse245 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse240 (select .cse239 .cse56)) (.cse244 (mod (+ .cse242 1) 4)) (.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse239 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse240) (not (= .cse240 (select (select .cse241 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse242) (= .cse243 .cse244) (not (= (mod (+ (select .cse245 .cse26) 1) 4) 0)) (= .cse244 (+ .cse243 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse251 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse252 (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse253 (store .cse252 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse247 (+ (select .cse253 .cse26) 1))) (let ((.cse250 (select (store .cse251 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse253 .cse26 (mod .cse247 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse249 (select .cse250 .cse95)) (.cse248 (select .cse252 .cse26))) (or (< .cse247 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse248) (= .cse249 (select .cse250 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse249 (select (select .cse251 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse248 1) 4) 0)) (= (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse259 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse260 (store .cse259 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse260 .cse26) 1))) (let ((.cse257 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse260 .cse26 (mod .cse254 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse255 (select .cse259 .cse26)) (.cse256 (select .cse257 .cse56))) (or (< .cse254 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse255) (not (= (mod (+ .cse255 1) 4) 0)) (= .cse256 (select .cse257 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse256 (select (select .cse258 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse259 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse266 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse266 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse261 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse262 (select .cse261 .cse56)) (.cse264 (select .cse266 .cse26))) (or (= (select .cse261 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse262) (not (= .cse262 (select (select .cse263 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse264) (not (= (mod (+ (select .cse265 .cse26) 1) 4) 0)) (not (= (mod (+ .cse264 1) 4) 0)) (= (select .cse266 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse269 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse274 (select .cse269 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse267 (select .cse274 .cse26))) (let ((.cse275 (mod (+ .cse267 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse274 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse270 (select .cse273 .cse26))) (let ((.cse272 (mod (+ .cse270 1) 4))) (let ((.cse271 (select (store .cse269 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (+ .cse272 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse268 (select .cse271 .cse95))) (or (not (= .cse268 (select (select .cse269 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse270 2)) (= (select .cse271 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse268) (= .cse272 0)))))))))) (< 0 (+ 2 .cse267)) (= .cse275 0) (= .cse275 (+ (select .cse274 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse276 (select .cse278 .cse26))) (let ((.cse277 (mod (+ .cse276 1) 4))) (or (< 0 (+ 2 .cse276)) (= .cse277 0) (= .cse277 (+ (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse284 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse279 (select .cse284 .cse26))) (let ((.cse280 (mod (+ .cse279 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse284 .cse26 (+ .cse280 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse282 (select .cse283 .cse6))) (or (< 0 (+ .cse279 2)) (= .cse280 0) (not (= (select (select .cse281 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse291 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse287 (select .cse291 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse285 (select .cse287 .cse26))) (let ((.cse286 (mod (+ .cse285 1) 4))) (or (< 0 (+ 2 .cse285)) (= .cse286 0) (= .cse286 (+ (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse292 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (+ (select .cse292 .cse26) 1))) (let ((.cse290 (select (store .cse291 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 (mod .cse288 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse289 (select .cse290 .cse95))) (or (< .cse288 0) (= .cse289 (select .cse290 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse289 (select (select .cse291 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse300 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse294 (select .cse300 .cse26))) (let ((.cse295 (mod (+ .cse294 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse293 (select .cse299 .cse26)) (.cse297 (select .cse298 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (< 0 (+ .cse294 2)) (not (= (mod (+ .cse293 1) 4) 0)) (= .cse295 0) (not (= (select (select .cse296 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297) (= (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse311 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse310 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse312 (select .cse311 .cse310))) (let ((.cse304 (mod (+ .cse312 1) 4))) (let ((.cse301 (+ 2 .cse312)) (.cse302 (= .cse304 0)) (.cse303 (select .cse311 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse301 0) (not .cse302) (= (+ .cse303 4) .cse304)) (and (or (< 0 .cse301) .cse302) (= .cse303 .cse304)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse309 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (select .cse309 .cse310))) (let ((.cse305 (mod (+ .cse308 1) 4))) (let ((.cse307 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse309 .cse310 (+ (- 4) .cse305))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse306 (select .cse307 .cse6))) (or (= .cse305 0) (not (= .cse1 .cse306)) (= .cse306 (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse308))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse316 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse316 .cse310) 1))) (let ((.cse314 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse316 .cse310 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse313 (select .cse314 .cse6))) (or (not (= .cse1 .cse313)) (= .cse313 (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse315 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse318 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse319 .cse310 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse317 (select .cse318 .cse6))) (or (= .cse317 (select .cse318 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse317 .cse1)) (not (= (mod (+ (select .cse319 .cse310) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse324 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse323 (select .cse325 .cse26)) (.cse321 (select (store .cse324 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse320 (select .cse321 .cse95)) (.cse322 (+ .cse323 1))) (or (= .cse320 (select .cse321 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse322 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse323) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse320)) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse322 4)) (not (= (mod (+ (select .cse326 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse327 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse331 (select .cse327 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse332 (store .cse331 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse333 (select (store .cse327 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse332 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse330 (select .cse331 .cse26))) (let ((.cse329 (+ .cse330 1)) (.cse328 (select .cse333 .cse6))) (or (not (= (select (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)) (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (= (select .cse331 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse329 4)) (not (= (mod (+ (select .cse332 .cse26) 1) 4) 0)) (= (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse337 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select .cse341 .cse26)) (.cse335 (select (store .cse337 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse334 (select .cse335 .cse95)) (.cse339 (mod (+ .cse336 1) 4)) (.cse338 (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse334 (select .cse335 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse336) (not (= (select (select .cse337 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse334)) (= .cse338 .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (= .cse339 (+ .cse338 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse347 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse350 (select .cse347 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (store .cse350 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse343 (select .cse351 .cse26))) (let ((.cse346 (mod (+ .cse343 1) 4))) (let ((.cse349 (select (store .cse347 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse351 .cse26 (+ .cse346 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse350 .cse26))) (let ((.cse345 (mod (+ .cse342 1) 4)) (.cse344 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse348 (select .cse349 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (< 0 (+ .cse343 2)) (= .cse344 .cse345) (= .cse345 (+ .cse344 4)) (= .cse346 0) (not (= (select (select .cse347 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)) (= (select .cse349 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse358 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse355 (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse355 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse352 (+ (select .cse359 .cse26) 1))) (let ((.cse357 (select (store .cse358 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (mod .cse352 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse354 (select .cse355 .cse26))) (let ((.cse353 (+ .cse354 1)) (.cse356 (select .cse357 .cse95))) (or (< .cse352 0) (< .cse353 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (= (select .cse355 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse353 4)) (= .cse356 (select .cse357 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse356 (select (select .cse358 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse365 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse365 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (+ (select .cse367 .cse26) 1))) (let ((.cse366 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse360 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse362 (select .cse365 .cse26))) (let ((.cse361 (+ .cse362 1)) (.cse364 (select .cse366 .cse6))) (or (< .cse360 0) (< .cse361 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364)) (= (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse361 4)) (= (select .cse366 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364))))))))))) is different from true [2024-04-03 22:24:27,863 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (let ((.cse162 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse163 (select .cse162 .cse161))) (let ((.cse155 (mod (+ .cse163 1) 4))) (let ((.cse153 (+ .cse163 2)) (.cse154 (= .cse155 0)) (.cse156 (select .cse162 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (or (and (<= .cse153 0) (not .cse154) (= .cse155 (+ 4 .cse156))) (and (or (< 0 .cse153) .cse154) (= .cse155 .cse156)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse160 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse159 (+ (select .cse160 .cse161) 1))) (let ((.cse157 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse160 .cse161 (mod .cse159 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse158 (select .cse157 .cse6))) (or (= (select .cse157 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse158) (< .cse159 0) (not (= .cse1 .cse158)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse164 .cse161 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (not (= (mod (+ (select .cse164 .cse161) 1) 4) 0)) (not (= .cse165 .cse1)) (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (select .cse171 .cse161))) (let ((.cse170 (mod (+ .cse169 1) 4))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse171 .cse161 (+ .cse170 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 .cse6))) (or (= .cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse167)) (< 0 (+ 2 .cse169)) (= .cse170 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse178 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse179 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse180 (store .cse179 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse172 (+ (select .cse180 .cse26) 1))) (let ((.cse173 (select .cse179 .cse26)) (.cse177 (select (store .cse178 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse180 .cse26 (mod .cse172 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse176 (select .cse177 .cse95)) (.cse175 (mod (+ .cse173 1) 4)) (.cse174 (select .cse179 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse172 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (= .cse174 .cse175) (= .cse176 (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse176 (select (select .cse178 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse175 (+ .cse174 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse186 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse184 (select .cse186 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (store .cse184 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (select .cse189 .cse26))) (let ((.cse185 (mod (+ .cse183 1) 4))) (let ((.cse188 (select (store .cse186 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse189 .cse26 (+ .cse185 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse182 (select .cse184 .cse26))) (let ((.cse181 (+ .cse182 1)) (.cse187 (select .cse188 .cse6))) (or (< .cse181 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse182) (< 0 (+ .cse183 2)) (= (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse181 4)) (= .cse185 0) (not (= (select (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)) (= (select .cse188 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse191 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse195 (select .cse191 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse190 (select .cse195 .cse26))) (let ((.cse196 (mod (+ .cse190 1) 4))) (or (< 0 (+ 2 .cse190)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse193 (store .cse195 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse194 (select (store .cse191 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse193 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse194 .cse6))) (or (not (= (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)) (not (= (mod (+ (select .cse193 .cse26) 1) 4) 0)) (= (select .cse194 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)))))) (= .cse196 0) (= .cse196 (+ (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse202 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse199 (select .cse202 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse197 (select .cse199 .cse26))) (let ((.cse198 (mod (+ .cse197 1) 4))) (or (< 0 (+ 2 .cse197)) (= .cse198 0) (= .cse198 (+ (select .cse199 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse203 (store .cse199 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse201 (select (store .cse202 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse203 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse200 (select .cse201 .cse95))) (or (= .cse200 (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse202 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse200)) (not (= (mod (+ (select .cse203 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse205 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse209 (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse212 (store .cse209 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse208 (select .cse212 .cse26))) (let ((.cse211 (mod (+ .cse208 1) 4))) (let ((.cse210 (select (store .cse205 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse212 .cse26 (+ .cse211 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse207 (select .cse209 .cse26))) (let ((.cse206 (+ .cse207 1)) (.cse204 (select .cse210 .cse95))) (or (not (= .cse204 (select (select .cse205 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse206 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse207) (< 0 (+ .cse208 2)) (= (select .cse209 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse206 4)) (= (select .cse210 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse204) (= .cse211 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse220 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse218 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse219 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse218 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse215 (select .cse220 .cse26))) (let ((.cse217 (mod (+ .cse215 1) 4)) (.cse216 (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse214 (select .cse219 .cse6))) (or (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse215) (= .cse216 .cse217) (not (= (mod (+ (select .cse218 .cse26) 1) 4) 0)) (= .cse217 (+ .cse216 4)) (= (select .cse219 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse227 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (select .cse223 .cse26))) (let ((.cse222 (mod (+ .cse221 1) 4))) (or (< 0 (+ 2 .cse221)) (= .cse222 0) (= .cse222 (+ (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse228 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (+ (select .cse228 .cse26) 1))) (let ((.cse226 (select (store .cse227 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse228 .cse26 (mod .cse224 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse225 (select .cse226 .cse56))) (or (< .cse224 0) (= .cse225 (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse225 (select (select .cse227 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse237 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse238 (store .cse237 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse232 (select .cse238 .cse26))) (let ((.cse236 (mod (+ .cse232 1) 4))) (let ((.cse231 (select .cse237 .cse26)) (.cse235 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse238 .cse26 (+ .cse236 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse229 (select .cse235 .cse95)) (.cse234 (mod (+ .cse231 1) 4)) (.cse233 (select .cse237 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse229 (select (select .cse230 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse231) (< 0 (+ .cse232 2)) (= .cse233 .cse234) (= (select .cse235 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse229) (= .cse234 (+ .cse233 4)) (= .cse236 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse241 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse246 (select .cse241 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse245 (store .cse246 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse242 (select .cse246 .cse26)) (.cse239 (select (store .cse241 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse245 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse240 (select .cse239 .cse56)) (.cse244 (mod (+ .cse242 1) 4)) (.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse239 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse240) (not (= .cse240 (select (select .cse241 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse242) (= .cse243 .cse244) (not (= (mod (+ (select .cse245 .cse26) 1) 4) 0)) (= .cse244 (+ .cse243 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse251 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse252 (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse253 (store .cse252 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse247 (+ (select .cse253 .cse26) 1))) (let ((.cse250 (select (store .cse251 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse253 .cse26 (mod .cse247 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse249 (select .cse250 .cse95)) (.cse248 (select .cse252 .cse26))) (or (< .cse247 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse248) (= .cse249 (select .cse250 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse249 (select (select .cse251 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse248 1) 4) 0)) (= (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse259 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse260 (store .cse259 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse260 .cse26) 1))) (let ((.cse257 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse260 .cse26 (mod .cse254 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse255 (select .cse259 .cse26)) (.cse256 (select .cse257 .cse56))) (or (< .cse254 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse255) (not (= (mod (+ .cse255 1) 4) 0)) (= .cse256 (select .cse257 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse256 (select (select .cse258 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse259 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse266 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse266 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse261 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse262 (select .cse261 .cse56)) (.cse264 (select .cse266 .cse26))) (or (= (select .cse261 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse262) (not (= .cse262 (select (select .cse263 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse264) (not (= (mod (+ (select .cse265 .cse26) 1) 4) 0)) (not (= (mod (+ .cse264 1) 4) 0)) (= (select .cse266 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse269 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse274 (select .cse269 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse267 (select .cse274 .cse26))) (let ((.cse275 (mod (+ .cse267 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse274 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse270 (select .cse273 .cse26))) (let ((.cse272 (mod (+ .cse270 1) 4))) (let ((.cse271 (select (store .cse269 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (+ .cse272 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse268 (select .cse271 .cse95))) (or (not (= .cse268 (select (select .cse269 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse270 2)) (= (select .cse271 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse268) (= .cse272 0)))))))))) (< 0 (+ 2 .cse267)) (= .cse275 0) (= .cse275 (+ (select .cse274 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse276 (select .cse278 .cse26))) (let ((.cse277 (mod (+ .cse276 1) 4))) (or (< 0 (+ 2 .cse276)) (= .cse277 0) (= .cse277 (+ (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse284 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse279 (select .cse284 .cse26))) (let ((.cse280 (mod (+ .cse279 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse284 .cse26 (+ .cse280 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse282 (select .cse283 .cse6))) (or (< 0 (+ .cse279 2)) (= .cse280 0) (not (= (select (select .cse281 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse291 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse287 (select .cse291 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse285 (select .cse287 .cse26))) (let ((.cse286 (mod (+ .cse285 1) 4))) (or (< 0 (+ 2 .cse285)) (= .cse286 0) (= .cse286 (+ (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse292 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (+ (select .cse292 .cse26) 1))) (let ((.cse290 (select (store .cse291 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 (mod .cse288 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse289 (select .cse290 .cse95))) (or (< .cse288 0) (= .cse289 (select .cse290 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse289 (select (select .cse291 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse300 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse294 (select .cse300 .cse26))) (let ((.cse295 (mod (+ .cse294 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse293 (select .cse299 .cse26)) (.cse297 (select .cse298 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (< 0 (+ .cse294 2)) (not (= (mod (+ .cse293 1) 4) 0)) (= .cse295 0) (not (= (select (select .cse296 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297) (= (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse311 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse310 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse312 (select .cse311 .cse310))) (let ((.cse304 (mod (+ .cse312 1) 4))) (let ((.cse301 (+ 2 .cse312)) (.cse302 (= .cse304 0)) (.cse303 (select .cse311 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse301 0) (not .cse302) (= (+ .cse303 4) .cse304)) (and (or (< 0 .cse301) .cse302) (= .cse303 .cse304)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse309 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (select .cse309 .cse310))) (let ((.cse305 (mod (+ .cse308 1) 4))) (let ((.cse307 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse309 .cse310 (+ (- 4) .cse305))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse306 (select .cse307 .cse6))) (or (= .cse305 0) (not (= .cse1 .cse306)) (= .cse306 (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse308))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse316 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse316 .cse310) 1))) (let ((.cse314 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse316 .cse310 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse313 (select .cse314 .cse6))) (or (not (= .cse1 .cse313)) (= .cse313 (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse315 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse318 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse319 .cse310 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse317 (select .cse318 .cse6))) (or (= .cse317 (select .cse318 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse317 .cse1)) (not (= (mod (+ (select .cse319 .cse310) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse324 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse323 (select .cse325 .cse26)) (.cse321 (select (store .cse324 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse320 (select .cse321 .cse95)) (.cse322 (+ .cse323 1))) (or (= .cse320 (select .cse321 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse322 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse323) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse320)) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse322 4)) (not (= (mod (+ (select .cse326 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse327 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse331 (select .cse327 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse332 (store .cse331 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse333 (select (store .cse327 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse332 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse330 (select .cse331 .cse26))) (let ((.cse329 (+ .cse330 1)) (.cse328 (select .cse333 .cse6))) (or (not (= (select (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)) (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (= (select .cse331 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse329 4)) (not (= (mod (+ (select .cse332 .cse26) 1) 4) 0)) (= (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse337 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select .cse341 .cse26)) (.cse335 (select (store .cse337 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse334 (select .cse335 .cse95)) (.cse339 (mod (+ .cse336 1) 4)) (.cse338 (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse334 (select .cse335 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse336) (not (= (select (select .cse337 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse334)) (= .cse338 .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (= .cse339 (+ .cse338 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse347 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse350 (select .cse347 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (store .cse350 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse343 (select .cse351 .cse26))) (let ((.cse346 (mod (+ .cse343 1) 4))) (let ((.cse349 (select (store .cse347 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse351 .cse26 (+ .cse346 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse350 .cse26))) (let ((.cse345 (mod (+ .cse342 1) 4)) (.cse344 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse348 (select .cse349 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (< 0 (+ .cse343 2)) (= .cse344 .cse345) (= .cse345 (+ .cse344 4)) (= .cse346 0) (not (= (select (select .cse347 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)) (= (select .cse349 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse358 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse355 (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse355 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse352 (+ (select .cse359 .cse26) 1))) (let ((.cse357 (select (store .cse358 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (mod .cse352 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse354 (select .cse355 .cse26))) (let ((.cse353 (+ .cse354 1)) (.cse356 (select .cse357 .cse95))) (or (< .cse352 0) (< .cse353 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (= (select .cse355 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse353 4)) (= .cse356 (select .cse357 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse356 (select (select .cse358 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse365 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse365 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (+ (select .cse367 .cse26) 1))) (let ((.cse366 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse360 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse362 (select .cse365 .cse26))) (let ((.cse361 (+ .cse362 1)) (.cse364 (select .cse366 .cse6))) (or (< .cse360 0) (< .cse361 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364)) (= (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse361 4)) (= (select .cse366 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364))))))))))) is different from true [2024-04-03 22:24:32,223 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse382 (mod (+ .cse161 1) 4))) (let ((.cse380 (+ .cse161 2)) (.cse381 (= .cse382 0)) (.cse383 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse380 0) (not .cse381) (= .cse382 (+ 4 .cse383)))) (.cse154 (and (or (< 0 .cse380) .cse381) (= .cse382 .cse383))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse253 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse258 (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse257 (store .cse258 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (select .cse258 .cse26)) (.cse251 (select (store .cse253 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse257 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse252 (select .cse251 .cse56)) (.cse256 (mod (+ .cse254 1) 4)) (.cse255 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse251 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse252) (not (= .cse252 (select (select .cse253 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse254) (= .cse255 .cse256) (not (= (mod (+ (select .cse257 .cse26) 1) 4) 0)) (= .cse256 (+ .cse255 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse264 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (+ (select .cse265 .cse26) 1))) (let ((.cse262 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 (mod .cse259 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse261 (select .cse262 .cse95)) (.cse260 (select .cse264 .cse26))) (or (< .cse259 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 (select .cse262 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse261 (select (select .cse263 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse260 1) 4) 0)) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse270 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse271 (select .cse270 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse271 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse266 (+ (select .cse272 .cse26) 1))) (let ((.cse269 (select (store .cse270 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 (mod .cse266 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse271 .cse26)) (.cse268 (select .cse269 .cse56))) (or (< .cse266 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (not (= (mod (+ .cse267 1) 4) 0)) (= .cse268 (select .cse269 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse268 (select (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse275 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse275 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse277 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (select (store .cse275 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse277 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse274 (select .cse273 .cse56)) (.cse276 (select .cse278 .cse26))) (or (= (select .cse273 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse274) (not (= .cse274 (select (select .cse275 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (not (= (mod (+ (select .cse277 .cse26) 1) 4) 0)) (not (= (mod (+ .cse276 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (select .cse286 .cse26))) (let ((.cse287 (mod (+ .cse279 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse279) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse285 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse282 (select .cse285 .cse26))) (let ((.cse284 (mod (+ .cse282 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse285 .cse26 (+ .cse284 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse280 (select .cse283 .cse95))) (or (not (= .cse280 (select (select .cse281 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse282 2)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse280) (= .cse284 0)))))))))) (< 0 (+ 2 .cse279)) (= .cse287 0) (= .cse287 (+ (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse293 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse290 (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse288 (select .cse290 .cse26))) (let ((.cse289 (mod (+ .cse288 1) 4))) (or (< 0 (+ 2 .cse288)) (= .cse289 0) (= .cse289 (+ (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse288) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse296 (store .cse290 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse296 .cse26))) (let ((.cse292 (mod (+ .cse291 1) 4))) (let ((.cse295 (select (store .cse293 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse296 .cse26 (+ .cse292 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse294 (select .cse295 .cse6))) (or (< 0 (+ .cse291 2)) (= .cse292 0) (not (= (select (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)) (= (select .cse295 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse303 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse303 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse297 1) 4))) (or (< 0 (+ 2 .cse297)) (= .cse298 0) (= .cse298 (+ (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse304 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse304 .cse26) 1))) (let ((.cse302 (select (store .cse303 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse304 .cse26 (mod .cse300 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse301 (select .cse302 .cse95))) (or (< .cse300 0) (= .cse301 (select .cse302 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse301 (select (select .cse303 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse311 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (store .cse311 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse312 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse312 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse305 (select .cse311 .cse26)) (.cse309 (select .cse310 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse305) (< 0 (+ .cse306 2)) (not (= (mod (+ .cse305 1) 4) 0)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309) (= (select .cse311 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse323 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse322 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse324 (select .cse323 .cse322))) (let ((.cse316 (mod (+ .cse324 1) 4))) (let ((.cse313 (+ 2 .cse324)) (.cse314 (= .cse316 0)) (.cse315 (select .cse323 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse313 0) (not .cse314) (= (+ .cse315 4) .cse316)) (and (or (< 0 .cse313) .cse314) (= .cse315 .cse316)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse321 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse321 .cse322))) (let ((.cse317 (mod (+ .cse320 1) 4))) (let ((.cse319 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse321 .cse322 (+ (- 4) .cse317))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse318 (select .cse319 .cse6))) (or (= .cse317 0) (not (= .cse1 .cse318)) (= .cse318 (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse320))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse327 (+ (select .cse328 .cse322) 1))) (let ((.cse326 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse328 .cse322 (mod .cse327 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse325 (select .cse326 .cse6))) (or (not (= .cse1 .cse325)) (= .cse325 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse327 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse331 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse330 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse331 .cse322 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse329 (select .cse330 .cse6))) (or (= .cse329 (select .cse330 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse329 .cse1)) (not (= (mod (+ (select .cse331 .cse322) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse336 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse337 (select .cse336 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse338 (store .cse337 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse337 .cse26)) (.cse333 (select (store .cse336 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse338 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse332 (select .cse333 .cse95)) (.cse334 (+ .cse335 1))) (or (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse334 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse335) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse332)) (= (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse334 4)) (not (= (mod (+ (select .cse338 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse339 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse343 (select .cse339 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse344 (store .cse343 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store .cse339 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse344 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse343 .cse26))) (let ((.cse341 (+ .cse342 1)) (.cse340 (select .cse345 .cse6))) (or (not (= (select (select .cse339 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)) (< .cse341 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (= (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse341 4)) (not (= (mod (+ (select .cse344 .cse26) 1) 4) 0)) (= (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse349 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse348 (select .cse353 .cse26)) (.cse347 (select (store .cse349 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse351 (mod (+ .cse348 1) 4)) (.cse350 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse348) (not (= (select (select .cse349 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= .cse350 .cse351) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0)) (= .cse351 (+ .cse350 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse359 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse359 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse363 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse355 (select .cse363 .cse26))) (let ((.cse358 (mod (+ .cse355 1) 4))) (let ((.cse361 (select (store .cse359 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse363 .cse26 (+ .cse358 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse354 (select .cse362 .cse26))) (let ((.cse357 (mod (+ .cse354 1) 4)) (.cse356 (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse360 (select .cse361 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (< 0 (+ .cse355 2)) (= .cse356 .cse357) (= .cse357 (+ .cse356 4)) (= .cse358 0) (not (= (select (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)) (= (select .cse361 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse370 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse370 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse371 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse364 (+ (select .cse371 .cse26) 1))) (let ((.cse369 (select (store .cse370 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse371 .cse26 (mod .cse364 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse366 (select .cse367 .cse26))) (let ((.cse365 (+ .cse366 1)) (.cse368 (select .cse369 .cse95))) (or (< .cse364 0) (< .cse365 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse366) (= (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse365 4)) (= .cse368 (select .cse369 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse368 (select (select .cse370 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse375 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse375 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse379 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse372 (+ (select .cse379 .cse26) 1))) (let ((.cse378 (select (store .cse375 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse379 .cse26 (mod .cse372 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse374 (select .cse377 .cse26))) (let ((.cse373 (+ .cse374 1)) (.cse376 (select .cse378 .cse6))) (or (< .cse372 0) (< .cse373 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse374) (not (= (select (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376)) (= (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse373 4)) (= (select .cse378 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376))))))))))))))) is different from true [2024-04-03 22:24:36,346 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse396 (mod (+ .cse161 1) 4))) (let ((.cse394 (+ .cse161 2)) (.cse395 (= .cse396 0)) (.cse397 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse394 0) (not .cse395) (= .cse396 (+ 4 .cse397)))) (.cse154 (and (or (< 0 .cse394) .cse395) (= .cse396 .cse397))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (or (let ((.cse254 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse255 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse256 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse253 (+ (select .cse256 .cse159) 1))) (let ((.cse252 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse256 .cse159 (mod .cse253 4))))) (or (let ((.cse251 (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse251 .cse6))) (< .cse253 0) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse261 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (select .cse261 .cse159))) (let ((.cse260 (mod (+ .cse259 1) 4))) (let ((.cse258 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse261 .cse159 (+ .cse260 (- 4)))))) (or (let ((.cse257 (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse257 .cse6) (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse259)) (= .cse260 0) (not (= .cse255 (select (select .cse258 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse263 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse159 0)))) (or (not (= (mod (+ (select .cse262 .cse159) 1) 4) 0)) (not (= (select (select .cse263 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255)) (let ((.cse264 (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse264 .cse6) (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse272 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse271 (store .cse272 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse268 (select .cse272 .cse26)) (.cse265 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse271 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse266 (select .cse265 .cse56)) (.cse270 (mod (+ .cse268 1) 4)) (.cse269 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse265 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse266) (not (= .cse266 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse268) (= .cse269 .cse270) (not (= (mod (+ (select .cse271 .cse26) 1) 4) 0)) (= .cse270 (+ .cse269 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse277 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse277 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (+ (select .cse279 .cse26) 1))) (let ((.cse276 (select (store .cse277 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse279 .cse26 (mod .cse273 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse275 (select .cse276 .cse95)) (.cse274 (select .cse278 .cse26))) (or (< .cse273 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse274) (= .cse275 (select .cse276 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse275 (select (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse274 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse284 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse285 (select .cse284 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse286 (store .cse285 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (+ (select .cse286 .cse26) 1))) (let ((.cse283 (select (store .cse284 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse286 .cse26 (mod .cse280 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse281 (select .cse285 .cse26)) (.cse282 (select .cse283 .cse56))) (or (< .cse280 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse281) (not (= (mod (+ .cse281 1) 4) 0)) (= .cse282 (select .cse283 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse282 (select (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse292 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse291 (store .cse292 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse287 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse291 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse288 (select .cse287 .cse56)) (.cse290 (select .cse292 .cse26))) (or (= (select .cse287 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse288) (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (not (= (mod (+ (select .cse291 .cse26) 1) 4) 0)) (not (= (mod (+ .cse290 1) 4) 0)) (= (select .cse292 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse295 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse300 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse293 (select .cse300 .cse26))) (let ((.cse301 (mod (+ .cse293 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse299 (store .cse300 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse296 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse296 1) 4))) (let ((.cse297 (select (store .cse295 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse299 .cse26 (+ .cse298 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse294 (select .cse297 .cse95))) (or (not (= .cse294 (select (select .cse295 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse296 2)) (= (select .cse297 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse294) (= .cse298 0)))))))))) (< 0 (+ 2 .cse293)) (= .cse301 0) (= .cse301 (+ (select .cse300 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse307 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse304 (select .cse307 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse302 (select .cse304 .cse26))) (let ((.cse303 (mod (+ .cse302 1) 4))) (or (< 0 (+ 2 .cse302)) (= .cse303 0) (= .cse303 (+ (select .cse304 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse302) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse310 (store .cse304 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse310 .cse26))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse309 (select (store .cse307 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse310 .cse26 (+ .cse306 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse308 (select .cse309 .cse6))) (or (< 0 (+ .cse305 2)) (= .cse306 0) (not (= (select (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)) (= (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse317 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse313 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse311 (select .cse313 .cse26))) (let ((.cse312 (mod (+ .cse311 1) 4))) (or (< 0 (+ 2 .cse311)) (= .cse312 0) (= .cse312 (+ (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse318 (store .cse313 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (+ (select .cse318 .cse26) 1))) (let ((.cse316 (select (store .cse317 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse318 .cse26 (mod .cse314 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse315 (select .cse316 .cse95))) (or (< .cse314 0) (= .cse315 (select .cse316 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse315 (select (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse326 .cse26))) (let ((.cse321 (mod (+ .cse320 1) 4))) (let ((.cse324 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 (+ .cse321 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse319 (select .cse325 .cse26)) (.cse323 (select .cse324 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse319) (< 0 (+ .cse320 2)) (not (= (mod (+ .cse319 1) 4) 0)) (= .cse321 0) (not (= (select (select .cse322 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323)) (= (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse337 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse336 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse338 (select .cse337 .cse336))) (let ((.cse330 (mod (+ .cse338 1) 4))) (let ((.cse327 (+ 2 .cse338)) (.cse328 (= .cse330 0)) (.cse329 (select .cse337 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse327 0) (not .cse328) (= (+ .cse329 4) .cse330)) (and (or (< 0 .cse327) .cse328) (= .cse329 .cse330)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse335 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse334 (select .cse335 .cse336))) (let ((.cse331 (mod (+ .cse334 1) 4))) (let ((.cse333 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse335 .cse336 (+ (- 4) .cse331))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse332 (select .cse333 .cse6))) (or (= .cse331 0) (not (= .cse1 .cse332)) (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse334))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse342 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse341 (+ (select .cse342 .cse336) 1))) (let ((.cse340 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse342 .cse336 (mod .cse341 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse339 (select .cse340 .cse6))) (or (not (= .cse1 .cse339)) (= .cse339 (select .cse340 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse341 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse345 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse344 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse345 .cse336 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse343 (select .cse344 .cse6))) (or (= .cse343 (select .cse344 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse343 .cse1)) (not (= (mod (+ (select .cse345 .cse336) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse350 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse351 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse351 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse349 (select .cse351 .cse26)) (.cse347 (select (store .cse350 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse348 (+ .cse349 1))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse348 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse349) (not (= (select (select .cse350 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse348 4)) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse353 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse357 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse358 (store .cse357 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse359 (select (store .cse353 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse358 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse356 (select .cse357 .cse26))) (let ((.cse355 (+ .cse356 1)) (.cse354 (select .cse359 .cse6))) (or (not (= (select (select .cse353 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)) (< .cse355 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse356) (= (select .cse357 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse355 4)) (not (= (mod (+ (select .cse358 .cse26) 1) 4) 0)) (= (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse366 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (select .cse367 .cse26)) (.cse361 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse360 (select .cse361 .cse95)) (.cse365 (mod (+ .cse362 1) 4)) (.cse364 (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse360 (select .cse361 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse360)) (= .cse364 .cse365) (not (= (mod (+ (select .cse366 .cse26) 1) 4) 0)) (= .cse365 (+ .cse364 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse373 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse376 (select .cse373 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse377 (store .cse376 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4))) (let ((.cse375 (select (store .cse373 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse377 .cse26 (+ .cse372 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse368 (select .cse376 .cse26))) (let ((.cse371 (mod (+ .cse368 1) 4)) (.cse370 (select .cse376 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse374 (select .cse375 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (= .cse370 .cse371) (= .cse371 (+ .cse370 4)) (= .cse372 0) (not (= (select (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)) (= (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse384 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse381 (select .cse384 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse385 (store .cse381 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse378 (+ (select .cse385 .cse26) 1))) (let ((.cse383 (select (store .cse384 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse385 .cse26 (mod .cse378 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse380 (select .cse381 .cse26))) (let ((.cse379 (+ .cse380 1)) (.cse382 (select .cse383 .cse95))) (or (< .cse378 0) (< .cse379 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse380) (= (select .cse381 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse379 4)) (= .cse382 (select .cse383 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse382 (select (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse389 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse391 (select .cse389 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse393 (store .cse391 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse386 (+ (select .cse393 .cse26) 1))) (let ((.cse392 (select (store .cse389 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse393 .cse26 (mod .cse386 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse388 (select .cse391 .cse26))) (let ((.cse387 (+ .cse388 1)) (.cse390 (select .cse392 .cse6))) (or (< .cse386 0) (< .cse387 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse388) (not (= (select (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390)) (= (select .cse391 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse387 4)) (= (select .cse392 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390))))))))))))))) is different from true [2024-04-03 22:24:39,564 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse396 (mod (+ .cse161 1) 4))) (let ((.cse394 (+ .cse161 2)) (.cse395 (= .cse396 0)) (.cse397 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse394 0) (not .cse395) (= .cse396 (+ 4 .cse397)))) (.cse154 (and (or (< 0 .cse394) .cse395) (= .cse396 .cse397))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (or (let ((.cse254 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse255 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse256 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse253 (+ (select .cse256 .cse159) 1))) (let ((.cse252 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse256 .cse159 (mod .cse253 4))))) (or (let ((.cse251 (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse251 .cse6))) (< .cse253 0) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse261 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (select .cse261 .cse159))) (let ((.cse260 (mod (+ .cse259 1) 4))) (let ((.cse258 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse261 .cse159 (+ .cse260 (- 4)))))) (or (let ((.cse257 (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse257 .cse6) (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse259)) (= .cse260 0) (not (= .cse255 (select (select .cse258 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse263 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse159 0)))) (or (not (= (mod (+ (select .cse262 .cse159) 1) 4) 0)) (not (= (select (select .cse263 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255)) (let ((.cse264 (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse264 .cse6) (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse272 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse271 (store .cse272 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse268 (select .cse272 .cse26)) (.cse265 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse271 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse266 (select .cse265 .cse56)) (.cse270 (mod (+ .cse268 1) 4)) (.cse269 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse265 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse266) (not (= .cse266 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse268) (= .cse269 .cse270) (not (= (mod (+ (select .cse271 .cse26) 1) 4) 0)) (= .cse270 (+ .cse269 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse277 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse277 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (+ (select .cse279 .cse26) 1))) (let ((.cse276 (select (store .cse277 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse279 .cse26 (mod .cse273 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse275 (select .cse276 .cse95)) (.cse274 (select .cse278 .cse26))) (or (< .cse273 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse274) (= .cse275 (select .cse276 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse275 (select (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse274 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse284 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse285 (select .cse284 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse286 (store .cse285 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (+ (select .cse286 .cse26) 1))) (let ((.cse283 (select (store .cse284 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse286 .cse26 (mod .cse280 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse281 (select .cse285 .cse26)) (.cse282 (select .cse283 .cse56))) (or (< .cse280 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse281) (not (= (mod (+ .cse281 1) 4) 0)) (= .cse282 (select .cse283 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse282 (select (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse292 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse291 (store .cse292 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse287 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse291 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse288 (select .cse287 .cse56)) (.cse290 (select .cse292 .cse26))) (or (= (select .cse287 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse288) (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (not (= (mod (+ (select .cse291 .cse26) 1) 4) 0)) (not (= (mod (+ .cse290 1) 4) 0)) (= (select .cse292 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse295 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse300 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse293 (select .cse300 .cse26))) (let ((.cse301 (mod (+ .cse293 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse299 (store .cse300 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse296 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse296 1) 4))) (let ((.cse297 (select (store .cse295 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse299 .cse26 (+ .cse298 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse294 (select .cse297 .cse95))) (or (not (= .cse294 (select (select .cse295 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse296 2)) (= (select .cse297 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse294) (= .cse298 0)))))))))) (< 0 (+ 2 .cse293)) (= .cse301 0) (= .cse301 (+ (select .cse300 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse307 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse304 (select .cse307 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse302 (select .cse304 .cse26))) (let ((.cse303 (mod (+ .cse302 1) 4))) (or (< 0 (+ 2 .cse302)) (= .cse303 0) (= .cse303 (+ (select .cse304 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse302) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse310 (store .cse304 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse310 .cse26))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse309 (select (store .cse307 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse310 .cse26 (+ .cse306 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse308 (select .cse309 .cse6))) (or (< 0 (+ .cse305 2)) (= .cse306 0) (not (= (select (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)) (= (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse317 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse313 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse311 (select .cse313 .cse26))) (let ((.cse312 (mod (+ .cse311 1) 4))) (or (< 0 (+ 2 .cse311)) (= .cse312 0) (= .cse312 (+ (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse318 (store .cse313 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (+ (select .cse318 .cse26) 1))) (let ((.cse316 (select (store .cse317 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse318 .cse26 (mod .cse314 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse315 (select .cse316 .cse95))) (or (< .cse314 0) (= .cse315 (select .cse316 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse315 (select (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse326 .cse26))) (let ((.cse321 (mod (+ .cse320 1) 4))) (let ((.cse324 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 (+ .cse321 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse319 (select .cse325 .cse26)) (.cse323 (select .cse324 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse319) (< 0 (+ .cse320 2)) (not (= (mod (+ .cse319 1) 4) 0)) (= .cse321 0) (not (= (select (select .cse322 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323)) (= (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse337 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse336 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse338 (select .cse337 .cse336))) (let ((.cse330 (mod (+ .cse338 1) 4))) (let ((.cse327 (+ 2 .cse338)) (.cse328 (= .cse330 0)) (.cse329 (select .cse337 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse327 0) (not .cse328) (= (+ .cse329 4) .cse330)) (and (or (< 0 .cse327) .cse328) (= .cse329 .cse330)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse335 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse334 (select .cse335 .cse336))) (let ((.cse331 (mod (+ .cse334 1) 4))) (let ((.cse333 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse335 .cse336 (+ (- 4) .cse331))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse332 (select .cse333 .cse6))) (or (= .cse331 0) (not (= .cse1 .cse332)) (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse334))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse342 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse341 (+ (select .cse342 .cse336) 1))) (let ((.cse340 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse342 .cse336 (mod .cse341 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse339 (select .cse340 .cse6))) (or (not (= .cse1 .cse339)) (= .cse339 (select .cse340 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse341 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse345 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse344 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse345 .cse336 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse343 (select .cse344 .cse6))) (or (= .cse343 (select .cse344 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse343 .cse1)) (not (= (mod (+ (select .cse345 .cse336) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse350 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse351 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse351 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse349 (select .cse351 .cse26)) (.cse347 (select (store .cse350 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse348 (+ .cse349 1))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse348 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse349) (not (= (select (select .cse350 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse348 4)) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse353 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse357 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse358 (store .cse357 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse359 (select (store .cse353 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse358 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse356 (select .cse357 .cse26))) (let ((.cse355 (+ .cse356 1)) (.cse354 (select .cse359 .cse6))) (or (not (= (select (select .cse353 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)) (< .cse355 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse356) (= (select .cse357 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse355 4)) (not (= (mod (+ (select .cse358 .cse26) 1) 4) 0)) (= (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse366 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (select .cse367 .cse26)) (.cse361 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse360 (select .cse361 .cse95)) (.cse365 (mod (+ .cse362 1) 4)) (.cse364 (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse360 (select .cse361 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse360)) (= .cse364 .cse365) (not (= (mod (+ (select .cse366 .cse26) 1) 4) 0)) (= .cse365 (+ .cse364 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse373 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse376 (select .cse373 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse377 (store .cse376 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4))) (let ((.cse375 (select (store .cse373 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse377 .cse26 (+ .cse372 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse368 (select .cse376 .cse26))) (let ((.cse371 (mod (+ .cse368 1) 4)) (.cse370 (select .cse376 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse374 (select .cse375 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (= .cse370 .cse371) (= .cse371 (+ .cse370 4)) (= .cse372 0) (not (= (select (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)) (= (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse384 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse381 (select .cse384 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse385 (store .cse381 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse378 (+ (select .cse385 .cse26) 1))) (let ((.cse383 (select (store .cse384 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse385 .cse26 (mod .cse378 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse380 (select .cse381 .cse26))) (let ((.cse379 (+ .cse380 1)) (.cse382 (select .cse383 .cse95))) (or (< .cse378 0) (< .cse379 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse380) (= (select .cse381 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse379 4)) (= .cse382 (select .cse383 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse382 (select (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse389 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse391 (select .cse389 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse393 (store .cse391 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse386 (+ (select .cse393 .cse26) 1))) (let ((.cse392 (select (store .cse389 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse393 .cse26 (mod .cse386 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse388 (select .cse391 .cse26))) (let ((.cse387 (+ .cse388 1)) (.cse390 (select .cse392 .cse6))) (or (< .cse386 0) (< .cse387 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse388) (not (= (select (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390)) (= (select .cse391 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse387 4)) (= (select .cse392 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390))))))))))))))) is different from true [2024-04-03 22:24:43,627 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse189 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse190 (select .cse189 .cse188))) (let ((.cse445 (mod (+ .cse190 1) 4))) (let ((.cse46 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse80 (* |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1| 4)) (.cse443 (+ .cse190 2)) (.cse444 (= .cse445 0)) (.cse446 (select .cse189 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse182 (and (<= .cse443 0) (not .cse444) (= .cse445 (+ 4 .cse446)))) (.cse183 (and (or (< 0 .cse443) .cse444) (= .cse445 .cse446))) (.cse42 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse45 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse47 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| .cse80 4)) (.cse257 (select .cse46 0)) (.cse64 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse123 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse44 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse44 .cse45) 1))) (let ((.cse41 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse44 .cse45 (mod .cse40 4))))) (or (< .cse40 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse41 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse43 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse43 .cse6)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse50 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse55 (select .cse50 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse56 (store .cse55 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse48 (+ (select .cse56 .cse26) 1))) (let ((.cse54 (select (store .cse50 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse56 .cse26 (mod .cse48 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse49 (select .cse55 .cse26))) (let ((.cse53 (mod (+ .cse49 1) 4)) (.cse52 (select .cse55 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse51 (select .cse54 .cse6))) (or (< .cse48 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse49) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51)) (= .cse52 .cse53) (= .cse53 (+ .cse52 4)) (= (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse62 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse59 (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse57 (select .cse59 .cse26))) (let ((.cse58 (mod (+ .cse57 1) 4))) (or (< 0 (+ 2 .cse57)) (= .cse58 0) (= .cse58 (+ (select .cse59 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse63 (store .cse59 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse60 (select (store .cse62 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse61 (select .cse60 .cse64))) (or (= (select .cse60 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse61) (not (= .cse61 (select (select .cse62 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse63 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse65 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse70 (select .cse65 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse68 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse69 (select (store .cse65 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse68 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse70 .cse26)) (.cse66 (select .cse69 .cse6))) (or (not (= (select (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse67) (not (= (mod (+ (select .cse68 .cse26) 1) 4) 0)) (not (= (mod (+ .cse67 1) 4) 0)) (= (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (= (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse74 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse76 (select .cse74 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse76 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse75 (select .cse79 .cse26))) (let ((.cse78 (mod (+ .cse75 1) 4))) (let ((.cse77 (select (store .cse74 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (+ .cse78 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse72 (select .cse76 .cse26))) (let ((.cse71 (+ .cse72 1)) (.cse73 (select .cse77 .cse64))) (or (< .cse71 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse72) (not (= .cse73 (select (select .cse74 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse75 2)) (= (select .cse76 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse71 4)) (= .cse73 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse78 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (store .cse46 (+ .cse80 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) 0)) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (let ((.cse88 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|)) (.cse87 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20))) (let ((.cse81 (select .cse88 .cse87))) (let ((.cse96 (mod (+ .cse81 1) 4))) (let ((.cse97 (select .cse88 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset|)) (.cse98 (+ .cse81 2)) (.cse99 (= .cse96 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (select .cse86 .cse87))) (let ((.cse82 (mod (+ .cse85 1) 4))) (let ((.cse84 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse86 .cse87 (+ (- 4) .cse82))))) (or (= .cse82 0) (let ((.cse83 (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse83 .cse6) (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse85 2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse84 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse90 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse89 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse90 .cse87 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse89 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (not (= (mod (+ (select .cse90 .cse87) 1) 4) 0)) (let ((.cse91 (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse91 .cse6))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse95 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (+ (select .cse95 .cse87) 1))) (let ((.cse92 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse95 .cse87 (mod .cse94 4))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse92 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse93 (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse93 .cse6))) (< .cse94 0))))))))) (and (= .cse96 .cse97) (or (< 0 .cse98) .cse99)) (and (= .cse96 (+ .cse97 4)) (<= .cse98 0) (not .cse99))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse103 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse107 (store .cse103 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse100 (+ (select .cse107 .cse26) 1))) (let ((.cse105 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse107 .cse26 (mod .cse100 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse102 (select .cse103 .cse26))) (let ((.cse101 (+ .cse102 1)) (.cse104 (select .cse105 .cse64))) (or (< .cse100 0) (< .cse101 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse102) (= (select .cse103 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse101 4)) (= .cse104 (select .cse105 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse104 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse115 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse116 (store .cse115 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse108 (+ (select .cse116 .cse26) 1))) (let ((.cse113 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse116 .cse26 (mod .cse108 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse109 (select .cse115 .cse26))) (let ((.cse111 (mod (+ .cse109 1) 4)) (.cse110 (select .cse115 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse112 (select .cse113 .cse64))) (or (< .cse108 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse109) (= .cse110 .cse111) (= .cse111 (+ .cse110 4)) (= .cse112 (select .cse113 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse112 (select (select .cse114 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse120 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse122 (select .cse120 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse122 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse118 (select (store .cse120 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse117 (select .cse118 .cse123)) (.cse119 (select .cse122 .cse26))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse117)) (not (= (mod (+ (select .cse121 .cse26) 1) 4) 0)) (not (= (mod (+ .cse119 1) 4) 0)) (= (select .cse122 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse125 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse130 (select .cse125 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse130 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse127 (select .cse131 .cse26))) (let ((.cse129 (mod (+ .cse127 1) 4))) (let ((.cse128 (select (store .cse125 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse26 (+ .cse129 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse124 (select .cse128 .cse123)) (.cse126 (select .cse130 .cse26))) (or (not (= .cse124 (select (select .cse125 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse126) (< 0 (+ .cse127 2)) (= (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse124) (not (= (mod (+ .cse126 1) 4) 0)) (= .cse129 0) (= (select .cse130 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse134 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse139 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse135 (select .cse139 .cse26))) (let ((.cse137 (mod (+ .cse135 1) 4))) (let ((.cse136 (select (store .cse134 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse139 .cse26 (+ .cse137 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse133 (select .cse136 .cse64)) (.cse132 (select .cse138 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse132) (not (= .cse133 (select (select .cse134 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse135 2)) (= .cse133 (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse132 1) 4) 0)) (= .cse137 0) (= (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse142 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse145 (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse146 (store .cse145 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse146 .cse26) 1))) (let ((.cse144 (select (store .cse142 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse146 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse143 (select .cse144 .cse6)) (.cse141 (select .cse145 .cse26))) (or (< .cse140 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse141) (not (= (select (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143)) (= (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143) (not (= (mod (+ .cse141 1) 4) 0)) (= (select .cse145 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse155 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse156 (store .cse155 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse156 .cse26))) (let ((.cse154 (mod (+ .cse150 1) 4))) (let ((.cse147 (select .cse155 .cse26)) (.cse153 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse156 .cse26 (+ .cse154 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse153 .cse64)) (.cse152 (mod (+ .cse147 1) 4)) (.cse151 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse147) (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse151 .cse152) (= .cse148 (select .cse153 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 (+ .cse151 4)) (= .cse154 0)))))))))) (let ((.cse157 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse157 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse157 (<= |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)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse161 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse163 (select .cse161 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse164 (store .cse163 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse162 (select .cse163 .cse26)) (.cse158 (select (store .cse161 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse164 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse159 (select .cse158 .cse64)) (.cse160 (+ .cse162 1))) (or (= (select .cse158 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse159) (< .cse160 0) (not (= .cse159 (select (select .cse161 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162) (= (select .cse163 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse160 4)) (not (= (mod (+ (select .cse164 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse169 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse167 (select .cse169 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse165 (select .cse167 .cse26))) (let ((.cse166 (mod (+ .cse165 1) 4))) (or (< 0 (+ 2 .cse165)) (= .cse166 0) (= .cse166 (+ (select .cse167 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse172 (store .cse167 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (+ (select .cse172 .cse26) 1))) (let ((.cse171 (select (store .cse169 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse172 .cse26 (mod .cse168 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse170 (select .cse171 .cse6))) (or (< .cse168 0) (not (= (select (select .cse169 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170)) (= (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse175 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse173 (select .cse175 .cse26))) (let ((.cse174 (mod (+ .cse173 1) 4))) (or (< 0 (+ 2 .cse173)) (= .cse174 0) (= .cse174 (+ (select .cse175 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse181 (store .cse175 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse178 (select .cse181 .cse26))) (let ((.cse180 (mod (+ .cse178 1) 4))) (let ((.cse179 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse181 .cse26 (+ .cse180 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse176 (select .cse179 .cse64))) (or (not (= .cse176 (select (select .cse177 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse178 2)) (= .cse176 (select .cse179 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse180 0)))))))))))))))) (or .cse182 .cse183 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse187 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse186 (+ (select .cse187 .cse188) 1))) (let ((.cse184 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse187 .cse188 (mod .cse186 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (select .cse184 .cse6))) (or (= (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185) (< .cse186 0) (not (= .cse1 .cse185)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse191 .cse188 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse193 .cse6))) (or (not (= (mod (+ (select .cse191 .cse188) 1) 4) 0)) (not (= .cse192 .cse1)) (= .cse192 (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse198 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse196 (select .cse198 .cse188))) (let ((.cse197 (mod (+ .cse196 1) 4))) (let ((.cse195 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse198 .cse188 (+ .cse197 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse194 (select .cse195 .cse6))) (or (= .cse194 (select .cse195 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse194)) (< 0 (+ 2 .cse196)) (= .cse197 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse199 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse199 .cse188 0)))) (or (not (= (mod (+ (select .cse199 .cse188) 1) 4) 0)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (let ((.cse201 (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse201 .cse6) (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse206 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse204 (select .cse206 .cse188))) (let ((.cse205 (mod (+ .cse204 1) 4))) (let ((.cse202 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse206 .cse188 (+ .cse205 (- 4)))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse202 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse203 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse203 .cse6) (select .cse203 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse204)) (= .cse205 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse210 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (+ (select .cse210 .cse188) 1))) (let ((.cse208 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse210 .cse188 (mod .cse209 4))))) (or (let ((.cse207 (select .cse208 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse207 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse207 .cse6))) (< .cse209 0) (not (= (select (select .cse208 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190)))) .cse182 .cse183) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse215 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse214 (select .cse215 .cse45))) (let ((.cse212 (mod (+ .cse214 1) 4))) (let ((.cse211 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse215 .cse45 (+ .cse212 (- 4)))))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse212 0) (let ((.cse213 (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse213 .cse6) (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse214)))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse222 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse224 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse216 (+ (select .cse224 .cse26) 1))) (let ((.cse217 (select .cse223 .cse26)) (.cse221 (select (store .cse222 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse224 .cse26 (mod .cse216 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse220 (select .cse221 .cse123)) (.cse219 (mod (+ .cse217 1) 4)) (.cse218 (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse216 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse217) (= .cse218 .cse219) (= .cse220 (select .cse221 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse220 (select (select .cse222 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse219 (+ .cse218 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse228 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse233 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse227 (select .cse233 .cse26))) (let ((.cse229 (mod (+ .cse227 1) 4))) (let ((.cse232 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse233 .cse26 (+ .cse229 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse226 (select .cse228 .cse26))) (let ((.cse225 (+ .cse226 1)) (.cse231 (select .cse232 .cse6))) (or (< .cse225 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse226) (< 0 (+ .cse227 2)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse225 4)) (= .cse229 0) (not (= (select (select .cse230 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)) (= (select .cse232 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse1) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse235 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse239 (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse234 (select .cse239 .cse26))) (let ((.cse240 (mod (+ .cse234 1) 4))) (or (< 0 (+ 2 .cse234)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse237 (store .cse239 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select (store .cse235 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse237 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse236 (select .cse238 .cse6))) (or (not (= (select (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)) (not (= (mod (+ (select .cse237 .cse26) 1) 4) 0)) (= (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)))))) (= .cse240 0) (= .cse240 (+ (select .cse239 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse246 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse241 (select .cse243 .cse26))) (let ((.cse242 (mod (+ .cse241 1) 4))) (or (< 0 (+ 2 .cse241)) (= .cse242 0) (= .cse242 (+ (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse247 (store .cse243 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select (store .cse246 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse247 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse244 (select .cse245 .cse123))) (or (= .cse244 (select .cse245 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse246 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse244)) (not (= (mod (+ (select .cse247 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse249 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse253 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse256 (store .cse253 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (select .cse256 .cse26))) (let ((.cse255 (mod (+ .cse252 1) 4))) (let ((.cse254 (select (store .cse249 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse256 .cse26 (+ .cse255 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse251 (select .cse253 .cse26))) (let ((.cse250 (+ .cse251 1)) (.cse248 (select .cse254 .cse123))) (or (not (= .cse248 (select (select .cse249 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse250 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse251) (< 0 (+ .cse252 2)) (= (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse250 4)) (= (select .cse254 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse248) (= .cse255 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse257) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse265 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse263 (store .cse265 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse263 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse260 (select .cse265 .cse26))) (let ((.cse262 (mod (+ .cse260 1) 4)) (.cse261 (select .cse265 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse259 (select .cse264 .cse6))) (or (not (= (select (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 .cse262) (not (= (mod (+ (select .cse263 .cse26) 1) 4) 0)) (= .cse262 (+ .cse261 4)) (= (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse272 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse268 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse266 (select .cse268 .cse26))) (let ((.cse267 (mod (+ .cse266 1) 4))) (or (< 0 (+ 2 .cse266)) (= .cse267 0) (= .cse267 (+ (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse268 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (+ (select .cse273 .cse26) 1))) (let ((.cse271 (select (store .cse272 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (mod .cse269 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse270 (select .cse271 .cse64))) (or (< .cse269 0) (= .cse270 (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse270 (select (select .cse272 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse277 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse278 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse279 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse276 (+ (select .cse279 .cse188) 1))) (let ((.cse275 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse279 .cse188 (mod .cse276 4))))) (or (let ((.cse274 (select .cse275 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse274 .cse6))) (< .cse276 0) (not (= (select (select .cse275 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse281 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse281 .cse188 0)))) (or (not (= .cse278 (select (select .cse280 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277))) (not (= (mod (+ (select .cse281 .cse188) 1) 4) 0)) (let ((.cse282 (select .cse280 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse282 .cse6) (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse287 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse285 (select .cse287 .cse188))) (let ((.cse286 (mod (+ .cse285 1) 4))) (let ((.cse284 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse287 .cse188 (+ .cse286 (- 4)))))) (or (let ((.cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse283 .cse6) (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse284 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278)) (< 0 (+ 2 .cse285)) (= .cse286 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse296 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (store .cse296 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse297 .cse26))) (let ((.cse295 (mod (+ .cse291 1) 4))) (let ((.cse290 (select .cse296 .cse26)) (.cse294 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse297 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse288 (select .cse294 .cse123)) (.cse293 (mod (+ .cse290 1) 4)) (.cse292 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (< 0 (+ .cse291 2)) (= .cse292 .cse293) (= (select .cse294 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse288) (= .cse293 (+ .cse292 4)) (= .cse295 0)))))))))) (or (let ((.cse301 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse302 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse302 .cse188) 1))) (let ((.cse299 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse302 .cse188 (mod .cse300 4))))) (or (let ((.cse298 (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse298 .cse6))) (< .cse300 0) (not (= (select (select .cse299 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse307 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse307 .cse188))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse304 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse307 .cse188 (+ .cse306 (- 4)))))) (or (let ((.cse303 (select .cse304 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse303 .cse6) (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse305)) (= .cse306 0) (not (= .cse301 (select (select .cse304 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse308 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse309 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse308 .cse188 0)))) (or (not (= (mod (+ (select .cse308 .cse188) 1) 4) 0)) (not (= (select (select .cse309 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301)) (let ((.cse310 (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse310 .cse6) (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse313 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse318 (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse317 (store .cse318 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (select .cse318 .cse26)) (.cse311 (select (store .cse313 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse317 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse312 (select .cse311 .cse64)) (.cse316 (mod (+ .cse314 1) 4)) (.cse315 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse311 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse312) (not (= .cse312 (select (select .cse313 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse314) (= .cse315 .cse316) (not (= (mod (+ (select .cse317 .cse26) 1) 4) 0)) (= .cse316 (+ .cse315 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse324 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse325 (store .cse324 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse319 (+ (select .cse325 .cse26) 1))) (let ((.cse322 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse325 .cse26 (mod .cse319 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse321 (select .cse322 .cse123)) (.cse320 (select .cse324 .cse26))) (or (< .cse319 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (= .cse321 (select .cse322 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse321 (select (select .cse323 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse320 1) 4) 0)) (= (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse328 .cse45 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse326 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse327 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse327 .cse6))) (not (= (mod (+ (select .cse328 .cse45) 1) 4) 0)))))) (not (= .cse257 1)) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse333 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse334 (select .cse333 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse335 (store .cse334 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse329 (+ (select .cse335 .cse26) 1))) (let ((.cse332 (select (store .cse333 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse335 .cse26 (mod .cse329 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse330 (select .cse334 .cse26)) (.cse331 (select .cse332 .cse64))) (or (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (not (= (mod (+ .cse330 1) 4) 0)) (= .cse331 (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse331 (select (select .cse333 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse334 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse338 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select (store .cse338 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse337 (select .cse336 .cse64)) (.cse339 (select .cse341 .cse26))) (or (= (select .cse336 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse337) (not (= .cse337 (select (select .cse338 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (not (= (mod (+ .cse339 1) 4) 0)) (= (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse344 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse349 (select .cse344 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse342 (select .cse349 .cse26))) (let ((.cse350 (mod (+ .cse342 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse348 (store .cse349 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select .cse348 .cse26))) (let ((.cse347 (mod (+ .cse345 1) 4))) (let ((.cse346 (select (store .cse344 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse348 .cse26 (+ .cse347 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse343 (select .cse346 .cse123))) (or (not (= .cse343 (select (select .cse344 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse345 2)) (= (select .cse346 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse343) (= .cse347 0)))))))))) (< 0 (+ 2 .cse342)) (= .cse350 0) (= .cse350 (+ (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse356 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse356 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (select .cse353 .cse26))) (let ((.cse352 (mod (+ .cse351 1) 4))) (or (< 0 (+ 2 .cse351)) (= .cse352 0) (= .cse352 (+ (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse351) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse359 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse354 (select .cse359 .cse26))) (let ((.cse355 (mod (+ .cse354 1) 4))) (let ((.cse358 (select (store .cse356 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (+ .cse355 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse357 (select .cse358 .cse6))) (or (< 0 (+ .cse354 2)) (= .cse355 0) (not (= (select (select .cse356 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)) (= (select .cse358 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse366 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse366 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse360 (select .cse362 .cse26))) (let ((.cse361 (mod (+ .cse360 1) 4))) (or (< 0 (+ 2 .cse360)) (= .cse361 0) (= .cse361 (+ (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse367 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (+ (select .cse367 .cse26) 1))) (let ((.cse365 (select (store .cse366 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse363 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse364 (select .cse365 .cse123))) (or (< .cse363 0) (= .cse364 (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse364 (select (select .cse366 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse371 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse374 (select .cse371 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse375 (store .cse374 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse375 .cse26))) (let ((.cse370 (mod (+ .cse369 1) 4))) (let ((.cse373 (select (store .cse371 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse375 .cse26 (+ .cse370 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse368 (select .cse374 .cse26)) (.cse372 (select .cse373 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (not (= (mod (+ .cse368 1) 4) 0)) (= .cse370 0) (not (= (select (select .cse371 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372)) (= (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372) (= (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse386 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse387 (select .cse386 .cse385))) (let ((.cse379 (mod (+ .cse387 1) 4))) (let ((.cse376 (+ 2 .cse387)) (.cse377 (= .cse379 0)) (.cse378 (select .cse386 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse376 0) (not .cse377) (= (+ .cse378 4) .cse379)) (and (or (< 0 .cse376) .cse377) (= .cse378 .cse379)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse384 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse383 (select .cse384 .cse385))) (let ((.cse380 (mod (+ .cse383 1) 4))) (let ((.cse382 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse384 .cse385 (+ (- 4) .cse380))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse381 (select .cse382 .cse6))) (or (= .cse380 0) (not (= .cse1 .cse381)) (= .cse381 (select .cse382 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse383))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse391 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse390 (+ (select .cse391 .cse385) 1))) (let ((.cse389 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse391 .cse385 (mod .cse390 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse388 (select .cse389 .cse6))) (or (not (= .cse1 .cse388)) (= .cse388 (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse390 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse394 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse393 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse394 .cse385 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse392 (select .cse393 .cse6))) (or (= .cse392 (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse392 .cse1)) (not (= (mod (+ (select .cse394 .cse385) 1) 4) 0))))))))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| .cse1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse399 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse400 (select .cse399 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse401 (store .cse400 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse398 (select .cse400 .cse26)) (.cse396 (select (store .cse399 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse401 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse395 (select .cse396 .cse123)) (.cse397 (+ .cse398 1))) (or (= .cse395 (select .cse396 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse397 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse398) (not (= (select (select .cse399 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse395)) (= (select .cse400 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse397 4)) (not (= (mod (+ (select .cse401 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse402 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse406 (select .cse402 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse407 (store .cse406 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse408 (select (store .cse402 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse407 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse405 (select .cse406 .cse26))) (let ((.cse404 (+ .cse405 1)) (.cse403 (select .cse408 .cse6))) (or (not (= (select (select .cse402 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)) (< .cse404 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse405) (= (select .cse406 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse404 4)) (not (= (mod (+ (select .cse407 .cse26) 1) 4) 0)) (= (select .cse408 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse412 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse416 (select .cse412 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse415 (store .cse416 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse411 (select .cse416 .cse26)) (.cse410 (select (store .cse412 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse415 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse409 (select .cse410 .cse123)) (.cse414 (mod (+ .cse411 1) 4)) (.cse413 (select .cse416 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse409 (select .cse410 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse411) (not (= (select (select .cse412 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse409)) (= .cse413 .cse414) (not (= (mod (+ (select .cse415 .cse26) 1) 4) 0)) (= .cse414 (+ .cse413 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse422 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse425 (select .cse422 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse426 (store .cse425 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse418 (select .cse426 .cse26))) (let ((.cse421 (mod (+ .cse418 1) 4))) (let ((.cse424 (select (store .cse422 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse426 .cse26 (+ .cse421 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse417 (select .cse425 .cse26))) (let ((.cse420 (mod (+ .cse417 1) 4)) (.cse419 (select .cse425 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse423 (select .cse424 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse417) (< 0 (+ .cse418 2)) (= .cse419 .cse420) (= .cse420 (+ .cse419 4)) (= .cse421 0) (not (= (select (select .cse422 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)) (= (select .cse424 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse433 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse430 (select .cse433 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse434 (store .cse430 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse427 (+ (select .cse434 .cse26) 1))) (let ((.cse432 (select (store .cse433 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse434 .cse26 (mod .cse427 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse429 (select .cse430 .cse26))) (let ((.cse428 (+ .cse429 1)) (.cse431 (select .cse432 .cse123))) (or (< .cse427 0) (< .cse428 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse429) (= (select .cse430 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse428 4)) (= .cse431 (select .cse432 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse431 (select (select .cse433 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse438 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse440 (select .cse438 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse442 (store .cse440 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse435 (+ (select .cse442 .cse26) 1))) (let ((.cse441 (select (store .cse438 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse442 .cse26 (mod .cse435 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse437 (select .cse440 .cse26))) (let ((.cse436 (+ .cse437 1)) (.cse439 (select .cse441 .cse6))) (or (< .cse435 0) (< .cse436 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse437) (not (= (select (select .cse438 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439)) (= (select .cse440 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse436 4)) (= (select .cse441 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439))))))))))))))) is different from true [2024-04-03 22:24:51,720 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.25s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:24:52,991 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.25s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:25:03,172 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.95s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:25:05,424 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:25:15,970 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.04s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:25:20,056 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse161 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse162 (select .cse161 .cse160))) (let ((.cse397 (mod (+ .cse162 1) 4))) (let ((.cse395 (+ .cse162 2)) (.cse396 (= .cse397 0)) (.cse398 (select .cse161 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse154 (and (<= .cse395 0) (not .cse396) (= .cse397 (+ 4 .cse398)))) (.cse155 (and (or (< 0 .cse395) .cse396) (= .cse397 .cse398))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (let ((.cse129 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse129 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse129 (<= |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_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse133 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse135 (select .cse133 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (store .cse135 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse134 (select .cse135 .cse26)) (.cse130 (select (store .cse133 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse136 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse131 (select .cse130 .cse56)) (.cse132 (+ .cse134 1))) (or (= (select .cse130 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse131) (< .cse132 0) (not (= .cse131 (select (select .cse133 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse134) (= (select .cse135 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse132 4)) (not (= (mod (+ (select .cse136 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse141 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse139 (select .cse141 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse137 (select .cse139 .cse26))) (let ((.cse138 (mod (+ .cse137 1) 4))) (or (< 0 (+ 2 .cse137)) (= .cse138 0) (= .cse138 (+ (select .cse139 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse144 (store .cse139 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse144 .cse26) 1))) (let ((.cse143 (select (store .cse141 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse144 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse142 (select .cse143 .cse6))) (or (< .cse140 0) (not (= (select (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142)) (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse147 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse145 (select .cse147 .cse26))) (let ((.cse146 (mod (+ .cse145 1) 4))) (or (< 0 (+ 2 .cse145)) (= .cse146 0) (= .cse146 (+ (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse145) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse153 (store .cse147 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse153 .cse26))) (let ((.cse152 (mod (+ .cse150 1) 4))) (let ((.cse151 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse153 .cse26 (+ .cse152 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse151 .cse56))) (or (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse148 (select .cse151 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 0)))))))))))))))) (or .cse154 .cse155 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse159 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse158 (+ (select .cse159 .cse160) 1))) (let ((.cse156 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse159 .cse160 (mod .cse158 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse157 (select .cse156 .cse6))) (or (= (select .cse156 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse157) (< .cse158 0) (not (= .cse1 .cse157)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse163 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse165 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse163 .cse160 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse164 (select .cse165 .cse6))) (or (not (= (mod (+ (select .cse163 .cse160) 1) 4) 0)) (not (= .cse164 .cse1)) (= .cse164 (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse170 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (select .cse170 .cse160))) (let ((.cse169 (mod (+ .cse168 1) 4))) (let ((.cse167 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse170 .cse160 (+ .cse169 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse166 (select .cse167 .cse6))) (or (= .cse166 (select .cse167 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse166)) (< 0 (+ 2 .cse168)) (= .cse169 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse178 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse179 (store .cse178 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (+ (select .cse179 .cse26) 1))) (let ((.cse172 (select .cse178 .cse26)) (.cse176 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse179 .cse26 (mod .cse171 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse175 (select .cse176 .cse95)) (.cse174 (mod (+ .cse172 1) 4)) (.cse173 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse171 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse172) (= .cse173 .cse174) (= .cse175 (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse175 (select (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse174 (+ .cse173 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse185 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse183 (select .cse185 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (store .cse183 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse182 (select .cse188 .cse26))) (let ((.cse184 (mod (+ .cse182 1) 4))) (let ((.cse187 (select (store .cse185 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse188 .cse26 (+ .cse184 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse181 (select .cse183 .cse26))) (let ((.cse180 (+ .cse181 1)) (.cse186 (select .cse187 .cse6))) (or (< .cse180 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse181) (< 0 (+ .cse182 2)) (= (select .cse183 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse180 4)) (= .cse184 0) (not (= (select (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)) (= (select .cse187 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse190 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse194 (select .cse190 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (select .cse194 .cse26))) (let ((.cse195 (mod (+ .cse189 1) 4))) (or (< 0 (+ 2 .cse189)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse192 (store .cse194 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store .cse190 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse192 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse193 .cse6))) (or (not (= (select (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)) (not (= (mod (+ (select .cse192 .cse26) 1) 4) 0)) (= (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)))))) (= .cse195 0) (= .cse195 (+ (select .cse194 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse201 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse198 (select .cse201 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse196 (select .cse198 .cse26))) (let ((.cse197 (mod (+ .cse196 1) 4))) (or (< 0 (+ 2 .cse196)) (= .cse197 0) (= .cse197 (+ (select .cse198 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse202 (store .cse198 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (select (store .cse201 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse202 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse199 (select .cse200 .cse95))) (or (= .cse199 (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse199)) (not (= (mod (+ (select .cse202 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse204 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse208 (select .cse204 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse211 (store .cse208 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse207 (select .cse211 .cse26))) (let ((.cse210 (mod (+ .cse207 1) 4))) (let ((.cse209 (select (store .cse204 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse211 .cse26 (+ .cse210 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse206 (select .cse208 .cse26))) (let ((.cse205 (+ .cse206 1)) (.cse203 (select .cse209 .cse95))) (or (not (= .cse203 (select (select .cse204 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse205 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse206) (< 0 (+ .cse207 2)) (= (select .cse208 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse205 4)) (= (select .cse209 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse203) (= .cse210 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse212 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse219 (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse217 (store .cse219 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse218 (select (store .cse212 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse217 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse214 (select .cse219 .cse26))) (let ((.cse216 (mod (+ .cse214 1) 4)) (.cse215 (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse213 (select .cse218 .cse6))) (or (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse214) (= .cse215 .cse216) (not (= (mod (+ (select .cse217 .cse26) 1) 4) 0)) (= .cse216 (+ .cse215 4)) (= (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse222 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse220 (select .cse222 .cse26))) (let ((.cse221 (mod (+ .cse220 1) 4))) (or (< 0 (+ 2 .cse220)) (= .cse221 0) (= .cse221 (+ (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse227 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse223 (+ (select .cse227 .cse26) 1))) (let ((.cse225 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse227 .cse26 (mod .cse223 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse224 (select .cse225 .cse56))) (or (< .cse223 0) (= .cse224 (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse224 (select (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse231 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse232 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse233 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse230 (+ (select .cse233 .cse160) 1))) (let ((.cse229 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse233 .cse160 (mod .cse230 4))))) (or (let ((.cse228 (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse228 .cse6))) (< .cse230 0) (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse235 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse234 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse235 .cse160 0)))) (or (not (= .cse232 (select (select .cse234 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231))) (not (= (mod (+ (select .cse235 .cse160) 1) 4) 0)) (let ((.cse236 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse241 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse239 (select .cse241 .cse160))) (let ((.cse240 (mod (+ .cse239 1) 4))) (let ((.cse238 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse241 .cse160 (+ .cse240 (- 4)))))) (or (let ((.cse237 (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse237 .cse6) (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse238 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232)) (< 0 (+ 2 .cse239)) (= .cse240 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse243 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse250 (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse251 (store .cse250 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select .cse251 .cse26))) (let ((.cse249 (mod (+ .cse245 1) 4))) (let ((.cse244 (select .cse250 .cse26)) (.cse248 (select (store .cse243 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse251 .cse26 (+ .cse249 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse242 (select .cse248 .cse95)) (.cse247 (mod (+ .cse244 1) 4)) (.cse246 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse242 (select (select .cse243 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse244) (< 0 (+ .cse245 2)) (= .cse246 .cse247) (= (select .cse248 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse242) (= .cse247 (+ .cse246 4)) (= .cse249 0)))))))))) (or (let ((.cse255 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse256 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse257 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse257 .cse160) 1))) (let ((.cse253 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse257 .cse160 (mod .cse254 4))))) (or (let ((.cse252 (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse252 .cse6))) (< .cse254 0) (not (= (select (select .cse253 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse260 (select .cse262 .cse160))) (let ((.cse261 (mod (+ .cse260 1) 4))) (let ((.cse259 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse160 (+ .cse261 (- 4)))))) (or (let ((.cse258 (select .cse259 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse258 .cse6) (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse260)) (= .cse261 0) (not (= .cse256 (select (select .cse259 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse263 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse263 .cse160 0)))) (or (not (= (mod (+ (select .cse263 .cse160) 1) 4) 0)) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256)) (let ((.cse265 (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse265 .cse6) (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse268 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse273 (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (select .cse273 .cse26)) (.cse266 (select (store .cse268 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse266 .cse56)) (.cse271 (mod (+ .cse269 1) 4)) (.cse270 (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse266 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse267) (not (= .cse267 (select (select .cse268 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse269) (= .cse270 .cse271) (not (= (mod (+ (select .cse272 .cse26) 1) 4) 0)) (= .cse271 (+ .cse270 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse278 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse279 (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse280 (store .cse279 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (+ (select .cse280 .cse26) 1))) (let ((.cse277 (select (store .cse278 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse280 .cse26 (mod .cse274 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse276 (select .cse277 .cse95)) (.cse275 (select .cse279 .cse26))) (or (< .cse274 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse275) (= .cse276 (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse276 (select (select .cse278 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse275 1) 4) 0)) (= (select .cse279 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse285 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse287 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse281 (+ (select .cse287 .cse26) 1))) (let ((.cse284 (select (store .cse285 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse287 .cse26 (mod .cse281 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse282 (select .cse286 .cse26)) (.cse283 (select .cse284 .cse56))) (or (< .cse281 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse282) (not (= (mod (+ .cse282 1) 4) 0)) (= .cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse283 (select (select .cse285 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse290 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse293 (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse292 (store .cse293 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (select (store .cse290 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse289 (select .cse288 .cse56)) (.cse291 (select .cse293 .cse26))) (or (= (select .cse288 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse289) (not (= .cse289 (select (select .cse290 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse291) (not (= (mod (+ (select .cse292 .cse26) 1) 4) 0)) (not (= (mod (+ .cse291 1) 4) 0)) (= (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse301 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse294 (select .cse301 .cse26))) (let ((.cse302 (mod (+ .cse294 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse294) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse300 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse297 (select .cse300 .cse26))) (let ((.cse299 (mod (+ .cse297 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse299 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse295 (select .cse298 .cse95))) (or (not (= .cse295 (select (select .cse296 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse297 2)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse295) (= .cse299 0)))))))))) (< 0 (+ 2 .cse294)) (= .cse302 0) (= .cse302 (+ (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse305 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse303 (select .cse305 .cse26))) (let ((.cse304 (mod (+ .cse303 1) 4))) (or (< 0 (+ 2 .cse303)) (= .cse304 0) (= .cse304 (+ (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse303) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse311 (store .cse305 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse311 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse311 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse310 .cse6))) (or (< 0 (+ .cse306 2)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse318 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse314 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (select .cse314 .cse26))) (let ((.cse313 (mod (+ .cse312 1) 4))) (or (< 0 (+ 2 .cse312)) (= .cse313 0) (= .cse313 (+ (select .cse314 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse314 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse319 .cse26) 1))) (let ((.cse317 (select (store .cse318 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse319 .cse26 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse316 (select .cse317 .cse95))) (or (< .cse315 0) (= .cse316 (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse316 (select (select .cse318 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse326 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse327 (store .cse326 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse321 (select .cse327 .cse26))) (let ((.cse322 (mod (+ .cse321 1) 4))) (let ((.cse325 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse327 .cse26 (+ .cse322 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse320 (select .cse326 .cse26)) (.cse324 (select .cse325 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (< 0 (+ .cse321 2)) (not (= (mod (+ .cse320 1) 4) 0)) (= .cse322 0) (not (= (select (select .cse323 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324)) (= (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324) (= (select .cse326 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse338 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse339 (select .cse338 .cse337))) (let ((.cse331 (mod (+ .cse339 1) 4))) (let ((.cse328 (+ 2 .cse339)) (.cse329 (= .cse331 0)) (.cse330 (select .cse338 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse328 0) (not .cse329) (= (+ .cse330 4) .cse331)) (and (or (< 0 .cse328) .cse329) (= .cse330 .cse331)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse336 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse336 .cse337))) (let ((.cse332 (mod (+ .cse335 1) 4))) (let ((.cse334 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse336 .cse337 (+ (- 4) .cse332))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse333 (select .cse334 .cse6))) (or (= .cse332 0) (not (= .cse1 .cse333)) (= .cse333 (select .cse334 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse335))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse343 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse342 (+ (select .cse343 .cse337) 1))) (let ((.cse341 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse343 .cse337 (mod .cse342 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse340 (select .cse341 .cse6))) (or (not (= .cse1 .cse340)) (= .cse340 (select .cse341 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse342 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse346 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse346 .cse337 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse344 (select .cse345 .cse6))) (or (= .cse344 (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse344 .cse1)) (not (= (mod (+ (select .cse346 .cse337) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse351 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse352 (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse353 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (select .cse352 .cse26)) (.cse348 (select (store .cse351 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse353 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse347 (select .cse348 .cse95)) (.cse349 (+ .cse350 1))) (or (= .cse347 (select .cse348 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse349 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse350) (not (= (select (select .cse351 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse347)) (= (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse349 4)) (not (= (mod (+ (select .cse353 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse354 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse358 (select .cse354 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse358 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (select (store .cse354 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse357 (select .cse358 .cse26))) (let ((.cse356 (+ .cse357 1)) (.cse355 (select .cse360 .cse6))) (or (not (= (select (select .cse354 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)) (< .cse356 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse357) (= (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse356 4)) (not (= (mod (+ (select .cse359 .cse26) 1) 4) 0)) (= (select .cse360 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse364 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse368 (select .cse364 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse368 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (select .cse368 .cse26)) (.cse362 (select (store .cse364 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse361 (select .cse362 .cse95)) (.cse366 (mod (+ .cse363 1) 4)) (.cse365 (select .cse368 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse361 (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse363) (not (= (select (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse361)) (= .cse365 .cse366) (not (= (mod (+ (select .cse367 .cse26) 1) 4) 0)) (= .cse366 (+ .cse365 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse374 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse378 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse370 (select .cse378 .cse26))) (let ((.cse373 (mod (+ .cse370 1) 4))) (let ((.cse376 (select (store .cse374 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse378 .cse26 (+ .cse373 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4)) (.cse371 (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse375 (select .cse376 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse369) (< 0 (+ .cse370 2)) (= .cse371 .cse372) (= .cse372 (+ .cse371 4)) (= .cse373 0) (not (= (select (select .cse374 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)) (= (select .cse376 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse385 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse382 (select .cse385 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse386 (store .cse382 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse379 (+ (select .cse386 .cse26) 1))) (let ((.cse384 (select (store .cse385 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse386 .cse26 (mod .cse379 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse381 (select .cse382 .cse26))) (let ((.cse380 (+ .cse381 1)) (.cse383 (select .cse384 .cse95))) (or (< .cse379 0) (< .cse380 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse381) (= (select .cse382 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse380 4)) (= .cse383 (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse383 (select (select .cse385 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse390 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse392 (select .cse390 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse394 (store .cse392 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse387 (+ (select .cse394 .cse26) 1))) (let ((.cse393 (select (store .cse390 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse394 .cse26 (mod .cse387 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse389 (select .cse392 .cse26))) (let ((.cse388 (+ .cse389 1)) (.cse391 (select .cse393 .cse6))) (or (< .cse387 0) (< .cse388 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse389) (not (= (select (select .cse390 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391)) (= (select .cse392 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse388 4)) (= (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391))))))))))))))) is different from true [2024-04-03 22:25:23,633 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse189 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse190 (select .cse189 .cse188))) (let ((.cse445 (mod (+ .cse190 1) 4))) (let ((.cse46 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse80 (* |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1| 4)) (.cse443 (+ .cse190 2)) (.cse444 (= .cse445 0)) (.cse446 (select .cse189 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse182 (and (<= .cse443 0) (not .cse444) (= .cse445 (+ 4 .cse446)))) (.cse183 (and (or (< 0 .cse443) .cse444) (= .cse445 .cse446))) (.cse42 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse45 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse47 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| .cse80 4)) (.cse257 (select .cse46 0)) (.cse64 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse123 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse44 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse44 .cse45) 1))) (let ((.cse41 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse44 .cse45 (mod .cse40 4))))) (or (< .cse40 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse41 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse43 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse43 .cse6)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse50 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse55 (select .cse50 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse56 (store .cse55 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse48 (+ (select .cse56 .cse26) 1))) (let ((.cse54 (select (store .cse50 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse56 .cse26 (mod .cse48 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse49 (select .cse55 .cse26))) (let ((.cse53 (mod (+ .cse49 1) 4)) (.cse52 (select .cse55 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse51 (select .cse54 .cse6))) (or (< .cse48 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse49) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51)) (= .cse52 .cse53) (= .cse53 (+ .cse52 4)) (= (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse62 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse59 (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse57 (select .cse59 .cse26))) (let ((.cse58 (mod (+ .cse57 1) 4))) (or (< 0 (+ 2 .cse57)) (= .cse58 0) (= .cse58 (+ (select .cse59 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse63 (store .cse59 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse60 (select (store .cse62 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse61 (select .cse60 .cse64))) (or (= (select .cse60 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse61) (not (= .cse61 (select (select .cse62 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse63 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse65 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse70 (select .cse65 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse68 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse69 (select (store .cse65 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse68 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse70 .cse26)) (.cse66 (select .cse69 .cse6))) (or (not (= (select (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse67) (not (= (mod (+ (select .cse68 .cse26) 1) 4) 0)) (not (= (mod (+ .cse67 1) 4) 0)) (= (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (= (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse74 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse76 (select .cse74 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse76 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse75 (select .cse79 .cse26))) (let ((.cse78 (mod (+ .cse75 1) 4))) (let ((.cse77 (select (store .cse74 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (+ .cse78 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse72 (select .cse76 .cse26))) (let ((.cse71 (+ .cse72 1)) (.cse73 (select .cse77 .cse64))) (or (< .cse71 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse72) (not (= .cse73 (select (select .cse74 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse75 2)) (= (select .cse76 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse71 4)) (= .cse73 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse78 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (store .cse46 (+ .cse80 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) 0)) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (let ((.cse88 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|)) (.cse87 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20))) (let ((.cse81 (select .cse88 .cse87))) (let ((.cse96 (mod (+ .cse81 1) 4))) (let ((.cse97 (select .cse88 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset|)) (.cse98 (+ .cse81 2)) (.cse99 (= .cse96 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (select .cse86 .cse87))) (let ((.cse82 (mod (+ .cse85 1) 4))) (let ((.cse84 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse86 .cse87 (+ (- 4) .cse82))))) (or (= .cse82 0) (let ((.cse83 (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse83 .cse6) (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse85 2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse84 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse90 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse89 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse90 .cse87 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse89 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (not (= (mod (+ (select .cse90 .cse87) 1) 4) 0)) (let ((.cse91 (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse91 .cse6))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse95 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (+ (select .cse95 .cse87) 1))) (let ((.cse92 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse95 .cse87 (mod .cse94 4))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse92 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse93 (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse93 .cse6))) (< .cse94 0))))))))) (and (= .cse96 .cse97) (or (< 0 .cse98) .cse99)) (and (= .cse96 (+ .cse97 4)) (<= .cse98 0) (not .cse99))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse103 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse107 (store .cse103 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse100 (+ (select .cse107 .cse26) 1))) (let ((.cse105 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse107 .cse26 (mod .cse100 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse102 (select .cse103 .cse26))) (let ((.cse101 (+ .cse102 1)) (.cse104 (select .cse105 .cse64))) (or (< .cse100 0) (< .cse101 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse102) (= (select .cse103 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse101 4)) (= .cse104 (select .cse105 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse104 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse115 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse116 (store .cse115 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse108 (+ (select .cse116 .cse26) 1))) (let ((.cse113 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse116 .cse26 (mod .cse108 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse109 (select .cse115 .cse26))) (let ((.cse111 (mod (+ .cse109 1) 4)) (.cse110 (select .cse115 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse112 (select .cse113 .cse64))) (or (< .cse108 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse109) (= .cse110 .cse111) (= .cse111 (+ .cse110 4)) (= .cse112 (select .cse113 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse112 (select (select .cse114 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse120 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse122 (select .cse120 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse122 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse118 (select (store .cse120 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse117 (select .cse118 .cse123)) (.cse119 (select .cse122 .cse26))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse117)) (not (= (mod (+ (select .cse121 .cse26) 1) 4) 0)) (not (= (mod (+ .cse119 1) 4) 0)) (= (select .cse122 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse125 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse130 (select .cse125 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse130 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse127 (select .cse131 .cse26))) (let ((.cse129 (mod (+ .cse127 1) 4))) (let ((.cse128 (select (store .cse125 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse26 (+ .cse129 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse124 (select .cse128 .cse123)) (.cse126 (select .cse130 .cse26))) (or (not (= .cse124 (select (select .cse125 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse126) (< 0 (+ .cse127 2)) (= (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse124) (not (= (mod (+ .cse126 1) 4) 0)) (= .cse129 0) (= (select .cse130 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse134 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse139 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse135 (select .cse139 .cse26))) (let ((.cse137 (mod (+ .cse135 1) 4))) (let ((.cse136 (select (store .cse134 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse139 .cse26 (+ .cse137 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse133 (select .cse136 .cse64)) (.cse132 (select .cse138 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse132) (not (= .cse133 (select (select .cse134 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse135 2)) (= .cse133 (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse132 1) 4) 0)) (= .cse137 0) (= (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse142 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse145 (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse146 (store .cse145 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse146 .cse26) 1))) (let ((.cse144 (select (store .cse142 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse146 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse143 (select .cse144 .cse6)) (.cse141 (select .cse145 .cse26))) (or (< .cse140 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse141) (not (= (select (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143)) (= (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143) (not (= (mod (+ .cse141 1) 4) 0)) (= (select .cse145 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse155 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse156 (store .cse155 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse156 .cse26))) (let ((.cse154 (mod (+ .cse150 1) 4))) (let ((.cse147 (select .cse155 .cse26)) (.cse153 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse156 .cse26 (+ .cse154 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse153 .cse64)) (.cse152 (mod (+ .cse147 1) 4)) (.cse151 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse147) (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse151 .cse152) (= .cse148 (select .cse153 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 (+ .cse151 4)) (= .cse154 0)))))))))) (let ((.cse157 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse157 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse157 (<= |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)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse161 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse163 (select .cse161 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse164 (store .cse163 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse162 (select .cse163 .cse26)) (.cse158 (select (store .cse161 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse164 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse159 (select .cse158 .cse64)) (.cse160 (+ .cse162 1))) (or (= (select .cse158 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse159) (< .cse160 0) (not (= .cse159 (select (select .cse161 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162) (= (select .cse163 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse160 4)) (not (= (mod (+ (select .cse164 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse169 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse167 (select .cse169 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse165 (select .cse167 .cse26))) (let ((.cse166 (mod (+ .cse165 1) 4))) (or (< 0 (+ 2 .cse165)) (= .cse166 0) (= .cse166 (+ (select .cse167 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse172 (store .cse167 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (+ (select .cse172 .cse26) 1))) (let ((.cse171 (select (store .cse169 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse172 .cse26 (mod .cse168 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse170 (select .cse171 .cse6))) (or (< .cse168 0) (not (= (select (select .cse169 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170)) (= (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse175 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse173 (select .cse175 .cse26))) (let ((.cse174 (mod (+ .cse173 1) 4))) (or (< 0 (+ 2 .cse173)) (= .cse174 0) (= .cse174 (+ (select .cse175 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse181 (store .cse175 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse178 (select .cse181 .cse26))) (let ((.cse180 (mod (+ .cse178 1) 4))) (let ((.cse179 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse181 .cse26 (+ .cse180 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse176 (select .cse179 .cse64))) (or (not (= .cse176 (select (select .cse177 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse178 2)) (= .cse176 (select .cse179 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse180 0)))))))))))))))) (or .cse182 .cse183 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse187 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse186 (+ (select .cse187 .cse188) 1))) (let ((.cse184 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse187 .cse188 (mod .cse186 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (select .cse184 .cse6))) (or (= (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185) (< .cse186 0) (not (= .cse1 .cse185)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse191 .cse188 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse193 .cse6))) (or (not (= (mod (+ (select .cse191 .cse188) 1) 4) 0)) (not (= .cse192 .cse1)) (= .cse192 (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse198 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse196 (select .cse198 .cse188))) (let ((.cse197 (mod (+ .cse196 1) 4))) (let ((.cse195 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse198 .cse188 (+ .cse197 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse194 (select .cse195 .cse6))) (or (= .cse194 (select .cse195 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse194)) (< 0 (+ 2 .cse196)) (= .cse197 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse199 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse199 .cse188 0)))) (or (not (= (mod (+ (select .cse199 .cse188) 1) 4) 0)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (let ((.cse201 (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse201 .cse6) (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse206 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse204 (select .cse206 .cse188))) (let ((.cse205 (mod (+ .cse204 1) 4))) (let ((.cse202 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse206 .cse188 (+ .cse205 (- 4)))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse202 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse203 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse203 .cse6) (select .cse203 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse204)) (= .cse205 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse210 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (+ (select .cse210 .cse188) 1))) (let ((.cse208 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse210 .cse188 (mod .cse209 4))))) (or (let ((.cse207 (select .cse208 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse207 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse207 .cse6))) (< .cse209 0) (not (= (select (select .cse208 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190)))) .cse182 .cse183) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse215 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse214 (select .cse215 .cse45))) (let ((.cse212 (mod (+ .cse214 1) 4))) (let ((.cse211 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse215 .cse45 (+ .cse212 (- 4)))))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse212 0) (let ((.cse213 (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse213 .cse6) (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse214)))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse222 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse224 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse216 (+ (select .cse224 .cse26) 1))) (let ((.cse217 (select .cse223 .cse26)) (.cse221 (select (store .cse222 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse224 .cse26 (mod .cse216 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse220 (select .cse221 .cse123)) (.cse219 (mod (+ .cse217 1) 4)) (.cse218 (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse216 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse217) (= .cse218 .cse219) (= .cse220 (select .cse221 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse220 (select (select .cse222 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse219 (+ .cse218 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse228 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse233 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse227 (select .cse233 .cse26))) (let ((.cse229 (mod (+ .cse227 1) 4))) (let ((.cse232 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse233 .cse26 (+ .cse229 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse226 (select .cse228 .cse26))) (let ((.cse225 (+ .cse226 1)) (.cse231 (select .cse232 .cse6))) (or (< .cse225 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse226) (< 0 (+ .cse227 2)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse225 4)) (= .cse229 0) (not (= (select (select .cse230 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)) (= (select .cse232 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse1) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse235 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse239 (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse234 (select .cse239 .cse26))) (let ((.cse240 (mod (+ .cse234 1) 4))) (or (< 0 (+ 2 .cse234)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse237 (store .cse239 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select (store .cse235 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse237 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse236 (select .cse238 .cse6))) (or (not (= (select (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)) (not (= (mod (+ (select .cse237 .cse26) 1) 4) 0)) (= (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)))))) (= .cse240 0) (= .cse240 (+ (select .cse239 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse246 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse241 (select .cse243 .cse26))) (let ((.cse242 (mod (+ .cse241 1) 4))) (or (< 0 (+ 2 .cse241)) (= .cse242 0) (= .cse242 (+ (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse247 (store .cse243 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select (store .cse246 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse247 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse244 (select .cse245 .cse123))) (or (= .cse244 (select .cse245 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse246 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse244)) (not (= (mod (+ (select .cse247 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse249 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse253 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse256 (store .cse253 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (select .cse256 .cse26))) (let ((.cse255 (mod (+ .cse252 1) 4))) (let ((.cse254 (select (store .cse249 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse256 .cse26 (+ .cse255 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse251 (select .cse253 .cse26))) (let ((.cse250 (+ .cse251 1)) (.cse248 (select .cse254 .cse123))) (or (not (= .cse248 (select (select .cse249 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse250 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse251) (< 0 (+ .cse252 2)) (= (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse250 4)) (= (select .cse254 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse248) (= .cse255 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse257) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse265 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse263 (store .cse265 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse263 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse260 (select .cse265 .cse26))) (let ((.cse262 (mod (+ .cse260 1) 4)) (.cse261 (select .cse265 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse259 (select .cse264 .cse6))) (or (not (= (select (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 .cse262) (not (= (mod (+ (select .cse263 .cse26) 1) 4) 0)) (= .cse262 (+ .cse261 4)) (= (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse272 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse268 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse266 (select .cse268 .cse26))) (let ((.cse267 (mod (+ .cse266 1) 4))) (or (< 0 (+ 2 .cse266)) (= .cse267 0) (= .cse267 (+ (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse268 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (+ (select .cse273 .cse26) 1))) (let ((.cse271 (select (store .cse272 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (mod .cse269 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse270 (select .cse271 .cse64))) (or (< .cse269 0) (= .cse270 (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse270 (select (select .cse272 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse277 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse278 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse279 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse276 (+ (select .cse279 .cse188) 1))) (let ((.cse275 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse279 .cse188 (mod .cse276 4))))) (or (let ((.cse274 (select .cse275 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse274 .cse6))) (< .cse276 0) (not (= (select (select .cse275 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse281 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse281 .cse188 0)))) (or (not (= .cse278 (select (select .cse280 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277))) (not (= (mod (+ (select .cse281 .cse188) 1) 4) 0)) (let ((.cse282 (select .cse280 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse282 .cse6) (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse287 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse285 (select .cse287 .cse188))) (let ((.cse286 (mod (+ .cse285 1) 4))) (let ((.cse284 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse287 .cse188 (+ .cse286 (- 4)))))) (or (let ((.cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse283 .cse6) (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse284 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278)) (< 0 (+ 2 .cse285)) (= .cse286 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse296 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (store .cse296 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse297 .cse26))) (let ((.cse295 (mod (+ .cse291 1) 4))) (let ((.cse290 (select .cse296 .cse26)) (.cse294 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse297 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse288 (select .cse294 .cse123)) (.cse293 (mod (+ .cse290 1) 4)) (.cse292 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (< 0 (+ .cse291 2)) (= .cse292 .cse293) (= (select .cse294 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse288) (= .cse293 (+ .cse292 4)) (= .cse295 0)))))))))) (or (let ((.cse301 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse302 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse302 .cse188) 1))) (let ((.cse299 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse302 .cse188 (mod .cse300 4))))) (or (let ((.cse298 (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse298 .cse6))) (< .cse300 0) (not (= (select (select .cse299 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse307 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse307 .cse188))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse304 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse307 .cse188 (+ .cse306 (- 4)))))) (or (let ((.cse303 (select .cse304 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse303 .cse6) (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse305)) (= .cse306 0) (not (= .cse301 (select (select .cse304 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse308 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse309 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse308 .cse188 0)))) (or (not (= (mod (+ (select .cse308 .cse188) 1) 4) 0)) (not (= (select (select .cse309 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301)) (let ((.cse310 (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse310 .cse6) (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse313 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse318 (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse317 (store .cse318 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (select .cse318 .cse26)) (.cse311 (select (store .cse313 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse317 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse312 (select .cse311 .cse64)) (.cse316 (mod (+ .cse314 1) 4)) (.cse315 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse311 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse312) (not (= .cse312 (select (select .cse313 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse314) (= .cse315 .cse316) (not (= (mod (+ (select .cse317 .cse26) 1) 4) 0)) (= .cse316 (+ .cse315 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse324 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse325 (store .cse324 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse319 (+ (select .cse325 .cse26) 1))) (let ((.cse322 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse325 .cse26 (mod .cse319 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse321 (select .cse322 .cse123)) (.cse320 (select .cse324 .cse26))) (or (< .cse319 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (= .cse321 (select .cse322 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse321 (select (select .cse323 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse320 1) 4) 0)) (= (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse328 .cse45 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse326 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse327 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse327 .cse6))) (not (= (mod (+ (select .cse328 .cse45) 1) 4) 0)))))) (not (= .cse257 1)) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse333 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse334 (select .cse333 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse335 (store .cse334 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse329 (+ (select .cse335 .cse26) 1))) (let ((.cse332 (select (store .cse333 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse335 .cse26 (mod .cse329 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse330 (select .cse334 .cse26)) (.cse331 (select .cse332 .cse64))) (or (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (not (= (mod (+ .cse330 1) 4) 0)) (= .cse331 (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse331 (select (select .cse333 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse334 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse338 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select (store .cse338 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse337 (select .cse336 .cse64)) (.cse339 (select .cse341 .cse26))) (or (= (select .cse336 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse337) (not (= .cse337 (select (select .cse338 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (not (= (mod (+ .cse339 1) 4) 0)) (= (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse344 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse349 (select .cse344 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse342 (select .cse349 .cse26))) (let ((.cse350 (mod (+ .cse342 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse348 (store .cse349 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select .cse348 .cse26))) (let ((.cse347 (mod (+ .cse345 1) 4))) (let ((.cse346 (select (store .cse344 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse348 .cse26 (+ .cse347 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse343 (select .cse346 .cse123))) (or (not (= .cse343 (select (select .cse344 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse345 2)) (= (select .cse346 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse343) (= .cse347 0)))))))))) (< 0 (+ 2 .cse342)) (= .cse350 0) (= .cse350 (+ (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse356 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse356 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (select .cse353 .cse26))) (let ((.cse352 (mod (+ .cse351 1) 4))) (or (< 0 (+ 2 .cse351)) (= .cse352 0) (= .cse352 (+ (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse351) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse359 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse354 (select .cse359 .cse26))) (let ((.cse355 (mod (+ .cse354 1) 4))) (let ((.cse358 (select (store .cse356 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (+ .cse355 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse357 (select .cse358 .cse6))) (or (< 0 (+ .cse354 2)) (= .cse355 0) (not (= (select (select .cse356 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)) (= (select .cse358 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse366 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse366 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse360 (select .cse362 .cse26))) (let ((.cse361 (mod (+ .cse360 1) 4))) (or (< 0 (+ 2 .cse360)) (= .cse361 0) (= .cse361 (+ (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse367 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (+ (select .cse367 .cse26) 1))) (let ((.cse365 (select (store .cse366 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse363 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse364 (select .cse365 .cse123))) (or (< .cse363 0) (= .cse364 (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse364 (select (select .cse366 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse371 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse374 (select .cse371 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse375 (store .cse374 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse375 .cse26))) (let ((.cse370 (mod (+ .cse369 1) 4))) (let ((.cse373 (select (store .cse371 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse375 .cse26 (+ .cse370 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse368 (select .cse374 .cse26)) (.cse372 (select .cse373 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (not (= (mod (+ .cse368 1) 4) 0)) (= .cse370 0) (not (= (select (select .cse371 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372)) (= (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372) (= (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse386 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse387 (select .cse386 .cse385))) (let ((.cse379 (mod (+ .cse387 1) 4))) (let ((.cse376 (+ 2 .cse387)) (.cse377 (= .cse379 0)) (.cse378 (select .cse386 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse376 0) (not .cse377) (= (+ .cse378 4) .cse379)) (and (or (< 0 .cse376) .cse377) (= .cse378 .cse379)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse384 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse383 (select .cse384 .cse385))) (let ((.cse380 (mod (+ .cse383 1) 4))) (let ((.cse382 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse384 .cse385 (+ (- 4) .cse380))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse381 (select .cse382 .cse6))) (or (= .cse380 0) (not (= .cse1 .cse381)) (= .cse381 (select .cse382 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse383))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse391 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse390 (+ (select .cse391 .cse385) 1))) (let ((.cse389 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse391 .cse385 (mod .cse390 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse388 (select .cse389 .cse6))) (or (not (= .cse1 .cse388)) (= .cse388 (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse390 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse394 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse393 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse394 .cse385 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse392 (select .cse393 .cse6))) (or (= .cse392 (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse392 .cse1)) (not (= (mod (+ (select .cse394 .cse385) 1) 4) 0))))))))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| .cse1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse399 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse400 (select .cse399 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse401 (store .cse400 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse398 (select .cse400 .cse26)) (.cse396 (select (store .cse399 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse401 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse395 (select .cse396 .cse123)) (.cse397 (+ .cse398 1))) (or (= .cse395 (select .cse396 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse397 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse398) (not (= (select (select .cse399 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse395)) (= (select .cse400 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse397 4)) (not (= (mod (+ (select .cse401 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse402 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse406 (select .cse402 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse407 (store .cse406 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse408 (select (store .cse402 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse407 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse405 (select .cse406 .cse26))) (let ((.cse404 (+ .cse405 1)) (.cse403 (select .cse408 .cse6))) (or (not (= (select (select .cse402 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)) (< .cse404 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse405) (= (select .cse406 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse404 4)) (not (= (mod (+ (select .cse407 .cse26) 1) 4) 0)) (= (select .cse408 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse412 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse416 (select .cse412 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse415 (store .cse416 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse411 (select .cse416 .cse26)) (.cse410 (select (store .cse412 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse415 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse409 (select .cse410 .cse123)) (.cse414 (mod (+ .cse411 1) 4)) (.cse413 (select .cse416 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse409 (select .cse410 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse411) (not (= (select (select .cse412 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse409)) (= .cse413 .cse414) (not (= (mod (+ (select .cse415 .cse26) 1) 4) 0)) (= .cse414 (+ .cse413 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse422 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse425 (select .cse422 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse426 (store .cse425 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse418 (select .cse426 .cse26))) (let ((.cse421 (mod (+ .cse418 1) 4))) (let ((.cse424 (select (store .cse422 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse426 .cse26 (+ .cse421 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse417 (select .cse425 .cse26))) (let ((.cse420 (mod (+ .cse417 1) 4)) (.cse419 (select .cse425 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse423 (select .cse424 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse417) (< 0 (+ .cse418 2)) (= .cse419 .cse420) (= .cse420 (+ .cse419 4)) (= .cse421 0) (not (= (select (select .cse422 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)) (= (select .cse424 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse433 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse430 (select .cse433 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse434 (store .cse430 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse427 (+ (select .cse434 .cse26) 1))) (let ((.cse432 (select (store .cse433 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse434 .cse26 (mod .cse427 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse429 (select .cse430 .cse26))) (let ((.cse428 (+ .cse429 1)) (.cse431 (select .cse432 .cse123))) (or (< .cse427 0) (< .cse428 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse429) (= (select .cse430 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse428 4)) (= .cse431 (select .cse432 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse431 (select (select .cse433 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse438 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse440 (select .cse438 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse442 (store .cse440 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse435 (+ (select .cse442 .cse26) 1))) (let ((.cse441 (select (store .cse438 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse442 .cse26 (mod .cse435 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse437 (select .cse440 .cse26))) (let ((.cse436 (+ .cse437 1)) (.cse439 (select .cse441 .cse6))) (or (< .cse435 0) (< .cse436 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse437) (not (= (select (select .cse438 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439)) (= (select .cse440 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse436 4)) (= (select .cse441 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439))))))))))))))) is different from true [2024-04-03 22:25:25,893 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse161 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse162 (select .cse161 .cse160))) (let ((.cse397 (mod (+ .cse162 1) 4))) (let ((.cse395 (+ .cse162 2)) (.cse396 (= .cse397 0)) (.cse398 (select .cse161 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse154 (and (<= .cse395 0) (not .cse396) (= .cse397 (+ 4 .cse398)))) (.cse155 (and (or (< 0 .cse395) .cse396) (= .cse397 .cse398))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (let ((.cse129 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse129 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse129 (<= |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_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse133 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse135 (select .cse133 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (store .cse135 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse134 (select .cse135 .cse26)) (.cse130 (select (store .cse133 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse136 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse131 (select .cse130 .cse56)) (.cse132 (+ .cse134 1))) (or (= (select .cse130 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse131) (< .cse132 0) (not (= .cse131 (select (select .cse133 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse134) (= (select .cse135 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse132 4)) (not (= (mod (+ (select .cse136 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse141 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse139 (select .cse141 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse137 (select .cse139 .cse26))) (let ((.cse138 (mod (+ .cse137 1) 4))) (or (< 0 (+ 2 .cse137)) (= .cse138 0) (= .cse138 (+ (select .cse139 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse144 (store .cse139 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse144 .cse26) 1))) (let ((.cse143 (select (store .cse141 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse144 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse142 (select .cse143 .cse6))) (or (< .cse140 0) (not (= (select (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142)) (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse147 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse145 (select .cse147 .cse26))) (let ((.cse146 (mod (+ .cse145 1) 4))) (or (< 0 (+ 2 .cse145)) (= .cse146 0) (= .cse146 (+ (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse145) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse153 (store .cse147 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse153 .cse26))) (let ((.cse152 (mod (+ .cse150 1) 4))) (let ((.cse151 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse153 .cse26 (+ .cse152 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse151 .cse56))) (or (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse148 (select .cse151 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 0)))))))))))))))) (or .cse154 .cse155 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse159 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse158 (+ (select .cse159 .cse160) 1))) (let ((.cse156 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse159 .cse160 (mod .cse158 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse157 (select .cse156 .cse6))) (or (= (select .cse156 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse157) (< .cse158 0) (not (= .cse1 .cse157)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse163 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse165 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse163 .cse160 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse164 (select .cse165 .cse6))) (or (not (= (mod (+ (select .cse163 .cse160) 1) 4) 0)) (not (= .cse164 .cse1)) (= .cse164 (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse170 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (select .cse170 .cse160))) (let ((.cse169 (mod (+ .cse168 1) 4))) (let ((.cse167 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse170 .cse160 (+ .cse169 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse166 (select .cse167 .cse6))) (or (= .cse166 (select .cse167 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse166)) (< 0 (+ 2 .cse168)) (= .cse169 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse178 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse179 (store .cse178 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (+ (select .cse179 .cse26) 1))) (let ((.cse172 (select .cse178 .cse26)) (.cse176 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse179 .cse26 (mod .cse171 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse175 (select .cse176 .cse95)) (.cse174 (mod (+ .cse172 1) 4)) (.cse173 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse171 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse172) (= .cse173 .cse174) (= .cse175 (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse175 (select (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse174 (+ .cse173 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse185 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse183 (select .cse185 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (store .cse183 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse182 (select .cse188 .cse26))) (let ((.cse184 (mod (+ .cse182 1) 4))) (let ((.cse187 (select (store .cse185 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse188 .cse26 (+ .cse184 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse181 (select .cse183 .cse26))) (let ((.cse180 (+ .cse181 1)) (.cse186 (select .cse187 .cse6))) (or (< .cse180 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse181) (< 0 (+ .cse182 2)) (= (select .cse183 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse180 4)) (= .cse184 0) (not (= (select (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)) (= (select .cse187 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse190 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse194 (select .cse190 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (select .cse194 .cse26))) (let ((.cse195 (mod (+ .cse189 1) 4))) (or (< 0 (+ 2 .cse189)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse192 (store .cse194 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store .cse190 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse192 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse193 .cse6))) (or (not (= (select (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)) (not (= (mod (+ (select .cse192 .cse26) 1) 4) 0)) (= (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)))))) (= .cse195 0) (= .cse195 (+ (select .cse194 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse201 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse198 (select .cse201 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse196 (select .cse198 .cse26))) (let ((.cse197 (mod (+ .cse196 1) 4))) (or (< 0 (+ 2 .cse196)) (= .cse197 0) (= .cse197 (+ (select .cse198 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse202 (store .cse198 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (select (store .cse201 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse202 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse199 (select .cse200 .cse95))) (or (= .cse199 (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse199)) (not (= (mod (+ (select .cse202 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse204 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse208 (select .cse204 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse211 (store .cse208 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse207 (select .cse211 .cse26))) (let ((.cse210 (mod (+ .cse207 1) 4))) (let ((.cse209 (select (store .cse204 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse211 .cse26 (+ .cse210 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse206 (select .cse208 .cse26))) (let ((.cse205 (+ .cse206 1)) (.cse203 (select .cse209 .cse95))) (or (not (= .cse203 (select (select .cse204 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse205 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse206) (< 0 (+ .cse207 2)) (= (select .cse208 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse205 4)) (= (select .cse209 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse203) (= .cse210 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse212 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse219 (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse217 (store .cse219 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse218 (select (store .cse212 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse217 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse214 (select .cse219 .cse26))) (let ((.cse216 (mod (+ .cse214 1) 4)) (.cse215 (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse213 (select .cse218 .cse6))) (or (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse214) (= .cse215 .cse216) (not (= (mod (+ (select .cse217 .cse26) 1) 4) 0)) (= .cse216 (+ .cse215 4)) (= (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse222 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse220 (select .cse222 .cse26))) (let ((.cse221 (mod (+ .cse220 1) 4))) (or (< 0 (+ 2 .cse220)) (= .cse221 0) (= .cse221 (+ (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse227 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse223 (+ (select .cse227 .cse26) 1))) (let ((.cse225 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse227 .cse26 (mod .cse223 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse224 (select .cse225 .cse56))) (or (< .cse223 0) (= .cse224 (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse224 (select (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse231 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse232 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse233 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse230 (+ (select .cse233 .cse160) 1))) (let ((.cse229 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse233 .cse160 (mod .cse230 4))))) (or (let ((.cse228 (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse228 .cse6))) (< .cse230 0) (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse235 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse234 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse235 .cse160 0)))) (or (not (= .cse232 (select (select .cse234 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231))) (not (= (mod (+ (select .cse235 .cse160) 1) 4) 0)) (let ((.cse236 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse241 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse239 (select .cse241 .cse160))) (let ((.cse240 (mod (+ .cse239 1) 4))) (let ((.cse238 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse241 .cse160 (+ .cse240 (- 4)))))) (or (let ((.cse237 (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse237 .cse6) (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse238 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232)) (< 0 (+ 2 .cse239)) (= .cse240 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse243 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse250 (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse251 (store .cse250 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select .cse251 .cse26))) (let ((.cse249 (mod (+ .cse245 1) 4))) (let ((.cse244 (select .cse250 .cse26)) (.cse248 (select (store .cse243 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse251 .cse26 (+ .cse249 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse242 (select .cse248 .cse95)) (.cse247 (mod (+ .cse244 1) 4)) (.cse246 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse242 (select (select .cse243 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse244) (< 0 (+ .cse245 2)) (= .cse246 .cse247) (= (select .cse248 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse242) (= .cse247 (+ .cse246 4)) (= .cse249 0)))))))))) (or (let ((.cse255 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse256 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse257 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse257 .cse160) 1))) (let ((.cse253 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse257 .cse160 (mod .cse254 4))))) (or (let ((.cse252 (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse252 .cse6))) (< .cse254 0) (not (= (select (select .cse253 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse260 (select .cse262 .cse160))) (let ((.cse261 (mod (+ .cse260 1) 4))) (let ((.cse259 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse160 (+ .cse261 (- 4)))))) (or (let ((.cse258 (select .cse259 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse258 .cse6) (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse260)) (= .cse261 0) (not (= .cse256 (select (select .cse259 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse263 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse263 .cse160 0)))) (or (not (= (mod (+ (select .cse263 .cse160) 1) 4) 0)) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256)) (let ((.cse265 (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse265 .cse6) (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse268 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse273 (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (select .cse273 .cse26)) (.cse266 (select (store .cse268 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse266 .cse56)) (.cse271 (mod (+ .cse269 1) 4)) (.cse270 (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse266 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse267) (not (= .cse267 (select (select .cse268 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse269) (= .cse270 .cse271) (not (= (mod (+ (select .cse272 .cse26) 1) 4) 0)) (= .cse271 (+ .cse270 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse278 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse279 (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse280 (store .cse279 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (+ (select .cse280 .cse26) 1))) (let ((.cse277 (select (store .cse278 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse280 .cse26 (mod .cse274 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse276 (select .cse277 .cse95)) (.cse275 (select .cse279 .cse26))) (or (< .cse274 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse275) (= .cse276 (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse276 (select (select .cse278 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse275 1) 4) 0)) (= (select .cse279 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse285 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse287 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse281 (+ (select .cse287 .cse26) 1))) (let ((.cse284 (select (store .cse285 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse287 .cse26 (mod .cse281 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse282 (select .cse286 .cse26)) (.cse283 (select .cse284 .cse56))) (or (< .cse281 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse282) (not (= (mod (+ .cse282 1) 4) 0)) (= .cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse283 (select (select .cse285 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse290 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse293 (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse292 (store .cse293 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (select (store .cse290 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse289 (select .cse288 .cse56)) (.cse291 (select .cse293 .cse26))) (or (= (select .cse288 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse289) (not (= .cse289 (select (select .cse290 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse291) (not (= (mod (+ (select .cse292 .cse26) 1) 4) 0)) (not (= (mod (+ .cse291 1) 4) 0)) (= (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse301 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse294 (select .cse301 .cse26))) (let ((.cse302 (mod (+ .cse294 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse294) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse300 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse297 (select .cse300 .cse26))) (let ((.cse299 (mod (+ .cse297 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse299 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse295 (select .cse298 .cse95))) (or (not (= .cse295 (select (select .cse296 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse297 2)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse295) (= .cse299 0)))))))))) (< 0 (+ 2 .cse294)) (= .cse302 0) (= .cse302 (+ (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse305 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse303 (select .cse305 .cse26))) (let ((.cse304 (mod (+ .cse303 1) 4))) (or (< 0 (+ 2 .cse303)) (= .cse304 0) (= .cse304 (+ (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse303) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse311 (store .cse305 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse311 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse311 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse310 .cse6))) (or (< 0 (+ .cse306 2)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse318 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse314 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (select .cse314 .cse26))) (let ((.cse313 (mod (+ .cse312 1) 4))) (or (< 0 (+ 2 .cse312)) (= .cse313 0) (= .cse313 (+ (select .cse314 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse314 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse319 .cse26) 1))) (let ((.cse317 (select (store .cse318 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse319 .cse26 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse316 (select .cse317 .cse95))) (or (< .cse315 0) (= .cse316 (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse316 (select (select .cse318 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse326 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse327 (store .cse326 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse321 (select .cse327 .cse26))) (let ((.cse322 (mod (+ .cse321 1) 4))) (let ((.cse325 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse327 .cse26 (+ .cse322 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse320 (select .cse326 .cse26)) (.cse324 (select .cse325 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (< 0 (+ .cse321 2)) (not (= (mod (+ .cse320 1) 4) 0)) (= .cse322 0) (not (= (select (select .cse323 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324)) (= (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324) (= (select .cse326 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse338 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse339 (select .cse338 .cse337))) (let ((.cse331 (mod (+ .cse339 1) 4))) (let ((.cse328 (+ 2 .cse339)) (.cse329 (= .cse331 0)) (.cse330 (select .cse338 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse328 0) (not .cse329) (= (+ .cse330 4) .cse331)) (and (or (< 0 .cse328) .cse329) (= .cse330 .cse331)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse336 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse336 .cse337))) (let ((.cse332 (mod (+ .cse335 1) 4))) (let ((.cse334 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse336 .cse337 (+ (- 4) .cse332))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse333 (select .cse334 .cse6))) (or (= .cse332 0) (not (= .cse1 .cse333)) (= .cse333 (select .cse334 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse335))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse343 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse342 (+ (select .cse343 .cse337) 1))) (let ((.cse341 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse343 .cse337 (mod .cse342 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse340 (select .cse341 .cse6))) (or (not (= .cse1 .cse340)) (= .cse340 (select .cse341 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse342 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse346 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse346 .cse337 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse344 (select .cse345 .cse6))) (or (= .cse344 (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse344 .cse1)) (not (= (mod (+ (select .cse346 .cse337) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse351 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse352 (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse353 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (select .cse352 .cse26)) (.cse348 (select (store .cse351 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse353 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse347 (select .cse348 .cse95)) (.cse349 (+ .cse350 1))) (or (= .cse347 (select .cse348 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse349 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse350) (not (= (select (select .cse351 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse347)) (= (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse349 4)) (not (= (mod (+ (select .cse353 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse354 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse358 (select .cse354 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse358 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (select (store .cse354 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse357 (select .cse358 .cse26))) (let ((.cse356 (+ .cse357 1)) (.cse355 (select .cse360 .cse6))) (or (not (= (select (select .cse354 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)) (< .cse356 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse357) (= (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse356 4)) (not (= (mod (+ (select .cse359 .cse26) 1) 4) 0)) (= (select .cse360 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse364 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse368 (select .cse364 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse368 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (select .cse368 .cse26)) (.cse362 (select (store .cse364 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse361 (select .cse362 .cse95)) (.cse366 (mod (+ .cse363 1) 4)) (.cse365 (select .cse368 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse361 (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse363) (not (= (select (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse361)) (= .cse365 .cse366) (not (= (mod (+ (select .cse367 .cse26) 1) 4) 0)) (= .cse366 (+ .cse365 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse374 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse378 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse370 (select .cse378 .cse26))) (let ((.cse373 (mod (+ .cse370 1) 4))) (let ((.cse376 (select (store .cse374 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse378 .cse26 (+ .cse373 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4)) (.cse371 (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse375 (select .cse376 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse369) (< 0 (+ .cse370 2)) (= .cse371 .cse372) (= .cse372 (+ .cse371 4)) (= .cse373 0) (not (= (select (select .cse374 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)) (= (select .cse376 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse385 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse382 (select .cse385 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse386 (store .cse382 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse379 (+ (select .cse386 .cse26) 1))) (let ((.cse384 (select (store .cse385 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse386 .cse26 (mod .cse379 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse381 (select .cse382 .cse26))) (let ((.cse380 (+ .cse381 1)) (.cse383 (select .cse384 .cse95))) (or (< .cse379 0) (< .cse380 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse381) (= (select .cse382 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse380 4)) (= .cse383 (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse383 (select (select .cse385 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse390 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse392 (select .cse390 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse394 (store .cse392 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse387 (+ (select .cse394 .cse26) 1))) (let ((.cse393 (select (store .cse390 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse394 .cse26 (mod .cse387 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse389 (select .cse392 .cse26))) (let ((.cse388 (+ .cse389 1)) (.cse391 (select .cse393 .cse6))) (or (< .cse387 0) (< .cse388 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse389) (not (= (select (select .cse390 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391)) (= (select .cse392 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse388 4)) (= (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391))))))))))))))) is different from true [2024-04-03 22:25:29,518 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse188 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse187 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse189 (select .cse188 .cse187))) (let ((.cse444 (mod (+ .cse189 1) 4))) (let ((.cse46 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse80 (* |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1| 4)) (.cse442 (+ .cse189 2)) (.cse443 (= .cse444 0)) (.cse445 (select .cse188 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse181 (and (<= .cse442 0) (not .cse443) (= .cse444 (+ 4 .cse445)))) (.cse182 (and (or (< 0 .cse442) .cse443) (= .cse444 .cse445))) (.cse42 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse45 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse47 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| .cse80 4)) (.cse256 (select .cse46 0)) (.cse64 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse123 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse44 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse44 .cse45) 1))) (let ((.cse41 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse44 .cse45 (mod .cse40 4))))) (or (< .cse40 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse41 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse43 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse43 .cse6)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse50 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse55 (select .cse50 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse56 (store .cse55 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse48 (+ (select .cse56 .cse26) 1))) (let ((.cse54 (select (store .cse50 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse56 .cse26 (mod .cse48 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse49 (select .cse55 .cse26))) (let ((.cse53 (mod (+ .cse49 1) 4)) (.cse52 (select .cse55 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse51 (select .cse54 .cse6))) (or (< .cse48 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse49) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51)) (= .cse52 .cse53) (= .cse53 (+ .cse52 4)) (= (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse62 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse59 (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse57 (select .cse59 .cse26))) (let ((.cse58 (mod (+ .cse57 1) 4))) (or (< 0 (+ 2 .cse57)) (= .cse58 0) (= .cse58 (+ (select .cse59 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse63 (store .cse59 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse60 (select (store .cse62 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse61 (select .cse60 .cse64))) (or (= (select .cse60 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse61) (not (= .cse61 (select (select .cse62 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse63 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse65 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse70 (select .cse65 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse68 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse69 (select (store .cse65 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse68 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse70 .cse26)) (.cse66 (select .cse69 .cse6))) (or (not (= (select (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse67) (not (= (mod (+ (select .cse68 .cse26) 1) 4) 0)) (not (= (mod (+ .cse67 1) 4) 0)) (= (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (= (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse74 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse76 (select .cse74 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse76 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse75 (select .cse79 .cse26))) (let ((.cse78 (mod (+ .cse75 1) 4))) (let ((.cse77 (select (store .cse74 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (+ .cse78 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse72 (select .cse76 .cse26))) (let ((.cse71 (+ .cse72 1)) (.cse73 (select .cse77 .cse64))) (or (< .cse71 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse72) (not (= .cse73 (select (select .cse74 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse75 2)) (= (select .cse76 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse71 4)) (= .cse73 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse78 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (store .cse46 (+ .cse80 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) 0)) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (let ((.cse88 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|)) (.cse87 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20))) (let ((.cse81 (select .cse88 .cse87))) (let ((.cse96 (mod (+ .cse81 1) 4))) (let ((.cse97 (select .cse88 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset|)) (.cse98 (+ .cse81 2)) (.cse99 (= .cse96 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (select .cse86 .cse87))) (let ((.cse82 (mod (+ .cse85 1) 4))) (let ((.cse84 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse86 .cse87 (+ (- 4) .cse82))))) (or (= .cse82 0) (let ((.cse83 (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse83 .cse6) (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse85 2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse84 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse90 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse89 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse90 .cse87 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse89 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (not (= (mod (+ (select .cse90 .cse87) 1) 4) 0)) (let ((.cse91 (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse91 .cse6))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse95 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (+ (select .cse95 .cse87) 1))) (let ((.cse92 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse95 .cse87 (mod .cse94 4))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse92 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse93 (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse93 .cse6))) (< .cse94 0))))))))) (and (= .cse96 .cse97) (or (< 0 .cse98) .cse99)) (and (= .cse96 (+ .cse97 4)) (<= .cse98 0) (not .cse99))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse103 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse107 (store .cse103 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse100 (+ (select .cse107 .cse26) 1))) (let ((.cse105 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse107 .cse26 (mod .cse100 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse102 (select .cse103 .cse26))) (let ((.cse101 (+ .cse102 1)) (.cse104 (select .cse105 .cse64))) (or (< .cse100 0) (< .cse101 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse102) (= (select .cse103 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse101 4)) (= .cse104 (select .cse105 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse104 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse115 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse116 (store .cse115 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse108 (+ (select .cse116 .cse26) 1))) (let ((.cse113 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse116 .cse26 (mod .cse108 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse109 (select .cse115 .cse26))) (let ((.cse111 (mod (+ .cse109 1) 4)) (.cse110 (select .cse115 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse112 (select .cse113 .cse64))) (or (< .cse108 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse109) (= .cse110 .cse111) (= .cse111 (+ .cse110 4)) (= .cse112 (select .cse113 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse112 (select (select .cse114 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse120 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse122 (select .cse120 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse122 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse118 (select (store .cse120 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse117 (select .cse118 .cse123)) (.cse119 (select .cse122 .cse26))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse117)) (not (= (mod (+ (select .cse121 .cse26) 1) 4) 0)) (not (= (mod (+ .cse119 1) 4) 0)) (= (select .cse122 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse125 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse130 (select .cse125 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse130 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse127 (select .cse131 .cse26))) (let ((.cse129 (mod (+ .cse127 1) 4))) (let ((.cse128 (select (store .cse125 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse26 (+ .cse129 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse124 (select .cse128 .cse123)) (.cse126 (select .cse130 .cse26))) (or (not (= .cse124 (select (select .cse125 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse126) (< 0 (+ .cse127 2)) (= (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse124) (not (= (mod (+ .cse126 1) 4) 0)) (= .cse129 0) (= (select .cse130 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse134 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse139 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse135 (select .cse139 .cse26))) (let ((.cse137 (mod (+ .cse135 1) 4))) (let ((.cse136 (select (store .cse134 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse139 .cse26 (+ .cse137 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse133 (select .cse136 .cse64)) (.cse132 (select .cse138 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse132) (not (= .cse133 (select (select .cse134 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse135 2)) (= .cse133 (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse132 1) 4) 0)) (= .cse137 0) (= (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse142 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse145 (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse146 (store .cse145 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse146 .cse26) 1))) (let ((.cse144 (select (store .cse142 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse146 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse143 (select .cse144 .cse6)) (.cse141 (select .cse145 .cse26))) (or (< .cse140 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse141) (not (= (select (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143)) (= (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143) (not (= (mod (+ .cse141 1) 4) 0)) (= (select .cse145 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse155 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse156 (store .cse155 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse156 .cse26))) (let ((.cse154 (mod (+ .cse150 1) 4))) (let ((.cse147 (select .cse155 .cse26)) (.cse153 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse156 .cse26 (+ .cse154 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse153 .cse64)) (.cse152 (mod (+ .cse147 1) 4)) (.cse151 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse147) (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse151 .cse152) (= .cse148 (select .cse153 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 (+ .cse151 4)) (= .cse154 0)))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse160 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse162 (select .cse160 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse163 (store .cse162 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse161 (select .cse162 .cse26)) (.cse157 (select (store .cse160 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse163 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse158 (select .cse157 .cse64)) (.cse159 (+ .cse161 1))) (or (= (select .cse157 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse158) (< .cse159 0) (not (= .cse158 (select (select .cse160 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161) (= (select .cse162 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse159 4)) (not (= (mod (+ (select .cse163 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse168 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse166 (select .cse168 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse164 (select .cse166 .cse26))) (let ((.cse165 (mod (+ .cse164 1) 4))) (or (< 0 (+ 2 .cse164)) (= .cse165 0) (= .cse165 (+ (select .cse166 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse166 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (+ (select .cse171 .cse26) 1))) (let ((.cse170 (select (store .cse168 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse171 .cse26 (mod .cse167 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse169 (select .cse170 .cse6))) (or (< .cse167 0) (not (= (select (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse169)) (= (select .cse170 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse169))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse174 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse172 (select .cse174 .cse26))) (let ((.cse173 (mod (+ .cse172 1) 4))) (or (< 0 (+ 2 .cse172)) (= .cse173 0) (= .cse173 (+ (select .cse174 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse172) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse180 (store .cse174 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse177 (select .cse180 .cse26))) (let ((.cse179 (mod (+ .cse177 1) 4))) (let ((.cse178 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse180 .cse26 (+ .cse179 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse175 (select .cse178 .cse64))) (or (not (= .cse175 (select (select .cse176 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse177 2)) (= .cse175 (select .cse178 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse179 0)))))))))))))))) (or .cse181 .cse182 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse186 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse185 (+ (select .cse186 .cse187) 1))) (let ((.cse183 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse186 .cse187 (mod .cse185 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse184 (select .cse183 .cse6))) (or (= (select .cse183 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse184) (< .cse185 0) (not (= .cse1 .cse184)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse190 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse190 .cse187 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse192 .cse6))) (or (not (= (mod (+ (select .cse190 .cse187) 1) 4) 0)) (not (= .cse191 .cse1)) (= .cse191 (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse197 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse195 (select .cse197 .cse187))) (let ((.cse196 (mod (+ .cse195 1) 4))) (let ((.cse194 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse197 .cse187 (+ .cse196 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse193 (select .cse194 .cse6))) (or (= .cse193 (select .cse194 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse193)) (< 0 (+ 2 .cse195)) (= .cse196 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse198 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse198 .cse187 0)))) (or (not (= (mod (+ (select .cse198 .cse187) 1) 4) 0)) (not (= (select (select .cse199 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (let ((.cse200 (select .cse199 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse200 .cse6) (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse205 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse203 (select .cse205 .cse187))) (let ((.cse204 (mod (+ .cse203 1) 4))) (let ((.cse201 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse205 .cse187 (+ .cse204 (- 4)))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse201 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse202 (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse202 .cse6) (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse203)) (= .cse204 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse209 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse208 (+ (select .cse209 .cse187) 1))) (let ((.cse207 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse209 .cse187 (mod .cse208 4))))) (or (let ((.cse206 (select .cse207 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse206 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse206 .cse6))) (< .cse208 0) (not (= (select (select .cse207 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189)))) .cse181 .cse182) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse214 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse213 (select .cse214 .cse45))) (let ((.cse211 (mod (+ .cse213 1) 4))) (let ((.cse210 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse214 .cse45 (+ .cse211 (- 4)))))) (or (not (= (select (select .cse210 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse211 0) (let ((.cse212 (select .cse210 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse212 .cse6) (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse213)))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse221 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse222 (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse223 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse215 (+ (select .cse223 .cse26) 1))) (let ((.cse216 (select .cse222 .cse26)) (.cse220 (select (store .cse221 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse223 .cse26 (mod .cse215 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse219 (select .cse220 .cse123)) (.cse218 (mod (+ .cse216 1) 4)) (.cse217 (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse215 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse216) (= .cse217 .cse218) (= .cse219 (select .cse220 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse219 (select (select .cse221 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse218 (+ .cse217 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse229 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse227 (select .cse229 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse232 (store .cse227 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse226 (select .cse232 .cse26))) (let ((.cse228 (mod (+ .cse226 1) 4))) (let ((.cse231 (select (store .cse229 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse232 .cse26 (+ .cse228 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse225 (select .cse227 .cse26))) (let ((.cse224 (+ .cse225 1)) (.cse230 (select .cse231 .cse6))) (or (< .cse224 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse225) (< 0 (+ .cse226 2)) (= (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse224 4)) (= .cse228 0) (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse230)) (= (select .cse231 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse230)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse234 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse238 (select .cse234 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse233 (select .cse238 .cse26))) (let ((.cse239 (mod (+ .cse233 1) 4))) (or (< 0 (+ 2 .cse233)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse236 (store .cse238 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse237 (select (store .cse234 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse236 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse235 (select .cse237 .cse6))) (or (not (= (select (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse235)) (not (= (mod (+ (select .cse236 .cse26) 1) 4) 0)) (= (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse235)))))) (= .cse239 0) (= .cse239 (+ (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse245 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse242 (select .cse245 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse240 (select .cse242 .cse26))) (let ((.cse241 (mod (+ .cse240 1) 4))) (or (< 0 (+ 2 .cse240)) (= .cse241 0) (= .cse241 (+ (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse246 (store .cse242 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select (store .cse245 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse246 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse243 (select .cse244 .cse123))) (or (= .cse243 (select .cse244 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse245 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse243)) (not (= (mod (+ (select .cse246 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse248 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse252 (select .cse248 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse255 (store .cse252 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse251 (select .cse255 .cse26))) (let ((.cse254 (mod (+ .cse251 1) 4))) (let ((.cse253 (select (store .cse248 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse255 .cse26 (+ .cse254 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse250 (select .cse252 .cse26))) (let ((.cse249 (+ .cse250 1)) (.cse247 (select .cse253 .cse123))) (or (not (= .cse247 (select (select .cse248 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse249 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse250) (< 0 (+ .cse251 2)) (= (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse249 4)) (= (select .cse253 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse247) (= .cse254 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse256) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse257 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse264 (select .cse257 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse262 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse263 (select (store .cse257 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse262 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse259 (select .cse264 .cse26))) (let ((.cse261 (mod (+ .cse259 1) 4)) (.cse260 (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse258 (select .cse263 .cse6))) (or (not (= (select (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse258)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse259) (= .cse260 .cse261) (not (= (mod (+ (select .cse262 .cse26) 1) 4) 0)) (= .cse261 (+ .cse260 4)) (= (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse258)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse271 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse267 (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (select .cse267 .cse26))) (let ((.cse266 (mod (+ .cse265 1) 4))) (or (< 0 (+ 2 .cse265)) (= .cse266 0) (= .cse266 (+ (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse272 (store .cse267 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse268 (+ (select .cse272 .cse26) 1))) (let ((.cse270 (select (store .cse271 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 (mod .cse268 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse269 (select .cse270 .cse64))) (or (< .cse268 0) (= .cse269 (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse269 (select (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse276 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse277 (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_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse278 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse275 (+ (select .cse278 .cse187) 1))) (let ((.cse274 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse278 .cse187 (mod .cse275 4))))) (or (let ((.cse273 (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse273 .cse6))) (< .cse275 0) (not (= (select (select .cse274 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse276) .cse277))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse280 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse279 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse280 .cse187 0)))) (or (not (= .cse277 (select (select .cse279 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse276))) (not (= (mod (+ (select .cse280 .cse187) 1) 4) 0)) (let ((.cse281 (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse281 .cse6) (select .cse281 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse286 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse284 (select .cse286 .cse187))) (let ((.cse285 (mod (+ .cse284 1) 4))) (let ((.cse283 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse286 .cse187 (+ .cse285 (- 4)))))) (or (let ((.cse282 (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse282 .cse6) (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse283 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse276) .cse277)) (< 0 (+ 2 .cse284)) (= .cse285 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))))) .cse181 .cse182) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse288 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse295 (select .cse288 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse296 (store .cse295 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse290 (select .cse296 .cse26))) (let ((.cse294 (mod (+ .cse290 1) 4))) (let ((.cse289 (select .cse295 .cse26)) (.cse293 (select (store .cse288 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse296 .cse26 (+ .cse294 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse287 (select .cse293 .cse123)) (.cse292 (mod (+ .cse289 1) 4)) (.cse291 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse287 (select (select .cse288 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse289) (< 0 (+ .cse290 2)) (= .cse291 .cse292) (= (select .cse293 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse287) (= .cse292 (+ .cse291 4)) (= .cse294 0)))))))))) (or (let ((.cse300 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse301 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse299 (+ (select .cse301 .cse187) 1))) (let ((.cse298 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse301 .cse187 (mod .cse299 4))))) (or (let ((.cse297 (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse297 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse297 .cse6))) (< .cse299 0) (not (= (select (select .cse298 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse300))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse306 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse304 (select .cse306 .cse187))) (let ((.cse305 (mod (+ .cse304 1) 4))) (let ((.cse303 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse306 .cse187 (+ .cse305 (- 4)))))) (or (let ((.cse302 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse302 .cse6) (select .cse302 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse304)) (= .cse305 0) (not (= .cse300 (select (select .cse303 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse307 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse307 .cse187 0)))) (or (not (= (mod (+ (select .cse307 .cse187) 1) 4) 0)) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse300)) (let ((.cse309 (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse309 .cse6) (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))))) .cse181 .cse182) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse312 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse317 (select .cse312 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse316 (store .cse317 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse313 (select .cse317 .cse26)) (.cse310 (select (store .cse312 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse316 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse311 (select .cse310 .cse64)) (.cse315 (mod (+ .cse313 1) 4)) (.cse314 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse310 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse311) (not (= .cse311 (select (select .cse312 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse313) (= .cse314 .cse315) (not (= (mod (+ (select .cse316 .cse26) 1) 4) 0)) (= .cse315 (+ .cse314 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse323 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse324 (store .cse323 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse318 (+ (select .cse324 .cse26) 1))) (let ((.cse321 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse324 .cse26 (mod .cse318 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse320 (select .cse321 .cse123)) (.cse319 (select .cse323 .cse26))) (or (< .cse318 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse319) (= .cse320 (select .cse321 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse320 (select (select .cse322 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse319 1) 4) 0)) (= (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse327 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse325 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse327 .cse45 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse325 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse326 (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse326 .cse6))) (not (= (mod (+ (select .cse327 .cse45) 1) 4) 0)))))) (not (= .cse256 1)) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse332 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse333 (select .cse332 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse334 (store .cse333 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse328 (+ (select .cse334 .cse26) 1))) (let ((.cse331 (select (store .cse332 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse334 .cse26 (mod .cse328 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse329 (select .cse333 .cse26)) (.cse330 (select .cse331 .cse64))) (or (< .cse328 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse329) (not (= (mod (+ .cse329 1) 4) 0)) (= .cse330 (select .cse331 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse330 (select (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse333 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse337 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse340 (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse340 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select (store .cse337 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse336 (select .cse335 .cse64)) (.cse338 (select .cse340 .cse26))) (or (= (select .cse335 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse336) (not (= .cse336 (select (select .cse337 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338) (not (= (mod (+ (select .cse339 .cse26) 1) 4) 0)) (not (= (mod (+ .cse338 1) 4) 0)) (= (select .cse340 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse343 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse348 (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse341 (select .cse348 .cse26))) (let ((.cse349 (mod (+ .cse341 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse341) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse347 (store .cse348 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse344 (select .cse347 .cse26))) (let ((.cse346 (mod (+ .cse344 1) 4))) (let ((.cse345 (select (store .cse343 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse347 .cse26 (+ .cse346 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse342 (select .cse345 .cse123))) (or (not (= .cse342 (select (select .cse343 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse344 2)) (= (select .cse345 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse342) (= .cse346 0)))))))))) (< 0 (+ 2 .cse341)) (= .cse349 0) (= .cse349 (+ (select .cse348 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse355 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse352 (select .cse355 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse350 (select .cse352 .cse26))) (let ((.cse351 (mod (+ .cse350 1) 4))) (or (< 0 (+ 2 .cse350)) (= .cse351 0) (= .cse351 (+ (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse350) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse358 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse353 (select .cse358 .cse26))) (let ((.cse354 (mod (+ .cse353 1) 4))) (let ((.cse357 (select (store .cse355 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse358 .cse26 (+ .cse354 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse356 (select .cse357 .cse6))) (or (< 0 (+ .cse353 2)) (= .cse354 0) (not (= (select (select .cse355 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse356)) (= (select .cse357 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse356)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse365 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse361 (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (select .cse361 .cse26))) (let ((.cse360 (mod (+ .cse359 1) 4))) (or (< 0 (+ 2 .cse359)) (= .cse360 0) (= .cse360 (+ (select .cse361 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse366 (store .cse361 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (+ (select .cse366 .cse26) 1))) (let ((.cse364 (select (store .cse365 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse26 (mod .cse362 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse363 (select .cse364 .cse123))) (or (< .cse362 0) (= .cse363 (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse363 (select (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse370 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse373 (select .cse370 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse374 (store .cse373 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse368 (select .cse374 .cse26))) (let ((.cse369 (mod (+ .cse368 1) 4))) (let ((.cse372 (select (store .cse370 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse374 .cse26 (+ .cse369 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse367 (select .cse373 .cse26)) (.cse371 (select .cse372 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse367) (< 0 (+ .cse368 2)) (not (= (mod (+ .cse367 1) 4) 0)) (= .cse369 0) (not (= (select (select .cse370 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse371)) (= (select .cse372 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse371) (= (select .cse373 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse385 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse384 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse386 (select .cse385 .cse384))) (let ((.cse378 (mod (+ .cse386 1) 4))) (let ((.cse375 (+ 2 .cse386)) (.cse376 (= .cse378 0)) (.cse377 (select .cse385 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse375 0) (not .cse376) (= (+ .cse377 4) .cse378)) (and (or (< 0 .cse375) .cse376) (= .cse377 .cse378)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse383 (store .cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse382 (select .cse383 .cse384))) (let ((.cse379 (mod (+ .cse382 1) 4))) (let ((.cse381 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse383 .cse384 (+ (- 4) .cse379))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse380 (select .cse381 .cse6))) (or (= .cse379 0) (not (= .cse1 .cse380)) (= .cse380 (select .cse381 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse382))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse386))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse390 (store .cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse389 (+ (select .cse390 .cse384) 1))) (let ((.cse388 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse390 .cse384 (mod .cse389 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse387 (select .cse388 .cse6))) (or (not (= .cse1 .cse387)) (= .cse387 (select .cse388 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse389 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse386))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse386) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse393 (store .cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse392 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse393 .cse384 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse391 (select .cse392 .cse6))) (or (= .cse391 (select .cse392 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse391 .cse1)) (not (= (mod (+ (select .cse393 .cse384) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse398 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse399 (select .cse398 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse400 (store .cse399 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse397 (select .cse399 .cse26)) (.cse395 (select (store .cse398 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse400 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse394 (select .cse395 .cse123)) (.cse396 (+ .cse397 1))) (or (= .cse394 (select .cse395 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse396 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse397) (not (= (select (select .cse398 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse394)) (= (select .cse399 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse396 4)) (not (= (mod (+ (select .cse400 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse401 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse405 (select .cse401 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse406 (store .cse405 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse407 (select (store .cse401 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse406 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse404 (select .cse405 .cse26))) (let ((.cse403 (+ .cse404 1)) (.cse402 (select .cse407 .cse6))) (or (not (= (select (select .cse401 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse402)) (< .cse403 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse404) (= (select .cse405 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse403 4)) (not (= (mod (+ (select .cse406 .cse26) 1) 4) 0)) (= (select .cse407 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse402)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse411 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse415 (select .cse411 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse414 (store .cse415 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse410 (select .cse415 .cse26)) (.cse409 (select (store .cse411 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse414 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse408 (select .cse409 .cse123)) (.cse413 (mod (+ .cse410 1) 4)) (.cse412 (select .cse415 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse408 (select .cse409 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse410) (not (= (select (select .cse411 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse408)) (= .cse412 .cse413) (not (= (mod (+ (select .cse414 .cse26) 1) 4) 0)) (= .cse413 (+ .cse412 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse421 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse424 (select .cse421 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse425 (store .cse424 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse417 (select .cse425 .cse26))) (let ((.cse420 (mod (+ .cse417 1) 4))) (let ((.cse423 (select (store .cse421 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse425 .cse26 (+ .cse420 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse416 (select .cse424 .cse26))) (let ((.cse419 (mod (+ .cse416 1) 4)) (.cse418 (select .cse424 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse422 (select .cse423 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse416) (< 0 (+ .cse417 2)) (= .cse418 .cse419) (= .cse419 (+ .cse418 4)) (= .cse420 0) (not (= (select (select .cse421 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse422)) (= (select .cse423 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse422)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse432 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse429 (select .cse432 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse433 (store .cse429 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse426 (+ (select .cse433 .cse26) 1))) (let ((.cse431 (select (store .cse432 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse433 .cse26 (mod .cse426 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse428 (select .cse429 .cse26))) (let ((.cse427 (+ .cse428 1)) (.cse430 (select .cse431 .cse123))) (or (< .cse426 0) (< .cse427 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse428) (= (select .cse429 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse427 4)) (= .cse430 (select .cse431 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse430 (select (select .cse432 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse437 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse439 (select .cse437 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse441 (store .cse439 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse434 (+ (select .cse441 .cse26) 1))) (let ((.cse440 (select (store .cse437 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse441 .cse26 (mod .cse434 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse436 (select .cse439 .cse26))) (let ((.cse435 (+ .cse436 1)) (.cse438 (select .cse440 .cse6))) (or (< .cse434 0) (< .cse435 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse436) (not (= (select (select .cse437 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse438)) (= (select .cse439 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse435 4)) (= (select .cse440 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse438))))))))))))))) is different from true [2024-04-03 22:25:32,101 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.18s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:25:47,849 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:26:17,317 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:26:21,430 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.16s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:26:35,695 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.64s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:26:54,240 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.34s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:26:57,330 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-04-03 22:26:59,168 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.74s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:00,460 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.22s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:01,836 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.07s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:13,024 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:15,391 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:27,806 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.59s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:41,970 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:48,487 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:27:52,113 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-04-03 22:28:06,844 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-04-03 22:28:24,232 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.23s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:28:27,693 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:28:32,394 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-04-03 22:28:34,838 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.21s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:28:36,426 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-04-03 22:28:50,818 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:28:56,611 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.03s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:28:58,670 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-04-03 22:29:00,978 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.04s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:29:09,186 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:29:17,458 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:29:24,512 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.87s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:29:34,144 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:29:36,326 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:29:42,681 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.43s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-03 22:29:42,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-03 22:29:42,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-04-03 22:29:42,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 84 states. [2024-04-03 22:29:42,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 109 states. [2024-04-03 22:29:42,781 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-04-03 22:29:42,978 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-03 22:29:42,979 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-04-03 22:29:42,979 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-03 22:29:42,979 INFO L85 PathProgramCache]: Analyzing trace with hash 330082998, now seen corresponding path program 1 times [2024-04-03 22:29:42,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-03 22:29:42,980 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [356672475] [2024-04-03 22:29:42,980 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:29:42,980 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-03 22:29:43,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:29:46,068 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 75 proven. 12 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2024-04-03 22:29:46,068 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-03 22:29:46,068 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [356672475] [2024-04-03 22:29:46,068 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [356672475] provided 0 perfect and 1 imperfect interpolant sequences [2024-04-03 22:29:46,069 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1367411108] [2024-04-03 22:29:46,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-03 22:29:46,069 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-03 22:29:46,069 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-03 22:29:46,070 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-04-03 22:29:46,070 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-04-03 22:29:46,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-03 22:29:46,231 INFO L262 TraceCheckSpWp]: Trace formula consists of 503 conjuncts, 163 conjunts are in the unsatisfiable core [2024-04-03 22:29:46,242 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-03 22:29:49,374 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-03 22:29:49,421 INFO L349 Elim1Store]: treesize reduction 26, result has 49.0 percent of original size [2024-04-03 22:29:49,421 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 2 new quantified variables, introduced 2 case distinctions, treesize of input 30 treesize of output 42 [2024-04-03 22:29:50,178 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 128 treesize of output 102 [2024-04-03 22:29:50,262 INFO L349 Elim1Store]: treesize reduction 61, result has 26.5 percent of original size [2024-04-03 22:29:50,263 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 4 case distinctions, treesize of input 102 treesize of output 127 [2024-04-03 22:29:50,750 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-03 22:29:50,755 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 21 treesize of output 11 [2024-04-03 22:29:50,838 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 39 treesize of output 23 [2024-04-03 22:29:50,915 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 62 treesize of output 49 [2024-04-03 22:30:00,898 INFO L349 Elim1Store]: treesize reduction 90, result has 29.7 percent of original size [2024-04-03 22:30:00,899 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 6 select indices, 6 select index equivalence classes, 1 disjoint index pairs (out of 15 index pairs), introduced 4 new quantified variables, introduced 11 case distinctions, treesize of input 170 treesize of output 122 [2024-04-03 22:30:02,075 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 220 treesize of output 175 [2024-04-03 22:30:02,151 INFO L349 Elim1Store]: treesize reduction 61, result has 26.5 percent of original size [2024-04-03 22:30:02,152 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 4 case distinctions, treesize of input 168 treesize of output 167 [2024-04-03 22:30:02,420 INFO L349 Elim1Store]: treesize reduction 20, result has 54.5 percent of original size [2024-04-03 22:30:02,421 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 77 treesize of output 80 [2024-04-03 22:30:06,674 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 84 proven. 16 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-04-03 22:30:06,674 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-03 22:32:47,934 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse14 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse49 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 0)))) (let ((.cse51 (select .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.base|)) (.cse13 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (let ((.cse53 (select .cse51 .cse13))) (let ((.cse152 (+ .cse53 1)) (.cse3 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse47 (select (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse1 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse12 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse52 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse53 4) 4))) (let ((.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse233 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse275 (store .cse51 .cse52 v_ArrVal_237))) (let ((.cse272 (+ 1 (select .cse275 .cse13)))) (let ((.cse273 (store .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse275 .cse13 (mod .cse272 4))))) (let ((.cse270 (select (store .cse273 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse274 (select .cse273 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse274 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse274 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse271 (select .cse270 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse270 (+ (* 4 .cse271) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< .cse272 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= (select .cse270 .cse1) .cse271) (not (= .cse47 (select (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))))))))))) (.cse247 (mod .cse152 4)) (.cse234 (select .cse51 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (let ((.cse133 (= .cse247 .cse234)) (.cse132 (and .cse233 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse261 (store .cse51 .cse52 v_ArrVal_237))) (let ((.cse260 (store .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse261 .cse13 0)))) (let ((.cse258 (select (store .cse260 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse262 (select .cse260 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse262 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse262 .cse12) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse259 (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= (select .cse258 .cse1) .cse259) (< 0 (select .cse258 (+ (* .cse259 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= .cse47 (select (select .cse260 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (not (= (mod (+ 1 (select .cse261 .cse13)) 4) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse269 (store .cse51 .cse52 v_ArrVal_237))) (let ((.cse267 (select .cse269 .cse13))) (let ((.cse265 (mod (+ 1 .cse267) 4))) (let ((.cse266 (store .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse269 .cse13 (+ (- 4) .cse265))))) (let ((.cse264 (select (store .cse266 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse268 (select .cse266 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse268 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse268 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse263 (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse263 (select .cse264 .cse1)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= .cse265 0) (not (= (select (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) .cse47)) (< 0 (+ 2 .cse267)) (< 0 (select .cse264 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse263 4) 4))))))))))))) (.cse153 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse251 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse253 (select .cse251 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse254 (select .cse253 .cse13))) (let ((.cse257 (store .cse253 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse254 4)) v_ArrVal_237))) (let ((.cse255 (select .cse257 .cse13))) (let ((.cse250 (mod (+ .cse255 1) 4))) (let ((.cse252 (store .cse251 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse257 .cse13 (+ (- 4) .cse250))))) (let ((.cse248 (select (store .cse252 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse256 (select .cse252 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse256 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse256 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse249 (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse248 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse249 4) 4))) (= v_z_32 3) (= .cse250 0) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse251 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse248 .cse1) .cse249) (= (select .cse253 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse254 1) 4)) (< 3 v_z_32) (< 0 (+ .cse255 2)))))))))))))) (.cse25 (= .cse247 (+ .cse234 4))) (.cse9 (select .cse14 .cse15)) (.cse34 (= .cse247 0)) (.cse23 (not (= (select (select .cse49 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse2 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse10 (select .cse2 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse6 (select .cse10 .cse13))) (let ((.cse0 (store .cse2 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse10 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse6 4) 4) v_ArrVal_237) .cse13 0)))) (let ((.cse4 (select (store .cse0 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse11 (select .cse0 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse11 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse11 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse5 (select .cse4 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse7 (* v_y_33 4))) (or (not (= (select (select .cse0 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse2 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= v_z_33 3) (< 0 (select .cse4 (+ (* .cse5 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse5 (select .cse4 .cse1)) (not (= (mod (+ .cse6 1) 4) 0)) (< v_z_33 0) (< 0 (+ .cse7 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse2 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse7 v_z_33) .cse9) (= 0 (select .cse10 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)))))))))) (or (let ((.cse24 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse46 (store .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse50 (store .cse51 .cse52 v_ArrVal_237))) (store .cse50 .cse13 (+ (- 4) (mod (+ 1 (select .cse50 .cse13)) 4))))))) (let ((.cse45 (select (store .cse46 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse48 (select .cse46 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse48 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse48 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse44 (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse44 (select .cse45 .cse1)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (not (= (select (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) .cse47)) (< 0 (select .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse44 4) 4)))))))))) (and (or (and (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse18 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse19 (store .cse18 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse21 (let ((.cse22 (select .cse18 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse22 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* (select .cse22 .cse13) 4)) v_ArrVal_237)))) (store .cse21 .cse13 (+ (- 4) (mod (+ (select .cse21 .cse13) 1) 4))))))) (let ((.cse16 (select (store .cse19 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse20 (select .cse19 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse20 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse20 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse17 (select .cse16 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse16 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse17 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse18 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse16 .cse1) .cse17) (< 3 v_z_32))))))) (or .cse23 .cse24)) .cse25) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse30 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse26 (select .cse30 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse27 (select .cse26 .cse13))) (let ((.cse31 (store .cse30 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse33 (store .cse26 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse27 4)) v_ArrVal_237))) (store .cse33 .cse13 (+ (- 4) (mod (+ (select .cse33 .cse13) 1) 4))))))) (let ((.cse28 (select (store .cse31 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse32 (select .cse31 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse32 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse32 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse28 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= (+ (select .cse26 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse27 1) 4)) (< 0 (select .cse28 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse29 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse30 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse28 .cse1) .cse29) (< 3 v_z_32)))))))))) .cse34) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse39 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse36 (select .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse41 (select .cse36 .cse13))) (let ((.cse40 (store .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse43 (store .cse36 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse41 4)) v_ArrVal_237))) (store .cse43 .cse13 (+ (- 4) (mod (+ (select .cse43 .cse13) 1) 4))))))) (let ((.cse37 (select (store .cse40 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse42 (select .cse40 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse42 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse42 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse35 (mod (+ .cse41 1) 4)) (.cse38 (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= .cse35 0) (= (+ (select .cse36 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse35) (< 0 (select .cse37 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse38 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse39 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse37 .cse1) .cse38) (< 3 v_z_32))))))))) (or .cse23 .cse34 .cse25 .cse24))) (< 0 (+ 2 .cse53))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse57 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse60 (select .cse57 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse62 (select .cse60 .cse13))) (let ((.cse64 (store .cse60 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse62 4)) v_ArrVal_237))) (let ((.cse61 (select .cse64 .cse13))) (let ((.cse56 (mod (+ .cse61 1) 4))) (let ((.cse59 (store .cse57 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse64 .cse13 (+ (- 4) .cse56))))) (let ((.cse54 (select (store .cse59 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse63 (select .cse59 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse63 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse55 (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse58 (+ .cse62 1))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse54 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse55 4) 4))) (= v_z_32 3) (= .cse56 0) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse57 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< .cse58 0) (not (= (select (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse54 .cse1) .cse55) (= (select .cse60 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse58 4)) (< 3 v_z_32) (< 0 (+ .cse61 2))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse67 (select .cse71 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse66 (select .cse67 .cse13))) (let ((.cse74 (store .cse67 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse66 4) 4) v_ArrVal_237))) (let ((.cse65 (mod (+ (select .cse74 .cse13) 1) 4))) (let ((.cse70 (store .cse71 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse74 .cse13 (+ (- 4) .cse65))))) (let ((.cse69 (select (store .cse70 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse73 (select .cse70 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse73 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse73 .cse12) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse72 (* v_y_33 4)) (.cse68 (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse65 0) (= (mod (+ .cse66 1) 4) (+ 4 (select .cse67 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= .cse68 (select .cse69 .cse1)) (= v_z_33 3) (not (= (select (select .cse70 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse66 2)) (< v_z_33 0) (< 0 (+ .cse72 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse72 v_z_33) .cse9) (< 0 (select .cse69 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse68 4) 4))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse80 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse83 (select .cse80 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse84 (select .cse83 .cse13))) (let ((.cse86 (store .cse83 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse84 4) 4) v_ArrVal_237))) (let ((.cse82 (+ (select .cse86 .cse13) 1))) (let ((.cse81 (store .cse80 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse86 .cse13 (mod .cse82 4))))) (let ((.cse76 (select (store .cse81 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse85 (select .cse81 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse85 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse85 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse75 (select .cse76 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse79 (* v_y_33 4)) (.cse77 (mod (+ .cse84 1) 4)) (.cse78 (select .cse83 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse75 (select .cse76 .cse1)) (= .cse77 (+ 4 .cse78)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse76 (+ (* .cse75 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= v_z_33 3) (< v_z_33 0) (< 0 (+ .cse79 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse80 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse79 v_z_33) .cse9) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse80 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse77 .cse78) (< .cse82 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse93 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse96 (select .cse93 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse97 (select .cse96 .cse13))) (let ((.cse99 (store .cse96 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse97 4) 4) v_ArrVal_237))) (let ((.cse95 (select .cse99 .cse13))) (let ((.cse87 (mod (+ .cse95 1) 4))) (let ((.cse92 (store .cse93 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse99 .cse13 (+ (- 4) .cse87))))) (let ((.cse91 (select (store .cse92 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse98 (select .cse92 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse98 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse98 .cse12) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse94 (* v_y_33 4)) (.cse90 (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse88 (mod (+ .cse97 1) 4)) (.cse89 (select .cse96 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse87 0) (= .cse88 (+ 4 .cse89)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= .cse90 (select .cse91 .cse1)) (= v_z_33 3) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< 0 (+ .cse94 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse93 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse94 v_z_33) .cse9) (< 0 (+ 2 .cse95)) (< 0 (select .cse91 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse90 4) 4))) (= .cse88 .cse89)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse103 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse106 (select .cse103 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse105 (select .cse106 .cse13))) (let ((.cse109 (store .cse106 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse105 4) 4) v_ArrVal_237))) (let ((.cse107 (+ (select .cse109 .cse13) 1))) (let ((.cse104 (store .cse103 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse109 .cse13 (mod .cse107 4))))) (let ((.cse101 (select (store .cse104 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse108 (select .cse104 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse108 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse108 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse100 (select .cse101 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse102 (* v_y_33 4))) (or (= .cse100 (select .cse101 .cse1)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse101 (+ (* .cse100 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= v_z_33 3) (< v_z_33 0) (< 0 (+ .cse102 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse103 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse102 v_z_33) .cse9) (not (= (select (select .cse104 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse103 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (mod (+ .cse105 1) 4) (select .cse106 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse107 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse115 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse118 (select .cse115 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse119 (select .cse118 .cse13))) (let ((.cse121 (store .cse118 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse119 4) 4) v_ArrVal_237))) (let ((.cse117 (select .cse121 .cse13))) (let ((.cse111 (mod (+ .cse117 1) 4))) (let ((.cse114 (store .cse115 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse121 .cse13 (+ (- 4) .cse111))))) (let ((.cse113 (select (store .cse114 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse120 (select .cse114 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse120 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse120 .cse12) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse116 (* v_y_33 4)) (.cse112 (select .cse113 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse110 (+ .cse119 1))) (or (< .cse110 0) (= .cse111 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= .cse112 (select .cse113 .cse1)) (= v_z_33 3) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse115 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< 0 (+ .cse116 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse115 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse116 v_z_33) .cse9) (< 0 (+ 2 .cse117)) (< 0 (select .cse113 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse112 4) 4))) (= (mod .cse110 4) (select .cse118 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse128 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse130 (select .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse129 (select .cse130 .cse13))) (let ((.cse126 (store .cse130 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse129 4)) v_ArrVal_237))) (let ((.cse127 (store .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse126 .cse13 0)))) (let ((.cse122 (select (store .cse127 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse131 (select .cse127 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse131 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse131 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse123 (select .cse122 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse124 (select .cse130 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse125 (mod (+ .cse129 1) 4))) (or (= (select .cse122 .cse1) .cse123) (< 0 (select .cse122 (+ (* .cse123 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= (+ .cse124 4) .cse125) (not (= (mod (+ (select .cse126 .cse13) 1) 4) 0)) (not (= (select (select .cse127 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse128 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse128 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (= .cse124 .cse125) (< 3 v_z_32)))))))))) (or .cse132 .cse133 .cse23 .cse25) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse138 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse140 (select .cse138 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse141 (select .cse140 .cse13))) (let ((.cse136 (store .cse140 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse141 4)) v_ArrVal_237))) (let ((.cse137 (store .cse138 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse136 .cse13 0)))) (let ((.cse134 (select (store .cse137 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse142 (select .cse137 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse142 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse142 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse135 (select .cse134 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse139 (+ .cse141 1))) (or (= (select .cse134 .cse1) .cse135) (< 0 (select .cse134 (+ (* .cse135 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (not (= (mod (+ (select .cse136 .cse13) 1) 4) 0)) (not (= (select (select .cse137 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse138 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse138 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< .cse139 0) (= (select .cse140 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse139 4)) (< 3 v_z_32)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse147 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse144 (select .cse147 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse149 (select .cse144 .cse13))) (let ((.cse148 (store .cse147 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse151 (store .cse144 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse149 4)) v_ArrVal_237))) (store .cse151 .cse13 (+ (- 4) (mod (+ (select .cse151 .cse13) 1) 4))))))) (let ((.cse145 (select (store .cse148 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse150 (select .cse148 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse150 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse150 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse143 (mod (+ .cse149 1) 4)) (.cse146 (select .cse145 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= .cse143 0) (= (+ (select .cse144 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse143) (< 0 (select .cse145 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse146 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse147 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse148 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse147 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse145 .cse1) .cse146) (< 3 v_z_32) (< 0 (+ 2 .cse149)))))))))) (or (< .cse152 0) (and (or .cse132 .cse133 .cse23) .cse153 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse158 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse159 (select .cse158 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse160 (select .cse159 .cse13))) (let ((.cse156 (store .cse159 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse160 4)) v_ArrVal_237))) (let ((.cse157 (store .cse158 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse156 .cse13 0)))) (let ((.cse154 (select (store .cse157 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse161 (select .cse157 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse161 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse155 (select .cse154 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse154 .cse1) .cse155) (< 0 (select .cse154 (+ (* .cse155 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (not (= (mod (+ (select .cse156 .cse13) 1) 4) 0)) (not (= (select (select .cse157 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse158 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse158 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (= (select .cse159 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse160 1) 4)) (< 3 v_z_32)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse164 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse167 (select .cse164 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse168 (select .cse167 .cse13))) (let ((.cse170 (store .cse167 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse168 4)) v_ArrVal_237))) (let ((.cse166 (+ (select .cse170 .cse13) 1))) (let ((.cse165 (store .cse164 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse170 .cse13 (mod .cse166 4))))) (let ((.cse162 (select (store .cse165 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse169 (select .cse165 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse169 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse162 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse162 (+ (* .cse163 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse164 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse166 0) (= (select .cse162 .cse1) .cse163) (= (select .cse167 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse168 1) 4) 0)) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse175 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse177 (select .cse175 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse173 (select .cse177 .cse13))) (let ((.cse180 (store .cse177 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse173 4) 4) v_ArrVal_237))) (let ((.cse178 (+ (select .cse180 .cse13) 1))) (let ((.cse176 (store .cse175 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse180 .cse13 (mod .cse178 4))))) (let ((.cse172 (select (store .cse176 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse179 (select .cse176 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse179 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse179 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse171 (select .cse172 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse174 (* v_y_33 4))) (or (= .cse171 (select .cse172 .cse1)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse172 (+ (* .cse171 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= v_z_33 3) (not (= (mod (+ .cse173 1) 4) 0)) (< v_z_33 0) (< 0 (+ .cse174 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse175 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse174 v_z_33) .cse9) (not (= (select (select .cse176 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= 0 (select .cse177 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse178 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse184 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse185 (select .cse184 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse186 (select .cse185 .cse13))) (let ((.cse183 (store .cse184 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse185 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse186 4)) v_ArrVal_237) .cse13 0)))) (let ((.cse181 (select (store .cse183 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse187 (select .cse183 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse187 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse187 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse182 (select .cse181 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse181 .cse1) .cse182) (< 0 (select .cse181 (+ (* .cse182 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (not (= (select (select .cse183 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse184 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (= (select .cse185 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse186 1) 4) 0)) (< 3 v_z_32))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse191 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse196 (select .cse191 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse197 (select .cse196 .cse13))) (let ((.cse195 (store .cse196 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse197 4) 4) v_ArrVal_237))) (let ((.cse190 (store .cse191 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse195 .cse13 0)))) (let ((.cse192 (select (store .cse190 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse198 (select .cse190 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse198 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse198 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse193 (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse194 (* v_y_33 4)) (.cse188 (mod (+ .cse197 1) 4)) (.cse189 (select .cse196 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse188 (+ 4 .cse189)) (not (= (select (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= v_z_33 3) (< 0 (select .cse192 (+ (* .cse193 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse193 (select .cse192 .cse1)) (< v_z_33 0) (< 0 (+ .cse194 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse191 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse194 v_z_33) .cse9) (= .cse188 .cse189) (not (= (mod (+ (select .cse195 .cse13) 1) 4) 0))))))))))) (or .cse133 (and (or .cse132 .cse23) .cse153) .cse25) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse201 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse204 (select .cse201 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse205 (select .cse204 .cse13))) (let ((.cse207 (store .cse204 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse205 4)) v_ArrVal_237))) (let ((.cse203 (+ (select .cse207 .cse13) 1))) (let ((.cse202 (store .cse201 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse207 .cse13 (mod .cse203 4))))) (let ((.cse199 (select (store .cse202 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse206 (select .cse202 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse206 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse206 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse200 (select .cse199 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse199 (+ (* .cse200 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse201 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse203 0) (= (select .cse199 .cse1) .cse200) (= (select .cse204 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse205 1) 4)) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse210 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_33 (- 3)))))) (let ((.cse214 (select .cse210 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse216 (select .cse214 .cse13))) (let ((.cse215 (store .cse214 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse216 4) 4) v_ArrVal_237))) (let ((.cse209 (store .cse210 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse215 .cse13 0)))) (let ((.cse211 (select (store .cse209 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse217 (select .cse209 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse217 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse217 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse212 (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse213 (* v_y_33 4)) (.cse208 (+ .cse216 1))) (or (< .cse208 0) (not (= (select (select .cse209 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse210 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= v_z_33 3) (< 0 (select .cse211 (+ (* .cse212 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse212 (select .cse211 .cse1)) (< v_z_33 0) (< 0 (+ .cse213 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse210 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< (+ .cse213 v_z_33) .cse9) (= (mod .cse208 4) (select .cse214 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (mod (+ (select .cse215 .cse13) 1) 4) 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse222 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse226 (select .cse222 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse225 (select .cse226 .cse13))) (let ((.cse228 (store .cse226 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse225 4)) v_ArrVal_237))) (let ((.cse224 (+ (select .cse228 .cse13) 1))) (let ((.cse223 (store .cse222 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse228 .cse13 (mod .cse224 4))))) (let ((.cse218 (select (store .cse223 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse227 (select .cse223 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse227 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse227 .cse12) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse219 (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse220 (select .cse226 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse221 (mod (+ .cse225 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (< 0 (select .cse218 (+ (* .cse219 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= (+ .cse220 4) .cse221) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse222 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse223 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse222 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse224 0) (= (select .cse218 .cse1) .cse219) (= .cse220 .cse221) (< 3 v_z_32))))))))))) (or (not .cse34) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse231 (store .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse51 .cse52 v_ArrVal_237) .cse13 0)))) (let ((.cse229 (select (store .cse231 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse232 (select .cse231 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse232 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse232 .cse12) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse230 (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= (select .cse229 .cse1) .cse230) (< 0 (select .cse229 (+ (* .cse230 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= .cse47 (select (select .cse231 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1)))))))) .cse233) .cse23 (= .cse234 0)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse240 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse14 .cse15 (+ v_z_32 1))))) (let ((.cse244 (select .cse240 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse243 (select .cse244 .cse13))) (let ((.cse246 (store .cse244 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse243 4)) v_ArrVal_237))) (let ((.cse242 (select .cse246 .cse13))) (let ((.cse239 (mod (+ .cse242 1) 4))) (let ((.cse241 (store .cse240 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse246 .cse13 (+ (- 4) .cse239))))) (let ((.cse237 (select (store .cse241 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse245 (select .cse241 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse245 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse245 .cse12)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse238 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse235 (select .cse244 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse236 (mod (+ .cse243 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse3) (= (+ .cse235 4) .cse236) (< 0 (select .cse237 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse238 4) 4))) (= v_z_32 3) (= .cse239 0) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse240 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (not (= (select (select .cse241 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse240 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse237 .cse1) .cse238) (= .cse235 .cse236) (< 3 v_z_32) (< 0 (+ .cse242 2))))))))))))))))))))) is different from true [2024-04-03 22:33:00,118 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse17 (store (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1| 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse141 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 0)))) (let ((.cse142 (select .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base|)) (.cse16 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (let ((.cse156 (select .cse142 .cse16))) (let ((.cse108 (+ .cse156 1)) (.cse0 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse137 (select (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse4 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse14 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse143 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse156 4) 4))) (let ((.cse144 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse275 (store .cse142 .cse143 v_ArrVal_237))) (let ((.cse270 (+ (select .cse275 .cse16) 1))) (let ((.cse273 (store .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse275 .cse16 (mod .cse270 4))))) (let ((.cse271 (select (store .cse273 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse274 (select .cse273 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse274 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse274 .cse14)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse272 (select .cse271 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse270 0) (< 0 (select .cse271 (+ (* .cse272 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) .cse137)) (= (select .cse271 .cse4) .cse272))))))))) (.cse146 (select .cse142 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse247 (mod .cse108 4)) (.cse7 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (let ((.cse99 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse264 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse266 (select .cse264 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse267 (select .cse266 .cse16))) (let ((.cse269 (store .cse266 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse267 4) 4) v_ArrVal_237))) (let ((.cse265 (select .cse269 .cse16))) (let ((.cse260 (mod (+ .cse265 1) 4))) (let ((.cse263 (store .cse264 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse269 .cse16 (+ .cse260 (- 4)))))) (let ((.cse262 (select (store .cse263 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse268 (select .cse263 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse268 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse268 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse261 (select .cse262 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse260 0) (= v_z_32 3) (= .cse261 (select .cse262 .cse4)) (< v_z_32 0) (not (= (select (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (select .cse262 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse261 4) 4))) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (+ .cse265 2)) (= (select .cse266 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse267 1) 4)) (< 3 v_z_32))))))))))))) (.cse42 (= .cse146 .cse247)) (.cse43 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse254 (store .cse142 .cse143 v_ArrVal_237))) (let ((.cse249 (select .cse254 .cse16))) (let ((.cse252 (mod (+ .cse249 1) 4))) (let ((.cse248 (store .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse254 .cse16 (+ .cse252 (- 4)))))) (let ((.cse251 (select (store .cse248 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse253 (select .cse248 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse253 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse253 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse250 (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= .cse137 (select (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 0 (+ .cse249 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse250 (select .cse251 .cse4)) (< 0 (select .cse251 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse250 4)))) (= .cse252 0))))))))) .cse144 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse258 (store .cse142 .cse143 v_ArrVal_237))) (let ((.cse255 (store .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse258 .cse16 0)))) (let ((.cse257 (select (store .cse255 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse259 (select .cse255 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse259 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse259 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse256 (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse255 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) .cse137)) (= .cse256 (select .cse257 .cse4)) (not (= (mod (+ (select .cse258 .cse16) 1) 4) 0)) (< 0 (select .cse257 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse256 4) 4))))))))))) (.cse145 (= .cse247 0)) (.cse44 (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse141 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7)))) (.cse45 (= (+ .cse146 4) .cse247)) (.cse26 (select .cse17 .cse18))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse6 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse12 (select .cse6 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse11 (select .cse12 .cse16))) (let ((.cse15 (store .cse12 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse11 4) 4) v_ArrVal_237))) (let ((.cse10 (select .cse15 .cse16))) (let ((.cse1 (mod (+ .cse10 1) 4))) (let ((.cse5 (store .cse6 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse15 .cse16 (+ .cse1 (- 4)))))) (let ((.cse3 (select (store .cse5 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse13 (select .cse5 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse13 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse9 (select .cse12 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse8 (mod (+ .cse11 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse1 0) (= v_z_32 3) (= .cse2 (select .cse3 .cse4)) (< v_z_32 0) (not (= (select (select .cse5 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse6 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (select .cse3 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse2 4) 4))) (not (= (select (select .cse6 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse8 (+ .cse9 4)) (< 0 (+ .cse10 2)) (= .cse9 .cse8) (< 3 v_z_32)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse19 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse28 (select .cse19 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse29 (select .cse28 .cse16))) (let ((.cse27 (store .cse28 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse29 4) 4) v_ArrVal_237))) (let ((.cse22 (store .cse19 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse27 .cse16 0)))) (let ((.cse20 (select (store .cse22 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse30 (select .cse22 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse30 (+ (* (select .cse30 .cse14) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse20 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse23 (mod (+ .cse29 1) 4)) (.cse24 (select .cse28 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse25 (* v_y_33 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse19 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse20 .cse4) .cse21) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse20 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse21) 4))) (not (= (select (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (= v_z_33 3) (= .cse23 (+ .cse24 4)) (< v_z_33 0) (< 0 (+ .cse25 v_z_33 2)) (< 3 v_z_33) (= .cse23 .cse24) (< (+ .cse25 v_z_33) .cse26) (not (= (mod (+ (select .cse27 .cse16) 1) 4) 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse34 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse39 (select .cse34 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse38 (select .cse39 .cse16))) (let ((.cse41 (store .cse39 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse38 4) 4) v_ArrVal_237))) (let ((.cse33 (+ (select .cse41 .cse16) 1))) (let ((.cse37 (store .cse34 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse41 .cse16 (mod .cse33 4))))) (let ((.cse31 (select (store .cse37 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse40 (select .cse37 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse40 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse40 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse32 (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse36 (select .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse35 (mod (+ .cse38 1) 4))) (or (< 0 (select .cse31 (+ (* .cse32 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse32 (select .cse31 .cse4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse33 0) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse35 (+ .cse36 4)) (not (= (select (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse36 .cse35) (< 3 v_z_32))))))))))) (or .cse42 .cse43 .cse44 .cse45) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse50 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse49 (select .cse50 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse48 (select .cse49 .cse16))) (let ((.cse51 (store .cse50 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse49 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse48 4) 4) v_ArrVal_237) .cse16 0)))) (let ((.cse46 (select (store .cse51 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse52 (select .cse51 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse52 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse52 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse47 (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= (select .cse46 .cse4) .cse47) (not (= (mod (+ .cse48 1) 4) 0)) (= (select .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse46 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse47 4) 4))) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse56 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse62 (select .cse56 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse63 (select .cse62 .cse16))) (let ((.cse65 (store .cse62 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse63 4) 4) v_ArrVal_237))) (let ((.cse55 (select .cse65 .cse16))) (let ((.cse61 (mod (+ .cse55 1) 4))) (let ((.cse57 (store .cse56 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse65 .cse16 (+ (- 4) .cse61))))) (let ((.cse54 (select (store .cse57 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse64 (select .cse57 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse64 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse64 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse58 (mod (+ .cse63 1) 4)) (.cse59 (select .cse62 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse60 (* v_y_33 4)) (.cse53 (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse53 (select .cse54 .cse4)) (< 0 (+ .cse55 2)) (not (= (select (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse56 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_33 3) (= .cse58 (+ .cse59 4)) (< v_z_33 0) (< 0 (+ .cse60 v_z_33 2)) (< 3 v_z_33) (= .cse58 .cse59) (< (+ .cse60 v_z_33) .cse26) (= .cse61 0) (< 0 (select .cse54 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse53 4) 4)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse73 (select .cse71 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse74 (select .cse73 .cse16))) (let ((.cse76 (store .cse73 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse74 4) 4) v_ArrVal_237))) (let ((.cse72 (select .cse76 .cse16))) (let ((.cse66 (mod (+ .cse72 1) 4))) (let ((.cse70 (store .cse71 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse76 .cse16 (+ .cse66 (- 4)))))) (let ((.cse68 (select (store .cse70 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse75 (select .cse70 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse75 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse75 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse68 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse69 (+ .cse74 1))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse66 0) (= v_z_32 3) (= .cse67 (select .cse68 .cse4)) (< v_z_32 0) (< .cse69 0) (not (= (select (select .cse70 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (select .cse68 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse67 4) 4))) (not (= (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (+ .cse72 2)) (= (select .cse73 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse69 4)) (< 3 v_z_32)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse77 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse79 (select .cse77 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse82 (select .cse79 .cse16))) (let ((.cse86 (store .cse79 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse82 4) 4) v_ArrVal_237))) (let ((.cse80 (+ (select .cse86 .cse16) 1))) (let ((.cse78 (store .cse77 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse86 .cse16 (mod .cse80 4))))) (let ((.cse83 (select (store .cse78 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse85 (select .cse78 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse85 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse85 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse81 (* v_y_33 4)) (.cse84 (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse77 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse78 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse77 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse79 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse80 0) (= v_z_33 3) (< v_z_33 0) (< 0 (+ .cse81 v_z_33 2)) (< 3 v_z_33) (not (= (mod (+ .cse82 1) 4) 0)) (< (+ .cse81 v_z_33) .cse26) (= (select .cse83 .cse4) .cse84) (< 0 (select .cse83 (+ (* .cse84 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse87 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse95 (select .cse87 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse96 (select .cse95 .cse16))) (let ((.cse98 (store .cse95 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse96 4) 4) v_ArrVal_237))) (let ((.cse89 (+ (select .cse98 .cse16) 1))) (let ((.cse88 (store .cse87 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse98 .cse16 (mod .cse89 4))))) (let ((.cse93 (select (store .cse88 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse97 (select .cse88 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse97 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse97 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse90 (mod (+ .cse96 1) 4)) (.cse91 (select .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse92 (* v_y_33 4)) (.cse94 (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse87 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse88 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse87 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse89 0) (= v_z_33 3) (= .cse90 (+ .cse91 4)) (< v_z_33 0) (< 0 (+ .cse92 v_z_33 2)) (< 3 v_z_33) (= .cse90 .cse91) (< (+ .cse92 v_z_33) .cse26) (= (select .cse93 .cse4) .cse94) (< 0 (select .cse93 (+ (* .cse94 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))) (or .cse42 (and (or .cse43 .cse44) .cse99) .cse45) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse103 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse104 (select .cse103 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse105 (select .cse104 .cse16))) (let ((.cse100 (store .cse104 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse105 4) 4) v_ArrVal_237))) (let ((.cse106 (store .cse103 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse100 .cse16 0)))) (let ((.cse101 (select (store .cse106 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse107 (select .cse106 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse107 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse107 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse102 (select .cse101 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (mod (+ (select .cse100 .cse16) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= (select .cse101 .cse4) .cse102) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse101 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse102 4) 4))) (not (= (select (select .cse103 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse104 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse105 1) 4)) (not (= (select (select .cse106 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse103 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32)))))))))) .cse99 (or .cse42 .cse43 .cse44)) (< .cse108 0)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse109 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse110 (select .cse109 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse115 (select .cse110 .cse16))) (let ((.cse113 (store .cse109 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse110 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse115 4) 4) v_ArrVal_237) .cse16 0)))) (let ((.cse111 (select (store .cse113 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse116 (select .cse113 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse116 (+ (* (select .cse116 .cse14) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse112 (select .cse111 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse114 (* v_y_33 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse109 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse110 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= (select .cse111 .cse4) .cse112) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse111 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse112) 4))) (not (= (select (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse113 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (= v_z_33 3) (< v_z_33 0) (< 0 (+ .cse114 v_z_33 2)) (< 3 v_z_33) (not (= (mod (+ .cse115 1) 4) 0)) (< (+ .cse114 v_z_33) .cse26))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse122 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse123 (select .cse122 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse117 (select .cse123 .cse16))) (let ((.cse121 (store .cse122 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse125 (store .cse123 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse117 4) 4) v_ArrVal_237))) (store .cse125 .cse16 (+ (mod (+ (select .cse125 .cse16) 1) 4) (- 4))))))) (let ((.cse120 (select (store .cse121 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse124 (select .cse121 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse124 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse124 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse119 (select .cse120 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse118 (mod (+ .cse117 1) 4))) (or (< 0 (+ .cse117 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse118 0) (= v_z_32 3) (= .cse119 (select .cse120 .cse4)) (< v_z_32 0) (not (= (select (select .cse121 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse122 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (select .cse120 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse119 4) 4))) (not (= (select (select .cse122 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse118 (+ (select .cse123 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< 3 v_z_32))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse128 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse131 (select .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse130 (select .cse131 .cse16))) (let ((.cse135 (store .cse131 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse130 4) 4) v_ArrVal_237))) (let ((.cse133 (mod (+ (select .cse135 .cse16) 1) 4))) (let ((.cse129 (store .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse135 .cse16 (+ (- 4) .cse133))))) (let ((.cse127 (select (store .cse129 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse134 (select .cse129 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse134 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse134 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse132 (* v_y_33 4)) (.cse126 (select .cse127 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse126 (select .cse127 .cse4)) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse129 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse128 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_33 3) (= (mod (+ .cse130 1) 4) (+ (select .cse131 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< v_z_33 0) (< 0 (+ .cse132 v_z_33 2)) (< 0 (+ .cse130 2)) (< 3 v_z_33) (< (+ .cse132 v_z_33) .cse26) (= .cse133 0) (< 0 (select .cse127 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse126 4) 4))))))))))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse136 (store .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse142 .cse143 v_ArrVal_237) .cse16 0)))) (let ((.cse139 (select (store .cse136 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse140 (select .cse136 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse140 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse140 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse138 (select .cse139 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse136 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) .cse137)) (= .cse138 (select .cse139 .cse4)) (< 0 (select .cse139 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse138 4) 4)))))))) .cse144) (not .cse145) (= .cse146 0) .cse44) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse150 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse152 (select .cse150 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse153 (select .cse152 .cse16))) (let ((.cse155 (store .cse152 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse153 4) 4) v_ArrVal_237))) (let ((.cse149 (+ (select .cse155 .cse16) 1))) (let ((.cse151 (store .cse150 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse155 .cse16 (mod .cse149 4))))) (let ((.cse147 (select (store .cse151 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse154 (select .cse151 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse154 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse154 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse148 (select .cse147 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse147 (+ (* .cse148 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse148 (select .cse147 .cse4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse149 0) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse150 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (not (= (select (select .cse151 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse150 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse152 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse153 1) 4)) (< 3 v_z_32))))))))))) (or (< 0 (+ 2 .cse156)) (let ((.cse166 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse182 (store .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse186 (store .cse142 .cse143 v_ArrVal_237))) (store .cse186 .cse16 (+ (mod (+ (select .cse186 .cse16) 1) 4) (- 4))))))) (let ((.cse184 (select (store .cse182 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse185 (select .cse182 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse185 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse185 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse183 (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= .cse137 (select (select .cse182 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse183 (select .cse184 .cse4)) (< 0 (select .cse184 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse183 4))))))))))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse161 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse162 (select .cse161 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse163 (select .cse162 .cse16))) (let ((.cse160 (store .cse161 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse165 (store .cse162 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse163 4) 4) v_ArrVal_237))) (store .cse165 .cse16 (+ (mod (+ (select .cse165 .cse16) 1) 4) (- 4))))))) (let ((.cse159 (select (store .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse164 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse164 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse164 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse158 (select .cse159 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse157 (mod (+ .cse163 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse157 0) (= v_z_32 3) (= .cse158 (select .cse159 .cse4)) (< v_z_32 0) (not (= (select (select .cse160 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse161 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (select .cse159 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse158 4) 4))) (not (= (select (select .cse161 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse157 (+ (select .cse162 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< 3 v_z_32))))))))) (or .cse145 .cse166 .cse44 .cse45) (or .cse145 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse170 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse172 (select .cse170 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse171 (select .cse172 .cse16))) (let ((.cse169 (store .cse170 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse174 (store .cse172 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse171 4) 4) v_ArrVal_237))) (store .cse174 .cse16 (+ (mod (+ (select .cse174 .cse16) 1) 4) (- 4))))))) (let ((.cse168 (select (store .cse169 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse173 (select .cse169 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse173 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse173 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_32 3) (= .cse167 (select .cse168 .cse4)) (< v_z_32 0) (not (= (select (select .cse169 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse170 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (select .cse168 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse167 4) 4))) (not (= (select (select .cse170 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (mod (+ .cse171 1) 4) (+ (select .cse172 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< 3 v_z_32))))))))) (or (and (or .cse166 .cse44) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse178 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse177 (store .cse178 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse180 (let ((.cse181 (select .cse178 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse181 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* (select .cse181 .cse16) 4) 4) v_ArrVal_237)))) (store .cse180 .cse16 (+ (mod (+ (select .cse180 .cse16) 1) 4) (- 4))))))) (let ((.cse176 (select (store .cse177 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse179 (select .cse177 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse179 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse179 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse175 (select .cse176 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_32 3) (= .cse175 (select .cse176 .cse4)) (< v_z_32 0) (not (= (select (select .cse177 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse178 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (select .cse176 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse175 4) 4))) (not (= (select (select .cse178 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 3 v_z_32)))))))) .cse45)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse190 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse195 (select .cse190 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse194 (select .cse195 .cse16))) (let ((.cse187 (store .cse195 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse194 4) 4) v_ArrVal_237))) (let ((.cse193 (store .cse190 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse187 .cse16 0)))) (let ((.cse188 (select (store .cse193 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse196 (select .cse193 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse196 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse196 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse189 (select .cse188 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse192 (select .cse195 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse191 (mod (+ .cse194 1) 4))) (or (not (= (mod (+ (select .cse187 .cse16) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= (select .cse188 .cse4) .cse189) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse188 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse189 4) 4))) (not (= (select (select .cse190 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse191 (+ .cse192 4)) (= .cse192 .cse191) (not (= (select (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse198 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse203 (select .cse198 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse205 (select .cse203 .cse16))) (let ((.cse204 (store .cse203 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse205 4) 4) v_ArrVal_237))) (let ((.cse201 (store .cse198 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse204 .cse16 0)))) (let ((.cse199 (select (store .cse201 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse206 (select .cse201 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse206 (+ (* (select .cse206 .cse14) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse200 (select .cse199 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse197 (+ .cse205 1)) (.cse202 (* v_y_33 4))) (or (< .cse197 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse198 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse199 .cse4) .cse200) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse199 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse200) 4))) (not (= (select (select .cse198 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (= v_z_33 3) (< v_z_33 0) (< 0 (+ .cse202 v_z_33 2)) (< 3 v_z_33) (= (mod .cse197 4) (select .cse203 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< (+ .cse202 v_z_33) .cse26) (not (= (mod (+ (select .cse204 .cse16) 1) 4) 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse211 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse212 (select .cse211 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse214 (select .cse212 .cse16))) (let ((.cse207 (store .cse212 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse214 4) 4) v_ArrVal_237))) (let ((.cse213 (store .cse211 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse207 .cse16 0)))) (let ((.cse208 (select (store .cse213 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse215 (select .cse213 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse215 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse215 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse209 (select .cse208 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse210 (+ .cse214 1))) (or (not (= (mod (+ (select .cse207 .cse16) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= (select .cse208 .cse4) .cse209) (= v_z_32 3) (< v_z_32 0) (< .cse210 0) (< 0 (select .cse208 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse209 4) 4))) (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse212 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse210 4)) (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse220 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse223 (select .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse225 (select .cse223 .cse16))) (let ((.cse227 (store .cse223 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse225 4) 4) v_ArrVal_237))) (let ((.cse219 (select .cse227 .cse16))) (let ((.cse224 (mod (+ .cse219 1) 4))) (let ((.cse221 (store .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse227 .cse16 (+ (- 4) .cse224))))) (let ((.cse218 (select (store .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse226 (select .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse226 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse226 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse216 (+ .cse225 1)) (.cse222 (* v_y_33 4)) (.cse217 (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse216 0) (= .cse217 (select .cse218 .cse4)) (< 0 (+ .cse219 2)) (not (= (select (select .cse220 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse221 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse220 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_33 3) (< v_z_33 0) (< 0 (+ .cse222 v_z_33 2)) (< 3 v_z_33) (= (mod .cse216 4) (select .cse223 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< (+ .cse222 v_z_33) .cse26) (= .cse224 0) (< 0 (select .cse218 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse217 4) 4)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse233 (select .cse228 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse232 (select .cse233 .cse16))) (let ((.cse237 (store .cse233 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse232 4) 4) v_ArrVal_237))) (let ((.cse230 (+ (select .cse237 .cse16) 1))) (let ((.cse229 (store .cse228 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse237 .cse16 (mod .cse230 4))))) (let ((.cse234 (select (store .cse229 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse236 (select .cse229 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse236 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse236 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse231 (* v_y_33 4)) (.cse235 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse230 0) (= v_z_33 3) (< v_z_33 0) (< 0 (+ .cse231 v_z_33 2)) (< 3 v_z_33) (= (mod (+ .cse232 1) 4) (select .cse233 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< (+ .cse231 v_z_33) .cse26) (= (select .cse234 .cse4) .cse235) (< 0 (select .cse234 (+ (* .cse235 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse243 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse17 .cse18 (+ v_z_32 1))))) (let ((.cse242 (select .cse243 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse241 (select .cse242 .cse16))) (let ((.cse246 (store .cse242 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse241 4) 4) v_ArrVal_237))) (let ((.cse240 (+ (select .cse246 .cse16) 1))) (let ((.cse244 (store .cse243 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse246 .cse16 (mod .cse240 4))))) (let ((.cse238 (select (store .cse244 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse245 (select .cse244 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse245 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse245 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse239 (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse238 (+ (* .cse239 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse239 (select .cse238 .cse4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse240 0) (not (= (mod (+ .cse241 1) 4) 0)) (= (select .cse242 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse243 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (not (= (select (select .cse244 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse243 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))))))))))))) is different from true [2024-04-03 22:33:08,466 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse15 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse16 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse5 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse1 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse4 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse10 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse14 (select .cse15 .cse16)) (.cse12 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse0 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse2 (select .cse0 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse13 (select .cse2 .cse12))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse0 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (= (select .cse2 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse11 (store .cse2 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse13 4) 4) v_ArrVal_237))) (let ((.cse8 (+ (select .cse11 .cse12) 1))) (let ((.cse3 (store .cse0 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse11 .cse12 (mod .cse8 4))))) (let ((.cse6 (select (store .cse3 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse9 (select .cse3 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse9 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse9 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse7 (select .cse6 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse0 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (< 0 (select .cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse7 4)))) (= (select .cse6 .cse4) .cse7) (< .cse8 0)))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= (mod (+ .cse13 1) 4) 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse22 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse18 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse22 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse24 (select .cse18 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse25 (select .cse24 .cse12))) (let ((.cse27 (store .cse24 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse25 4) 4) v_ArrVal_237))) (let ((.cse23 (mod (+ (select .cse27 .cse12) 1) 4))) (let ((.cse17 (store .cse18 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse27 .cse12 (+ .cse23 (- 4)))))) (let ((.cse20 (select (store .cse17 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse26 (select .cse17 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse26 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse26 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (* v_y_33 4)) (.cse19 (select .cse20 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse17 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= .cse19 (select .cse20 .cse4)) (= v_z_33 3) (< (+ .cse21 v_z_33) (select .cse22 .cse16)) (not (= (select (select .cse18 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< 0 (+ .cse21 v_z_33 2)) (< 3 v_z_33) (= .cse23 0) (= (+ (select .cse24 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse25 1) 4)) (< 0 (select .cse20 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse19 4)))) (< 0 (+ 2 .cse25))))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse28 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse29 (select .cse28 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse36 (select .cse29 .cse12))) (let ((.cse30 (+ .cse36 1))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse28 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (= (select .cse29 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse30 4)) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse34 (store .cse29 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse36 4) 4) v_ArrVal_237))) (let ((.cse33 (store .cse28 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse34 .cse12 0)))) (let ((.cse32 (select (store .cse33 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse35 (select .cse33 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse35 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse35 .cse10) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse31 (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse31 (select .cse32 .cse4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse28 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= (mod (+ (select .cse34 .cse12) 1) 4) 0)) (< 0 (select .cse32 (+ (* .cse31 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))) (< .cse30 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse46 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse37 (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse46 .cse16 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse12))) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (mod (+ .cse37 1) 4) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse38 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse46 .cse16 (+ v_z_32 1))))) (let ((.cse39 (select .cse38 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse40 (select .cse39 .cse12))) (let ((.cse41 (store .cse38 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse45 (store .cse39 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse40) 4) v_ArrVal_237))) (store .cse45 .cse12 (+ (- 4) (mod (+ (select .cse45 .cse12) 1) 4))))))) (let ((.cse42 (select (store .cse41 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse44 (select .cse41 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse44 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse44 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse43 (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse38 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (+ (select .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ 1 .cse40) 4)) (not (= (select (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse42 .cse4) .cse43) (< v_z_32 0) (< 0 (select .cse42 (+ (* .cse43 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32))))))))) (< 0 (+ .cse37 2)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse52 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse50 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse52 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse55 (select .cse50 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse54 (select .cse55 .cse12))) (let ((.cse57 (store .cse55 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse54 4) 4) v_ArrVal_237))) (let ((.cse53 (+ (select .cse57 .cse12) 1))) (let ((.cse49 (store .cse50 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse57 .cse12 (mod .cse53 4))))) (let ((.cse47 (select (store .cse49 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse56 (select .cse49 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse56 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse56 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse48 (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse51 (* v_y_33 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= v_z_33 3) (= (select .cse47 .cse4) .cse48) (not (= (select (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< (+ .cse51 v_z_33) (select .cse52 .cse16)) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< 0 (select .cse47 (+ (* .cse48 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 0 (+ .cse51 v_z_33 2)) (< 3 v_z_33) (< .cse53 0) (not (= (mod (+ .cse54 1) 4) 0)) (= (select .cse55 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0)))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse58 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse67 (select .cse58 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse68 (select .cse67 .cse12))) (let ((.cse59 (select .cse67 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse60 (mod (+ .cse68 1) 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse58 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (= (+ .cse59 4) .cse60) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse66 (store .cse67 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse68 4) 4) v_ArrVal_237))) (let ((.cse64 (+ (select .cse66 .cse12) 1))) (let ((.cse61 (store .cse58 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse66 .cse12 (mod .cse64 4))))) (let ((.cse62 (select (store .cse61 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse65 (select .cse61 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse65 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse63 (select .cse62 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (< 0 (select .cse62 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse63 4)))) (= (select .cse62 .cse4) .cse63) (< .cse64 0)))))))) (= .cse59 .cse60) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse71 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse77 (select .cse71 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse76 (select .cse77 .cse12))) (let ((.cse75 (store .cse77 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse76) 4) v_ArrVal_237))) (let ((.cse74 (store .cse71 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse75 .cse12 0)))) (let ((.cse69 (select (store .cse74 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse78 (select .cse74 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse78 (+ (* 4 (select .cse78 .cse10)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse70 (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse73 (select .cse77 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse72 (mod (+ 1 .cse76) 4))) (or (= (select .cse69 .cse4) .cse70) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse71 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (select .cse69 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse70 4) 4))) (= .cse72 .cse73) (= (+ .cse73 4) .cse72) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse74 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= (mod (+ (select .cse75 .cse12) 1) 4) 0)) (< 3 v_z_32)))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse84 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse82 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse84 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse87 (select .cse82 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse86 (select .cse87 .cse12))) (let ((.cse89 (store .cse87 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse86 4) 4) v_ArrVal_237))) (let ((.cse85 (+ (select .cse89 .cse12) 1))) (let ((.cse81 (store .cse82 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse89 .cse12 (mod .cse85 4))))) (let ((.cse79 (select (store .cse81 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse88 (select .cse81 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse88 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse88 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse80 (select .cse79 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse83 (* v_y_33 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= v_z_33 3) (= (select .cse79 .cse4) .cse80) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse82 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< (+ .cse83 v_z_33) (select .cse84 .cse16)) (not (= (select (select .cse82 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< 0 (select .cse79 (+ (* .cse80 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 0 (+ .cse83 v_z_33 2)) (< 3 v_z_33) (< .cse85 0) (= (mod (+ .cse86 1) 4) (select .cse87 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse92 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse93 (select .cse94 .cse12))) (let ((.cse98 (store .cse94 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse93) 4) v_ArrVal_237))) (let ((.cse96 (+ (select .cse98 .cse12) 1))) (let ((.cse95 (store .cse92 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse98 .cse12 (mod .cse96 4))))) (let ((.cse90 (select (store .cse95 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse97 (select .cse95 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse97 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse97 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse91 (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= (select .cse90 .cse4) .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (mod (+ 1 .cse93) 4) (select .cse94 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 0 (select .cse90 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse91 4) 4))) (< 3 v_z_32) (< .cse96 0))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse100 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse108 (select .cse100 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse107 (select .cse108 .cse12))) (let ((.cse110 (store .cse108 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse107) 4) v_ArrVal_237))) (let ((.cse99 (select .cse110 .cse12))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse104 (store .cse100 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse110 .cse12 (+ (- 4) .cse101))))) (let ((.cse105 (select (store .cse104 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse109 (select .cse104 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse109 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse109 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse103 (select .cse108 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse102 (mod (+ 1 .cse107) 4)) (.cse106 (select .cse105 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ 2 .cse99)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse100 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse101 0) (= .cse102 .cse103) (= (+ .cse103 4) .cse102) (not (= (select (select .cse104 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse100 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse105 .cse4) .cse106) (< v_z_32 0) (< 0 (select .cse105 (+ (* .cse106 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse120 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse111 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse120 .cse16 (+ v_z_32 1))))) (let ((.cse112 (select .cse111 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse117 (select .cse112 .cse12))) (let ((.cse114 (store .cse111 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse119 (store .cse112 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse117) 4) v_ArrVal_237))) (store .cse119 .cse12 (+ (- 4) (mod (+ (select .cse119 .cse12) 1) 4))))))) (let ((.cse115 (select (store .cse114 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse118 (select .cse114 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse118 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse118 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse116 (select .cse115 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse113 (mod (+ 1 .cse117) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse111 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (+ (select .cse112 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse111 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse115 .cse4) .cse116) (< v_z_32 0) (< 0 (select .cse115 (+ (* .cse116 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse113 0) (< 3 v_z_32))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< 0 (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse120 .cse16 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse12) 2))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse122 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse125 (select .cse122 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse129 (select .cse125 .cse12))) (let ((.cse131 (store .cse125 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse129) 4) v_ArrVal_237))) (let ((.cse121 (select .cse131 .cse12))) (let ((.cse123 (mod (+ .cse121 1) 4))) (let ((.cse126 (store .cse122 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse131 .cse12 (+ (- 4) .cse123))))) (let ((.cse127 (select (store .cse126 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse130 (select .cse126 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse130 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse130 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse128 (select .cse127 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse124 (+ 1 .cse129))) (or (< 0 (+ 2 .cse121)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse122 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse123 0) (= (mod .cse124 4) (select .cse125 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse126 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse122 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse127 .cse4) .cse128) (< v_z_32 0) (< 0 (select .cse127 (+ (* .cse128 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32) (< .cse124 0)))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse132 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse133 (select .cse132 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse138 (select .cse133 .cse12))) (let ((.cse135 (store .cse132 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse140 (store .cse133 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse138) 4) v_ArrVal_237))) (store .cse140 .cse12 (+ (- 4) (mod (+ (select .cse140 .cse12) 1) 4))))))) (let ((.cse136 (select (store .cse135 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse139 (select .cse135 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse139 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse139 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse137 (select .cse136 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse134 (mod (+ 1 .cse138) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse132 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (+ (select .cse133 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse134) (not (= (select (select .cse135 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse132 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse136 .cse4) .cse137) (< v_z_32 0) (< 0 (select .cse136 (+ (* .cse137 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse134 0) (< 0 (+ 2 .cse138)) (< 3 v_z_32))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse141 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse151 (select .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse152 (select .cse151 .cse12))) (let ((.cse142 (select .cse151 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse143 (mod (+ .cse152 1) 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse141 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (= (+ .cse142 4) .cse143) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse150 (store .cse151 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse152 4) 4) v_ArrVal_237))) (let ((.cse147 (select .cse150 .cse12))) (let ((.cse148 (mod (+ .cse147 1) 4))) (let ((.cse146 (store .cse141 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse150 .cse12 (+ (- 4) .cse148))))) (let ((.cse144 (select (store .cse146 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse149 (select .cse146 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse149 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 (select .cse149 .cse10))) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse145 (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse144 (+ (* .cse145 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= (select .cse144 .cse4) .cse145) (not (= (select (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse146 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 0 (+ .cse147 2)) (= .cse148 0))))))))) (= .cse142 .cse143) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse153 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse159 (select .cse153 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse160 (select .cse159 .cse12))) (let ((.cse161 (mod (+ .cse160 1) 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse153 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse156 (store .cse153 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse158 (store .cse159 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse160 4) 4) v_ArrVal_237))) (store .cse158 .cse12 (+ (- 4) (mod (+ (select .cse158 .cse12) 1) 4))))))) (let ((.cse154 (select (store .cse156 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse157 (select .cse156 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse157 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 (select .cse157 .cse10))) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse155 (select .cse154 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse154 (+ (* .cse155 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= (select .cse154 .cse4) .cse155) (not (= (select (select .cse153 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse156 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4)))))))) (= (+ (select .cse159 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse161) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= .cse161 0) (< 0 (+ .cse160 2)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse162 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse169 (select .cse162 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse170 (select .cse169 .cse12))) (let ((.cse171 (+ .cse170 1))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse162 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse168 (store .cse169 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse170 4) 4) v_ArrVal_237))) (let ((.cse166 (+ (select .cse168 .cse12) 1))) (let ((.cse163 (store .cse162 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse168 .cse12 (mod .cse166 4))))) (let ((.cse164 (select (store .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse167 (select .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse167 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse162 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse163 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (< 0 (select .cse164 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse165 4)))) (= (select .cse164 .cse4) .cse165) (< .cse166 0)))))))) (= (select .cse169 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse171 4)) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< .cse171 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse177 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse175 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse177 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse181 (select .cse175 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse182 (select .cse181 .cse12))) (let ((.cse184 (store .cse181 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse182 4) 4) v_ArrVal_237))) (let ((.cse178 (+ (select .cse184 .cse12) 1))) (let ((.cse174 (store .cse175 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse184 .cse12 (mod .cse178 4))))) (let ((.cse172 (select (store .cse174 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse183 (select .cse174 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse183 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse183 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse173 (select .cse172 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse176 (* v_y_33 4)) (.cse180 (mod (+ .cse182 1) 4)) (.cse179 (select .cse181 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= v_z_33 3) (= (select .cse172 .cse4) .cse173) (not (= (select (select .cse174 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< (+ .cse176 v_z_33) (select .cse177 .cse16)) (not (= (select (select .cse175 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< 0 (select .cse172 (+ (* .cse173 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 0 (+ .cse176 v_z_33 2)) (< 3 v_z_33) (< .cse178 0) (= (+ .cse179 4) .cse180) (= .cse180 .cse179)))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse186 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse187 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse186 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse191 (select .cse187 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse190 (select .cse191 .cse12))) (let ((.cse192 (store .cse187 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse191 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse190 4) 4) v_ArrVal_237) .cse12 0)))) (let ((.cse188 (select (store .cse192 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse193 (select .cse192 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse193 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse193 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (* v_y_33 4)) (.cse189 (select .cse188 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= v_z_33 3) (< (+ .cse185 v_z_33) (select .cse186 .cse16)) (not (= (select (select .cse187 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse188 .cse4) .cse189) (< v_z_33 0) (< 0 (+ .cse185 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse188 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse189 4)))) (not (= (mod (+ .cse190 1) 4) 0)) (= (select .cse191 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (select (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse187 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse194 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse194 .cse16 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse12) 1) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse196 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse194 .cse16 (+ v_z_32 1))))) (let ((.cse199 (select .cse196 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse198 (select .cse199 .cse12))) (let ((.cse204 (store .cse199 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse198) 4) v_ArrVal_237))) (let ((.cse195 (select .cse204 .cse12))) (let ((.cse197 (mod (+ .cse195 1) 4))) (let ((.cse200 (store .cse196 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse204 .cse12 (+ (- 4) .cse197))))) (let ((.cse201 (select (store .cse200 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse203 (select .cse200 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse203 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse203 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse202 (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ 2 .cse195)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse196 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse197 0) (= (mod (+ 1 .cse198) 4) (select .cse199 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse196 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse201 .cse4) .cse202) (< v_z_32 0) (< 0 (select .cse201 (+ (* .cse202 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse205 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse213 (select .cse205 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse214 (select .cse213 .cse12))) (let ((.cse215 (+ .cse214 1))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse205 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse212 (store .cse213 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse214 4) 4) v_ArrVal_237))) (let ((.cse209 (select .cse212 .cse12))) (let ((.cse210 (mod (+ .cse209 1) 4))) (let ((.cse208 (store .cse205 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse212 .cse12 (+ (- 4) .cse210))))) (let ((.cse206 (select (store .cse208 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse211 (select .cse208 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse211 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 (select .cse211 .cse10))) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse207 (select .cse206 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse206 (+ (* .cse207 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= (select .cse206 .cse4) .cse207) (not (= (select (select .cse205 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse208 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 0 (+ .cse209 2)) (= .cse210 0))))))))) (= (select .cse213 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse215 4)) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< .cse215 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse218 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse220 (select .cse218 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse223 (select .cse220 .cse12))) (let ((.cse222 (store .cse220 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse223) 4) v_ArrVal_237))) (let ((.cse221 (store .cse218 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse222 .cse12 0)))) (let ((.cse216 (select (store .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse224 (select .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse224 (+ (* 4 (select .cse224 .cse10)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse217 (select .cse216 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse219 (+ 1 .cse223))) (or (= (select .cse216 .cse4) .cse217) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse218 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (select .cse216 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse217 4) 4))) (= (mod .cse219 4) (select .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse221 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= (mod (+ (select .cse222 .cse12) 1) 4) 0)) (< 3 v_z_32) (< .cse219 0)))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse227 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse228 (select .cse227 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse229 (select .cse228 .cse12))) (let ((.cse233 (store .cse228 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse229) 4) v_ArrVal_237))) (let ((.cse231 (+ (select .cse233 .cse12) 1))) (let ((.cse230 (store .cse227 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse233 .cse12 (mod .cse231 4))))) (let ((.cse225 (select (store .cse230 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse232 (select .cse230 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse232 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse232 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse226 (select .cse225 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= (select .cse225 .cse4) .cse226) (not (= (select (select .cse227 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse228 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= v_z_32 3) (not (= (mod (+ 1 .cse229) 4) 0)) (< v_z_32 0) (not (= (select (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse230 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 0 (select .cse225 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse226 4) 4))) (< 3 v_z_32) (< .cse231 0))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse236 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse242 (select .cse236 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse241 (select .cse242 .cse12))) (let ((.cse244 (store .cse242 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse241) 4) v_ArrVal_237))) (let ((.cse240 (+ (select .cse244 .cse12) 1))) (let ((.cse239 (store .cse236 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse244 .cse12 (mod .cse240 4))))) (let ((.cse234 (select (store .cse239 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse243 (select .cse239 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse243 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse243 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse238 (select .cse242 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse237 (mod (+ 1 .cse241) 4)) (.cse235 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= (select .cse234 .cse4) .cse235) (not (= (select (select .cse236 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse237 .cse238) (= (+ .cse238 4) .cse237) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse239 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 0 (select .cse234 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse235 4) 4))) (< 3 v_z_32) (< .cse240 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse257 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse258 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse257 .cse16 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse245 (select .cse258 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse246 (mod (+ (select .cse258 .cse12) 1) 4))) (or (= (+ .cse245 4) .cse246) (= .cse245 .cse246) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse248 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse257 .cse16 (+ v_z_32 1))))) (let ((.cse251 (select .cse248 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse250 (select .cse251 .cse12))) (let ((.cse256 (store .cse251 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse250) 4) v_ArrVal_237))) (let ((.cse247 (select .cse256 .cse12))) (let ((.cse249 (mod (+ .cse247 1) 4))) (let ((.cse252 (store .cse248 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse256 .cse12 (+ (- 4) .cse249))))) (let ((.cse253 (select (store .cse252 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse255 (select .cse252 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse255 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse255 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse254 (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ 2 .cse247)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse248 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse249 0) (= (mod (+ 1 .cse250) 4) (select .cse251 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse253 .cse4) .cse254) (< v_z_32 0) (< 0 (select .cse253 (+ (* .cse254 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32))))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse261 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse262 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse261 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse266 (select .cse262 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse268 (select .cse266 .cse12))) (let ((.cse259 (store .cse266 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse268 4) 4) v_ArrVal_237))) (let ((.cse267 (store .cse262 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse259 .cse12 0)))) (let ((.cse263 (select (store .cse267 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse269 (select .cse267 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse269 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse269 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse260 (* v_y_33 4)) (.cse264 (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse265 (+ .cse268 1))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= v_z_33 3) (not (= (mod (+ (select .cse259 .cse12) 1) 4) 0)) (< (+ .cse260 v_z_33) (select .cse261 .cse16)) (not (= (select (select .cse262 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse263 .cse4) .cse264) (< v_z_33 0) (< .cse265 0) (< 0 (+ .cse260 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse263 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse264 4)))) (= (mod .cse265 4) (select .cse266 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse267 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse262 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse270 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse271 (select .cse270 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse276 (select .cse271 .cse12))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse270 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (= (select .cse271 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse274 (store .cse270 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse271 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse276 4) 4) v_ArrVal_237) .cse12 0)))) (let ((.cse273 (select (store .cse274 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse275 (select .cse274 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse275 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse275 .cse10) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse272 (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse272 (select .cse273 .cse4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse270 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 0 (select .cse273 (+ (* .cse272 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= (mod (+ .cse276 1) 4) 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse279 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 (+ v_z_32 1))))) (let ((.cse280 (select .cse279 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse281 (select .cse280 .cse12))) (let ((.cse282 (store .cse279 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse280 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse281) 4) v_ArrVal_237) .cse12 0)))) (let ((.cse277 (select (store .cse282 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse283 (select .cse282 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse283 (+ (* 4 (select .cse283 .cse10)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse278 (select .cse277 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse277 .cse4) .cse278) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse279 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (select .cse277 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse278 4) 4))) (= (select .cse280 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= v_z_32 3) (not (= (mod (+ 1 .cse281) 4) 0)) (< v_z_32 0) (not (= (select (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (< 3 v_z_32))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse289 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse285 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse289 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse293 (select .cse285 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse294 (select .cse293 .cse12))) (let ((.cse296 (store .cse293 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse294 4) 4) v_ArrVal_237))) (let ((.cse290 (select .cse296 .cse12))) (let ((.cse292 (mod (+ .cse290 1) 4))) (let ((.cse284 (store .cse285 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse296 .cse12 (+ .cse292 (- 4)))))) (let ((.cse287 (select (store .cse284 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse295 (select .cse284 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse295 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse295 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse288 (* v_y_33 4)) (.cse286 (select .cse287 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse291 (+ .cse294 1))) (or (not (= (select (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse285 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= .cse286 (select .cse287 .cse4)) (= v_z_33 3) (< (+ .cse288 v_z_33) (select .cse289 .cse16)) (< 0 (+ .cse290 2)) (not (= (select (select .cse285 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< .cse291 0) (< 0 (+ .cse288 v_z_33 2)) (< 3 v_z_33) (= .cse292 0) (< 0 (select .cse287 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse286 4)))) (= (mod .cse291 4) (select .cse293 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse299 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse299 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse306 (select .cse300 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse307 (select .cse306 .cse12))) (let ((.cse297 (store .cse306 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse307 4) 4) v_ArrVal_237))) (let ((.cse305 (store .cse300 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse297 .cse12 0)))) (let ((.cse301 (select (store .cse305 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse308 (select .cse305 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse308 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse308 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse298 (* v_y_33 4)) (.cse302 (select .cse301 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse304 (mod (+ .cse307 1) 4)) (.cse303 (select .cse306 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= v_z_33 3) (not (= (mod (+ (select .cse297 .cse12) 1) 4) 0)) (< (+ .cse298 v_z_33) (select .cse299 .cse16)) (not (= (select (select .cse300 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse301 .cse4) .cse302) (< v_z_33 0) (< 0 (+ .cse298 v_z_33 2)) (< 3 v_z_33) (= (+ .cse303 4) .cse304) (< 0 (select .cse301 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse302 4)))) (= .cse304 .cse303) (not (= (select (select .cse305 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse300 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse317 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse311 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse317 .cse16 (+ v_z_32 1))))) (let ((.cse313 (select .cse311 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse312 (select .cse313 .cse12))) (let ((.cse315 (store .cse313 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse312) 4) v_ArrVal_237))) (let ((.cse314 (store .cse311 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse315 .cse12 0)))) (let ((.cse309 (select (store .cse314 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse316 (select .cse314 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse316 (+ (* 4 (select .cse316 .cse10)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse310 (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse309 .cse4) .cse310) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse311 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (select .cse309 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse310 4) 4))) (= (mod (+ 1 .cse312) 4) (select .cse313 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse311 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= (mod (+ (select .cse315 .cse12) 1) 4) 0)) (< 3 v_z_32)))))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse317 .cse16 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse12) 1) 0)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse318 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) .cse16 0)))) (let ((.cse326 (select .cse318 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse327 (select .cse326 .cse12))) (let ((.cse319 (select .cse326 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse320 (mod (+ .cse327 1) 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse318 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1))) (= (+ .cse319 4) .cse320) (= .cse319 .cse320) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse324 (store .cse326 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse327 4) 4) v_ArrVal_237))) (let ((.cse323 (store .cse318 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse324 .cse12 0)))) (let ((.cse322 (select (store .cse323 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse325 (select .cse323 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse325 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse325 .cse10) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse321 (select .cse322 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse321 (select .cse322 .cse4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse318 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse323 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4))) (not (= (mod (+ (select .cse324 .cse12) 1) 4) 0)) (< 0 (select .cse322 (+ (* .cse321 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse333 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse329 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse333 .cse16 (+ v_z_33 (- 3)))))) (let ((.cse338 (select .cse329 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse339 (select .cse338 .cse12))) (let ((.cse341 (store .cse338 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse339 4) 4) v_ArrVal_237))) (let ((.cse334 (select .cse341 .cse12))) (let ((.cse335 (mod (+ .cse334 1) 4))) (let ((.cse328 (store .cse329 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse341 .cse12 (+ .cse335 (- 4)))))) (let ((.cse331 (select (store .cse328 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse340 (select .cse328 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse340 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse340 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse332 (* v_y_33 4)) (.cse330 (select .cse331 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse337 (mod (+ .cse339 1) 4)) (.cse336 (select .cse338 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (not (= (select (select .cse328 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse329 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (= .cse330 (select .cse331 .cse4)) (= v_z_33 3) (< (+ .cse332 v_z_33) (select .cse333 .cse16)) (< 0 (+ .cse334 2)) (not (= (select (select .cse329 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< 0 (+ .cse332 v_z_33 2)) (< 3 v_z_33) (= .cse335 0) (= (+ .cse336 4) .cse337) (< 0 (select .cse331 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse330 4)))) (= .cse337 .cse336))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse351 (store .cse15 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse342 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse351 .cse16 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse352 (select .cse342 .cse12))) (let ((.cse343 (mod (+ .cse352 1) 4))) (or (= (+ (select .cse342 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse343) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse344 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse351 .cse16 (+ v_z_32 1))))) (let ((.cse345 (store .cse344 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse349 (let ((.cse350 (select .cse344 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse350 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 (select .cse350 .cse12)) 4) v_ArrVal_237)))) (store .cse349 .cse12 (+ (- 4) (mod (+ (select .cse349 .cse12) 1) 4))))))) (let ((.cse346 (select (store .cse345 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse348 (select .cse345 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse348 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse348 .cse10) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse347 (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse5) (not (= (select (select .cse344 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse1) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (not (= (select (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse4) (select (select .cse344 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (= (select .cse346 .cse4) .cse347) (< v_z_32 0) (< 0 (select .cse346 (+ (* .cse347 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32))))))) (< .cse14 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= .cse343 0) (< 0 (+ .cse352 2))))))))))) is different from true [2024-04-03 22:33:49,891 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse18 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse16 (select .cse18 .cse13)) (.cse0 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse6 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse2 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse8 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse10 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse12 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse12 .cse13 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse17 (select .cse15 .cse10))) (let ((.cse14 (mod (+ .cse17 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse3 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse12 .cse13 (+ v_z_32 1))))) (let ((.cse1 (store .cse3 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse9 (let ((.cse11 (select .cse3 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse11 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* (select .cse11 .cse10) 4)) v_ArrVal_237)))) (store .cse9 .cse10 (+ (- 4) (mod (+ (select .cse9 .cse10) 1) 4))))))) (let ((.cse4 (select (store .cse1 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse7 (select .cse1 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse7 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse5 (select .cse4 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse4 .cse2) .cse5) (< 0 (select .cse4 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse5 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse3 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 3 v_z_32))))))) (= .cse14 (+ (select .cse15 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (= .cse14 0) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< 0 (+ 2 .cse17)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse26 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse21 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse26 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse29 (select .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse28 (select .cse29 .cse10))) (let ((.cse24 (store .cse29 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse28 4) 4) v_ArrVal_237))) (let ((.cse27 (store .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse24 .cse10 0)))) (let ((.cse19 (select (store .cse27 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse30 (select .cse27 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse30 (+ (* 4 (select .cse30 .cse8)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse20 (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse22 (select .cse29 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse23 (mod (+ .cse28 1) 4)) (.cse25 (* v_y_33 4))) (or (= (select .cse19 .cse2) .cse20) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse21 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (= (+ .cse22 4) .cse23) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (mod (+ (select .cse24 .cse10) 1) 4) 0)) (= v_z_33 3) (< 0 (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse20 4) 4))) (< (+ .cse25 v_z_33) (select .cse26 .cse13)) (not (= (select (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (< v_z_33 0) (= .cse22 .cse23) (< 0 (+ .cse25 v_z_33 2)) (< 3 v_z_33))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse32 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse33 (select .cse32 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse31 (select .cse33 .cse10))) (or (not (= (mod (+ .cse31 1) 4) 0)) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse32 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (= (select .cse33 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse36 (store .cse32 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse33 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse31 4) 4) v_ArrVal_237) .cse10 0)))) (let ((.cse34 (select (store .cse36 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse37 (select .cse36 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse37 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse37 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse35 (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse34 (+ (* .cse35 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse36 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= .cse35 (select .cse34 .cse2)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse38 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse46 (select .cse38 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse47 (select .cse46 .cse10))) (let ((.cse48 (mod (+ .cse47 1) 4)) (.cse49 (select .cse46 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse45 (store .cse46 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse47 4) 4) v_ArrVal_237))) (let ((.cse42 (select .cse45 .cse10))) (let ((.cse43 (mod (+ .cse42 1) 4))) (let ((.cse39 (store .cse38 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse45 .cse10 (+ (- 4) .cse43))))) (let ((.cse40 (select (store .cse39 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse44 (select .cse39 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse44 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse44 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse41 (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= (select .cse40 .cse2) .cse41) (< 0 (select .cse40 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse41 4)))) (< 0 (+ .cse42 2)) (= 0 .cse43))))))))) (= .cse48 (+ .cse49 4)) (= .cse48 .cse49) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse38 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse52 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse51 (select .cse52 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse58 (select .cse51 .cse10))) (let ((.cse50 (+ .cse58 1))) (or (< .cse50 0) (= (mod .cse50 4) (select .cse51 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse52 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse56 (store .cse51 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse58 4) 4) v_ArrVal_237))) (let ((.cse55 (store .cse52 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse56 .cse10 0)))) (let ((.cse53 (select (store .cse55 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse57 (select .cse55 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse57 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse57 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse54 (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse53 (+ (* .cse54 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (not (= 0 (mod (+ (select .cse56 .cse10) 1) 4))) (= .cse54 (select .cse53 .cse2)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse62 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse60 (select .cse62 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse59 (select .cse60 .cse10))) (let ((.cse61 (store .cse62 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse60 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse59 4)) v_ArrVal_237) .cse10 0)))) (let ((.cse63 (select (store .cse61 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse65 (select .cse61 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse65 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse64 (select .cse63 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (mod (+ .cse59 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= (select .cse60 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (select (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse62 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse63 (+ (* .cse64 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse62 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse64 (select .cse63 .cse2)) (< 3 v_z_32))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse73 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse68 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse73 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse76 (select .cse68 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse75 (select .cse76 .cse10))) (let ((.cse78 (store .cse76 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse75 4) 4) v_ArrVal_237))) (let ((.cse71 (+ (select .cse78 .cse10) 1))) (let ((.cse74 (store .cse68 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse78 .cse10 (mod .cse71 4))))) (let ((.cse67 (select (store .cse74 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse77 (select .cse74 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse77 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse66 (select .cse67 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse69 (select .cse76 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse70 (mod (+ .cse75 1) 4)) (.cse72 (* v_y_33 4))) (or (= .cse66 (select .cse67 .cse2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse68 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (= (+ .cse69 4) .cse70) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_33 3) (< 0 (select .cse67 (+ (* .cse66 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< .cse71 0) (< (+ .cse72 v_z_33) (select .cse73 .cse13)) (not (= (select (select .cse74 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse68 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (= .cse69 .cse70) (< 0 (+ .cse72 v_z_33 2)) (< 3 v_z_33)))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse82 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse84 (select .cse82 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse83 (select .cse84 .cse10))) (let ((.cse87 (store .cse84 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse83 4)) v_ArrVal_237))) (let ((.cse85 (+ (select .cse87 .cse10) 1))) (let ((.cse81 (store .cse82 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse87 .cse10 (mod .cse85 4))))) (let ((.cse79 (select (store .cse81 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse86 (select .cse81 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse86 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse86 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse80 (select .cse79 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_32 3) (= (select .cse79 .cse2) .cse80) (< v_z_32 0) (< 0 (select .cse79 (+ (* 4 .cse80) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse82 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (mod (+ .cse83 1) 4) (select .cse84 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse82 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< .cse85 0) (< 3 v_z_32))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse89 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse95 (select .cse89 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse96 (select .cse95 .cse10))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse94 (store .cse95 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse96 4) 4) v_ArrVal_237))) (let ((.cse88 (+ (select .cse94 .cse10) 1))) (let ((.cse90 (store .cse89 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse94 .cse10 (mod .cse88 4))))) (let ((.cse91 (select (store .cse90 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse93 (select .cse90 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse93 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse93 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse88 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= (select .cse91 .cse2) .cse92) (< 0 (select .cse91 (+ (* .cse92 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))))) (not (= (mod (+ .cse96 1) 4) 0)) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse89 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (= (select .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse99 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse105 (select .cse99 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse106 (select .cse105 .cse10))) (let ((.cse97 (+ .cse106 1))) (or (< .cse97 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse104 (store .cse105 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse106 4) 4) v_ArrVal_237))) (let ((.cse98 (+ (select .cse104 .cse10) 1))) (let ((.cse100 (store .cse99 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse104 .cse10 (mod .cse98 4))))) (let ((.cse101 (select (store .cse100 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse103 (select .cse100 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse103 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse103 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse102 (select .cse101 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse98 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse99 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse100 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= (select .cse101 .cse2) .cse102) (< 0 (select .cse101 (+ (* .cse102 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))))) (= (mod .cse97 4) (select .cse105 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse99 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse112 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse108 (select .cse112 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse107 (select .cse108 .cse10))) (let ((.cse115 (store .cse108 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse107 4)) v_ArrVal_237))) (let ((.cse113 (+ (select .cse115 .cse10) 1))) (let ((.cse111 (store .cse112 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse115 .cse10 (mod .cse113 4))))) (let ((.cse109 (select (store .cse111 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse114 (select .cse111 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse114 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse114 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse110 (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (mod (+ .cse107 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= (select .cse108 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= v_z_32 3) (= (select .cse109 .cse2) .cse110) (< v_z_32 0) (< 0 (select .cse109 (+ (* 4 .cse110) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse111 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse112 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse112 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< .cse113 0) (< 3 v_z_32))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse124 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse118 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse124 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse120 (select .cse118 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse121 (select .cse120 .cse10))) (let ((.cse126 (store .cse120 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse121 4) 4) v_ArrVal_237))) (let ((.cse122 (mod (+ (select .cse126 .cse10) 1) 4))) (let ((.cse119 (store .cse118 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse126 .cse10 (+ (- 4) .cse122))))) (let ((.cse116 (select (store .cse119 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse125 (select .cse119 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse125 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse125 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse123 (* v_y_33 4)) (.cse117 (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse116 .cse2) .cse117) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse118 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (not (= (select (select .cse119 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse118 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (+ (select .cse120 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse121 1) 4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse122 0) (= v_z_33 3) (< (+ .cse123 v_z_33) (select .cse124 .cse13)) (< v_z_33 0) (< 0 (+ .cse123 v_z_33 2)) (< 3 v_z_33) (< 0 (+ .cse121 2)) (< 0 (select .cse116 (+ (* .cse117 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse129 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse133 (select .cse129 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse134 (select .cse133 .cse10))) (let ((.cse127 (store .cse133 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse134 4)) v_ArrVal_237))) (let ((.cse128 (store .cse129 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse127 .cse10 0)))) (let ((.cse130 (select (store .cse128 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse135 (select .cse128 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse135 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse135 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse131 (select .cse130 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse132 (+ .cse134 1))) (or (not (= (mod (+ (select .cse127 .cse10) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse129 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse130 (+ (* .cse131 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= (mod .cse132 4) (select .cse133 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse129 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse131 (select .cse130 .cse2)) (< .cse132 0) (< 3 v_z_32)))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse145 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse138 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse145 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse147 (select .cse138 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse146 (select .cse147 .cse10))) (let ((.cse149 (store .cse147 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse146 4) 4) v_ArrVal_237))) (let ((.cse143 (select .cse149 .cse10))) (let ((.cse142 (mod (+ .cse143 1) 4))) (let ((.cse139 (store .cse138 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse149 .cse10 (+ (- 4) .cse142))))) (let ((.cse136 (select (store .cse139 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse148 (select .cse139 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse148 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse148 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse140 (select .cse147 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse141 (mod (+ .cse146 1) 4)) (.cse144 (* v_y_33 4)) (.cse137 (select .cse136 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse136 .cse2) .cse137) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse138 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (not (= (select (select .cse139 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse138 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (+ .cse140 4) .cse141) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse142 0) (< 0 (+ 2 .cse143)) (= v_z_33 3) (< (+ .cse144 v_z_33) (select .cse145 .cse13)) (< v_z_33 0) (= .cse140 .cse141) (< 0 (+ .cse144 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse136 (+ (* .cse137 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse151 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse156 (select .cse151 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse158 (select .cse156 .cse10))) (let ((.cse160 (store .cse156 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse158 4)) v_ArrVal_237))) (let ((.cse157 (select .cse160 .cse10))) (let ((.cse154 (mod (+ .cse157 1) 4))) (let ((.cse150 (store .cse151 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse160 .cse10 (+ (- 4) .cse154))))) (let ((.cse152 (select (store .cse150 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse159 (select .cse150 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse159 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse153 (select .cse152 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse155 (+ .cse158 1))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse150 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse151 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse152 .cse2) .cse153) (< 0 (select .cse152 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse153 4) 4))) (= v_z_32 3) (< v_z_32 0) (= .cse154 0) (= (mod .cse155 4) (select .cse156 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse151 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (+ 2 .cse157)) (< .cse155 0) (< 3 v_z_32)))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse173 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse174 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse173 .cse13 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse161 (mod (+ (select .cse174 .cse10) 1) 4)) (.cse162 (select .cse174 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse161 (+ .cse162 4)) (= .cse161 .cse162) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse164 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse173 .cse13 (+ v_z_32 1))))) (let ((.cse169 (select .cse164 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse168 (select .cse169 .cse10))) (let ((.cse172 (store .cse169 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse168 4)) v_ArrVal_237))) (let ((.cse170 (select .cse172 .cse10))) (let ((.cse167 (mod (+ .cse170 1) 4))) (let ((.cse163 (store .cse164 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse172 .cse10 (+ (- 4) .cse167))))) (let ((.cse165 (select (store .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse171 (select .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse171 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse171 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse166 (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse163 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse165 .cse2) .cse166) (< 0 (select .cse165 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse166 4) 4))) (= v_z_32 3) (< v_z_32 0) (= .cse167 0) (= (mod (+ .cse168 1) 4) (select .cse169 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse164 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (+ 2 .cse170)) (< 3 v_z_32)))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse176 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse184 (select .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse185 (select .cse184 .cse10))) (let ((.cse175 (+ .cse185 1))) (or (< .cse175 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse183 (store .cse184 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse185 4) 4) v_ArrVal_237))) (let ((.cse180 (select .cse183 .cse10))) (let ((.cse181 (mod (+ .cse180 1) 4))) (let ((.cse177 (store .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse183 .cse10 (+ (- 4) .cse181))))) (let ((.cse178 (select (store .cse177 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse182 (select .cse177 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse182 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse182 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse179 (select .cse178 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse176 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse177 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= (select .cse178 .cse2) .cse179) (< 0 (select .cse178 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse179 4)))) (< 0 (+ .cse180 2)) (= 0 .cse181))))))))) (= (mod .cse175 4) (select .cse184 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse176 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse194 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse195 (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse194 .cse13 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse10))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse189 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse194 .cse13 (+ v_z_32 1))))) (let ((.cse187 (select .cse189 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse186 (select .cse187 .cse10))) (let ((.cse188 (store .cse189 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse193 (store .cse187 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse186 4)) v_ArrVal_237))) (store .cse193 .cse10 (+ (- 4) (mod (+ (select .cse193 .cse10) 1) 4))))))) (let ((.cse190 (select (store .cse188 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse192 (select .cse188 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse192 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse192 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= (mod (+ .cse186 1) 4) (+ 4 (select .cse187 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (not (= (select (select .cse188 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse190 .cse2) .cse191) (< 0 (select .cse190 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse191 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 3 v_z_32))))))))) (= (mod (+ .cse195 1) 4) 0) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< 0 (+ 2 .cse195)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse199 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse204 (select .cse199 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse205 (select .cse204 .cse10))) (let ((.cse207 (store .cse204 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse205 4)) v_ArrVal_237))) (let ((.cse203 (select .cse207 .cse10))) (let ((.cse202 (mod (+ .cse203 1) 4))) (let ((.cse198 (store .cse199 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse207 .cse10 (+ (- 4) .cse202))))) (let ((.cse200 (select (store .cse198 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse206 (select .cse198 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse206 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse206 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse201 (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse196 (mod (+ .cse205 1) 4)) (.cse197 (select .cse204 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse196 (+ 4 .cse197)) (not (= (select (select .cse198 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse199 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse200 .cse2) .cse201) (< 0 (select .cse200 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse201 4) 4))) (= v_z_32 3) (< v_z_32 0) (= .cse202 0) (= .cse196 .cse197) (not (= (select (select .cse199 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (+ 2 .cse203)) (< 3 v_z_32)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse213 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse215 (select .cse213 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse216 (select .cse215 .cse10))) (let ((.cse218 (store .cse215 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse216 4)) v_ArrVal_237))) (let ((.cse214 (+ (select .cse218 .cse10) 1))) (let ((.cse212 (store .cse213 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse218 .cse10 (mod .cse214 4))))) (let ((.cse210 (select (store .cse212 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse217 (select .cse212 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse217 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse217 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse211 (select .cse210 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse208 (mod (+ .cse216 1) 4)) (.cse209 (select .cse215 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse208 (+ 4 .cse209)) (= v_z_32 3) (= (select .cse210 .cse2) .cse211) (< v_z_32 0) (< 0 (select .cse210 (+ (* 4 .cse211) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse208 .cse209) (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< .cse214 0) (< 3 v_z_32))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse220 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse226 (select .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse227 (select .cse226 .cse10))) (let ((.cse228 (mod (+ .cse227 1) 4)) (.cse229 (select .cse226 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse225 (store .cse226 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse227 4) 4) v_ArrVal_237))) (let ((.cse219 (+ (select .cse225 .cse10) 1))) (let ((.cse221 (store .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse225 .cse10 (mod .cse219 4))))) (let ((.cse222 (select (store .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse224 (select .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse224 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse224 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse223 (select .cse222 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse219 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse220 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse221 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= (select .cse222 .cse2) .cse223) (< 0 (select .cse222 (+ (* .cse223 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))))) (= .cse228 (+ .cse229 4)) (= .cse228 .cse229) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse220 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse230 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (or (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse230 .cse13 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse10) 1) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse230 .cse13 (+ v_z_32 1))))) (let ((.cse237 (select .cse233 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse236 (select .cse237 .cse10))) (let ((.cse231 (store .cse237 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse236 4)) v_ArrVal_237))) (let ((.cse232 (store .cse233 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse231 .cse10 0)))) (let ((.cse234 (select (store .cse232 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse238 (select .cse232 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse238 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse238 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse235 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (mod (+ (select .cse231 .cse10) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse232 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse234 (+ (* .cse235 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= (mod (+ .cse236 1) 4) (select .cse237 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse235 (select .cse234 .cse2)) (< 3 v_z_32)))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse243 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse241 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse243 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse246 (select .cse241 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse244 (select .cse246 .cse10))) (let ((.cse245 (store .cse241 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse246 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse244 4) 4) v_ArrVal_237) .cse10 0)))) (let ((.cse239 (select (store .cse245 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse247 (select .cse245 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse247 (+ (* 4 (select .cse247 .cse8)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse240 (select .cse239 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse242 (* v_y_33 4))) (or (= (select .cse239 .cse2) .cse240) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse241 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_33 3) (< 0 (select .cse239 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse240 4) 4))) (< (+ .cse242 v_z_33) (select .cse243 .cse13)) (not (= (mod (+ .cse244 1) 4) 0)) (not (= (select (select .cse241 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse245 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= (select .cse246 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< v_z_33 0) (< 0 (+ .cse242 v_z_33 2)) (< 3 v_z_33)))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse252 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse250 (select .cse252 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse248 (select .cse250 .cse10))) (let ((.cse251 (store .cse252 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse256 (store .cse250 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse248 4)) v_ArrVal_237))) (store .cse256 .cse10 (+ (- 4) (mod (+ (select .cse256 .cse10) 1) 4))))))) (let ((.cse253 (select (store .cse251 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse255 (select .cse251 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse255 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse255 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse249 (mod (+ .cse248 1) 4)) (.cse254 (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ .cse248 2)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse249 0) (= .cse249 (+ 4 (select .cse250 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (not (= (select (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse253 .cse2) .cse254) (< 0 (select .cse253 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse254 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse262 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse259 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse262 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse265 (select .cse259 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse263 (select .cse265 .cse10))) (let ((.cse267 (store .cse265 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse263 4) 4) v_ArrVal_237))) (let ((.cse260 (+ (select .cse267 .cse10) 1))) (let ((.cse264 (store .cse259 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse267 .cse10 (mod .cse260 4))))) (let ((.cse258 (select (store .cse264 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse266 (select .cse264 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse266 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse266 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse257 (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse261 (* v_y_33 4))) (or (= .cse257 (select .cse258 .cse2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse259 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_33 3) (< 0 (select .cse258 (+ (* .cse257 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< .cse260 0) (< (+ .cse261 v_z_33) (select .cse262 .cse13)) (not (= (mod (+ .cse263 1) 4) 0)) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse259 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse265 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< v_z_33 0) (< 0 (+ .cse261 v_z_33 2)) (< 3 v_z_33)))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse270 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse269 (select .cse270 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse271 (select .cse269 .cse10))) (let ((.cse268 (mod (+ .cse271 1) 4))) (or (= .cse268 (+ (select .cse269 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (= .cse268 0) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse270 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (< 0 (+ 2 .cse271)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse272 (store .cse270 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse276 (store .cse269 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse271 4) 4) v_ArrVal_237))) (store .cse276 .cse10 (+ (- 4) (mod (+ (select .cse276 .cse10) 1) 4))))))) (let ((.cse273 (select (store .cse272 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse275 (select .cse272 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse275 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse275 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse274 (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse270 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse272 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (= (select .cse273 .cse2) .cse274) (< 0 (select .cse273 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse274 4))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse282 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse279 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse282 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse284 (select .cse279 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse285 (select .cse284 .cse10))) (let ((.cse287 (store .cse284 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse285 4) 4) v_ArrVal_237))) (let ((.cse280 (+ (select .cse287 .cse10) 1))) (let ((.cse283 (store .cse279 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse287 .cse10 (mod .cse280 4))))) (let ((.cse278 (select (store .cse283 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse286 (select .cse283 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse286 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse286 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse277 (select .cse278 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse281 (* v_y_33 4))) (or (= .cse277 (select .cse278 .cse2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse279 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= v_z_33 3) (< 0 (select .cse278 (+ (* .cse277 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< .cse280 0) (< (+ .cse281 v_z_33) (select .cse282 .cse13)) (not (= (select (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (= (select .cse284 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse285 1) 4)) (< 0 (+ .cse281 v_z_33 2)) (< 3 v_z_33)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse294 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse290 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse294 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse296 (select .cse290 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse297 (select .cse296 .cse10))) (let ((.cse292 (store .cse296 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse297 4) 4) v_ArrVal_237))) (let ((.cse295 (store .cse290 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse292 .cse10 0)))) (let ((.cse288 (select (store .cse295 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse298 (select .cse295 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse298 (+ (* 4 (select .cse298 .cse8)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse289 (select .cse288 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse291 (+ .cse297 1)) (.cse293 (* v_y_33 4))) (or (= (select .cse288 .cse2) .cse289) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse290 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse291 0) (not (= (mod (+ (select .cse292 .cse10) 1) 4) 0)) (= v_z_33 3) (< 0 (select .cse288 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse289 4) 4))) (< (+ .cse293 v_z_33) (select .cse294 .cse13)) (not (= (select (select .cse290 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse295 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (< v_z_33 0) (= (select .cse296 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse291 4)) (< 0 (+ .cse293 v_z_33 2)) (< 3 v_z_33))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse307 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse301 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse307 .cse13 (+ v_z_33 (- 3)))))) (let ((.cse308 (select .cse301 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse309 (select .cse308 .cse10))) (let ((.cse311 (store .cse308 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse309 4) 4) v_ArrVal_237))) (let ((.cse305 (select .cse311 .cse10))) (let ((.cse304 (mod (+ .cse305 1) 4))) (let ((.cse302 (store .cse301 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse311 .cse10 (+ (- 4) .cse304))))) (let ((.cse299 (select (store .cse302 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse310 (select .cse302 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse310 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse310 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse303 (+ .cse309 1)) (.cse306 (* v_y_33 4)) (.cse300 (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse299 .cse2) .cse300) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse301 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (not (= (select (select .cse302 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse301 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< .cse303 0) (= .cse304 0) (< 0 (+ 2 .cse305)) (= v_z_33 3) (< (+ .cse306 v_z_33) (select .cse307 .cse13)) (< v_z_33 0) (= (select .cse308 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse303 4)) (< 0 (+ .cse306 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse299 (+ (* .cse300 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse314 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 0)))) (let ((.cse320 (select .cse314 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse321 (select .cse320 .cse10))) (let ((.cse312 (mod (+ .cse321 1) 4)) (.cse313 (select .cse320 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse312 (+ .cse313 4)) (= .cse312 .cse313) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse314 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse318 (store .cse320 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse321 4) 4) v_ArrVal_237))) (let ((.cse317 (store .cse314 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse318 .cse10 0)))) (let ((.cse315 (select (store .cse317 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse319 (select .cse317 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse319 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse319 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse316 (select .cse315 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse315 (+ (* .cse316 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse317 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2))) (not (= 0 (mod (+ (select .cse318 .cse10) 1) 4))) (= .cse316 (select .cse315 .cse2)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse322 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (or (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse322 .cse13 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse10) 1) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse324 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse322 .cse13 (+ v_z_32 1))))) (let ((.cse329 (select .cse324 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse328 (select .cse329 .cse10))) (let ((.cse332 (store .cse329 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse328 4)) v_ArrVal_237))) (let ((.cse330 (select .cse332 .cse10))) (let ((.cse327 (mod (+ .cse330 1) 4))) (let ((.cse323 (store .cse324 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse332 .cse10 (+ (- 4) .cse327))))) (let ((.cse325 (select (store .cse323 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse331 (select .cse323 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse331 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse331 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse326 (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse323 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse325 .cse2) .cse326) (< 0 (select .cse325 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse326 4) 4))) (= v_z_32 3) (< v_z_32 0) (= .cse327 0) (= (mod (+ .cse328 1) 4) (select .cse329 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (+ 2 .cse330)) (< 3 v_z_32)))))))))))) (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse342 (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (or (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse336 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse342 .cse13 (+ v_z_32 1))))) (let ((.cse334 (select .cse336 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse339 (select .cse334 .cse10))) (let ((.cse335 (store .cse336 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse341 (store .cse334 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse339 4)) v_ArrVal_237))) (store .cse341 .cse10 (+ (- 4) (mod (+ (select .cse341 .cse10) 1) 4))))))) (let ((.cse337 (select (store .cse335 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse340 (select .cse335 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse340 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse340 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse333 (mod (+ .cse339 1) 4)) (.cse338 (select .cse337 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse333 0) (= .cse333 (+ 4 (select .cse334 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (not (= (select (select .cse335 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse336 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse337 .cse2) .cse338) (< 0 (select .cse337 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse338 4) 4))) (= v_z_32 3) (< v_z_32 0) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 3 v_z_32))))))))) (< 0 (+ 2 (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse342 .cse13 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse10)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse16 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse347 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse13 (+ v_z_32 1))))) (let ((.cse350 (select .cse347 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse351 (select .cse350 .cse10))) (let ((.cse343 (store .cse350 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse351 4)) v_ArrVal_237))) (let ((.cse346 (store .cse347 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse343 .cse10 0)))) (let ((.cse348 (select (store .cse346 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse352 (select .cse346 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse352 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse352 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse344 (mod (+ .cse351 1) 4)) (.cse345 (select .cse350 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse349 (select .cse348 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (mod (+ (select .cse343 .cse10) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= .cse344 (+ 4 .cse345)) (not (= (select (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse2) (select (select .cse347 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse348 (+ (* .cse349 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse344 .cse345) (not (= (select (select .cse347 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse6) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse349 (select .cse348 .cse2)) (< 3 v_z_32))))))))))))))) is different from true [2024-04-03 22:33:57,364 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse17 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|)) (.cse18 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20))) (let ((.cse0 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse7 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse2 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse14 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse16 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20)) (.cse19 (select .cse17 .cse18))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse1 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse12 (select .cse1 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse11 (select .cse12 .cse16))) (let ((.cse15 (store .cse12 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse11 4) 4) v_ArrVal_237))) (let ((.cse9 (select .cse15 .cse16))) (let ((.cse8 (mod (+ .cse9 1) 4))) (let ((.cse10 (store .cse1 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse15 .cse16 (+ .cse8 (- 4)))))) (let ((.cse5 (select (store .cse10 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse13 (select .cse10 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse13 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse6 (select .cse5 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse3 (select .cse12 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse4 (mod (+ .cse11 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse1 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= .cse3 .cse4) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse5 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse6 4) 4))) (= (select .cse5 .cse7) .cse6) (= .cse8 0) (< 0 (+ 2 .cse9)) (< 3 v_z_32) (= (+ .cse3 4) .cse4) (not (= (select (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7)))))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse21 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse25 (select .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse24 (select .cse25 .cse16))) (let ((.cse26 (store .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse28 (store .cse25 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse24 4) 4) v_ArrVal_237))) (store .cse28 .cse16 (+ (mod (+ (select .cse28 .cse16) 1) 4) (- 4))))))) (let ((.cse22 (select (store .cse26 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse27 (select .cse26 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse27 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse27 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse23 (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse20 (mod (+ .cse24 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= 0 .cse20) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse21 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse23 4) 4))) (= (select .cse22 .cse7) .cse23) (< 3 v_z_32) (< 0 (+ .cse24 2)) (= (+ (select .cse25 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse20) (not (= (select (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse29 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (or (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse29 .cse18 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse16) 1) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse30 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse29 .cse18 (+ v_z_32 1))))) (let ((.cse35 (select .cse30 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse36 (select .cse35 .cse16))) (let ((.cse34 (store .cse35 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse36 4) 4) v_ArrVal_237))) (let ((.cse31 (store .cse30 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse34 .cse16 0)))) (let ((.cse32 (select (store .cse31 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse37 (select .cse31 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse37 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse37 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse32 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse33 4) 4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse30 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (not (= (mod (+ (select .cse34 .cse16) 1) 4) 0)) (= (select .cse35 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse36 1) 4)) (= v_z_32 3) (< v_z_32 0) (= .cse33 (select .cse32 .cse7)) (< 3 v_z_32)))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse42 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse39 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse42 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse49 (select .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse48 (select .cse49 .cse16))) (let ((.cse51 (store .cse49 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse48 4) 4) v_ArrVal_237))) (let ((.cse38 (select .cse51 .cse16))) (let ((.cse47 (mod (+ .cse38 1) 4))) (let ((.cse40 (store .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse51 .cse16 (+ (- 4) .cse47))))) (let ((.cse45 (select (store .cse40 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse50 (select .cse40 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse50 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse50 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse41 (* v_y_33 4)) (.cse46 (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse43 (select .cse49 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse44 (mod (+ .cse48 1) 4))) (or (< 0 (+ 2 .cse38)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse39 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_33 3) (not (= (select (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< (+ .cse41 v_z_33) (select .cse42 .cse18)) (< 0 (+ .cse41 v_z_33 2)) (= .cse43 .cse44) (< 3 v_z_33) (< 0 (select .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse46 4) 4))) (= .cse46 (select .cse45 .cse7)) (= .cse47 0) (= (+ .cse43 4) .cse44))))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse52 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (or (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse52 .cse18 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse16) 1) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse53 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse52 .cse18 (+ v_z_32 1))))) (let ((.cse54 (select .cse53 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse55 (select .cse54 .cse16))) (let ((.cse62 (store .cse54 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse55 4) 4) v_ArrVal_237))) (let ((.cse59 (select .cse62 .cse16))) (let ((.cse58 (mod (+ .cse59 1) 4))) (let ((.cse60 (store .cse53 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse62 .cse16 (+ .cse58 (- 4)))))) (let ((.cse56 (select (store .cse60 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse61 (select .cse60 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse61 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse61 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse57 (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse53 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= (select .cse54 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse55 1) 4)) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse56 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse57 4) 4))) (= (select .cse56 .cse7) .cse57) (= .cse58 0) (< 0 (+ 2 .cse59)) (< 3 v_z_32) (not (= (select (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse60 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7)))))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse63 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse69 (select .cse63 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse67 (select .cse69 .cse16))) (let ((.cse71 (store .cse69 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse67 4) 4) v_ArrVal_237))) (let ((.cse68 (+ (select .cse71 .cse16) 1))) (let ((.cse64 (store .cse63 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse71 .cse16 (mod .cse68 4))))) (let ((.cse65 (select (store .cse64 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse70 (select .cse64 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse70 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse70 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse66 (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse63 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse64 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (= (select .cse65 .cse7) .cse66) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse63 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (not (= 0 (mod (+ .cse67 1) 4))) (= v_z_32 3) (< .cse68 0) (< v_z_32 0) (< 0 (select .cse65 (+ (* .cse66 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32) (= (select .cse69 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse82 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse85 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse82 .cse18 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse83 (select .cse85 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse84 (mod (+ (select .cse85 .cse16) 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse72 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse82 .cse18 (+ v_z_32 1))))) (let ((.cse73 (select .cse72 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse74 (select .cse73 .cse16))) (let ((.cse81 (store .cse73 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse74 4) 4) v_ArrVal_237))) (let ((.cse78 (select .cse81 .cse16))) (let ((.cse77 (mod (+ .cse78 1) 4))) (let ((.cse79 (store .cse72 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse81 .cse16 (+ .cse77 (- 4)))))) (let ((.cse75 (select (store .cse79 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse80 (select .cse79 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse80 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse80 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse76 (select .cse75 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse72 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= (select .cse73 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse74 1) 4)) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse75 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse76 4) 4))) (= (select .cse75 .cse7) .cse76) (= .cse77 0) (< 0 (+ 2 .cse78)) (< 3 v_z_32) (not (= (select (select .cse72 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse79 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7)))))))))))))) (= .cse83 .cse84) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (+ .cse83 4) .cse84)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse87 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse92 (select .cse87 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse93 (select .cse92 .cse16))) (let ((.cse91 (store .cse92 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse93 4) 4) v_ArrVal_237))) (let ((.cse88 (store .cse87 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse91 .cse16 0)))) (let ((.cse89 (select (store .cse88 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse94 (select .cse88 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse94 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse94 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse86 (+ .cse93 1)) (.cse90 (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse86 0) (not (= (select (select .cse87 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse88 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse89 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse90 4) 4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse87 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (not (= (mod (+ (select .cse91 .cse16) 1) 4) 0)) (= (select .cse92 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse86 4)) (= v_z_32 3) (< v_z_32 0) (= .cse90 (select .cse89 .cse7)) (< 3 v_z_32)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse99 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse95 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse99 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse101 (select .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse102 (select .cse101 .cse16))) (let ((.cse105 (store .cse101 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse102 4) 4) v_ArrVal_237))) (let ((.cse103 (+ (select .cse105 .cse16) 1))) (let ((.cse100 (store .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse105 .cse16 (mod .cse103 4))))) (let ((.cse96 (select (store .cse100 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse104 (select .cse100 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse104 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse104 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse98 (* v_y_33 4)) (.cse97 (select .cse96 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse95 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_33 3) (< 0 (select .cse96 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse97 4) 4))) (< v_z_33 0) (< (+ .cse98 v_z_33) (select .cse99 .cse18)) (not (= (select (select .cse100 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse98 v_z_33 2)) (= (select .cse101 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse102 1) 4)) (< 3 v_z_33) (= (select .cse96 .cse7) .cse97) (< .cse103 0)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse111 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse107 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse111 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse112 (select .cse107 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse116 (select .cse112 .cse16))) (let ((.cse118 (store .cse112 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse116 4) 4) v_ArrVal_237))) (let ((.cse106 (select .cse118 .cse16))) (let ((.cse115 (mod (+ .cse106 1) 4))) (let ((.cse108 (store .cse107 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse118 .cse16 (+ (- 4) .cse115))))) (let ((.cse113 (select (store .cse108 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse117 (select .cse108 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse117 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse117 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse110 (* v_y_33 4)) (.cse109 (+ .cse116 1)) (.cse114 (select .cse113 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ 2 .cse106)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse107 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_33 3) (not (= (select (select .cse108 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse107 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse109 0) (< v_z_33 0) (< (+ .cse110 v_z_33) (select .cse111 .cse18)) (< 0 (+ .cse110 v_z_33 2)) (= (select .cse112 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse109 4)) (< 3 v_z_33) (< 0 (select .cse113 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse114 4) 4))) (= .cse114 (select .cse113 .cse7)) (= .cse115 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse120 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse121 (select .cse120 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse127 (select .cse121 .cse16))) (let ((.cse129 (store .cse121 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse127 4) 4) v_ArrVal_237))) (let ((.cse125 (select .cse129 .cse16))) (let ((.cse124 (mod (+ .cse125 1) 4))) (let ((.cse126 (store .cse120 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse129 .cse16 (+ .cse124 (- 4)))))) (let ((.cse122 (select (store .cse126 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse128 (select .cse126 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse128 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse128 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse119 (+ .cse127 1)) (.cse123 (select .cse122 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse119 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse120 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= (select .cse121 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse119 4)) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse122 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse123 4) 4))) (= (select .cse122 .cse7) .cse123) (= .cse124 0) (< 0 (+ 2 .cse125)) (< 3 v_z_32) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse126 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7)))))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse130 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse138 (select .cse130 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse137 (select .cse138 .cse16))) (let ((.cse140 (store .cse138 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse137 4) 4) v_ArrVal_237))) (let ((.cse136 (+ (select .cse140 .cse16) 1))) (let ((.cse131 (store .cse130 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse140 .cse16 (mod .cse136 4))))) (let ((.cse132 (select (store .cse131 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse139 (select .cse131 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse139 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse139 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse133 (select .cse132 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse134 (select .cse138 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse135 (mod (+ .cse137 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse130 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse131 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (= (select .cse132 .cse7) .cse133) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse130 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= .cse134 .cse135) (= v_z_32 3) (< .cse136 0) (< v_z_32 0) (< 0 (select .cse132 (+ (* .cse133 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32) (= (+ .cse134 4) .cse135))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse146 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse142 (select .cse146 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse149 (select .cse142 .cse16))) (let ((.cse141 (+ .cse149 1))) (or (< .cse141 0) (= (select .cse142 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse141 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse145 (store .cse142 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse149 4) 4) v_ArrVal_237))) (let ((.cse147 (store .cse146 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse145 .cse16 0)))) (let ((.cse143 (select (store .cse147 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse148 (select .cse147 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse148 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse148 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse144 (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse143 .cse7) .cse144) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse143 (+ (* .cse144 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (mod (+ 1 (select .cse145 .cse16)) 4) 0)) (not (= (select (select .cse146 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse147 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse146 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse160 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse151 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse160 .cse18 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse150 (select .cse151 .cse16))) (let ((.cse152 (mod (+ .cse150 1) 4))) (or (< 0 (+ .cse150 2)) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (+ (select .cse151 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse152) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse153 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse160 .cse18 (+ v_z_32 1))))) (let ((.cse156 (store .cse153 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse158 (let ((.cse159 (select .cse153 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse159 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* (select .cse159 .cse16) 4) 4) v_ArrVal_237)))) (store .cse158 .cse16 (+ (mod (+ (select .cse158 .cse16) 1) 4) (- 4))))))) (let ((.cse154 (select (store .cse156 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse157 (select .cse156 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse157 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse157 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse155 (select .cse154 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse153 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse154 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse155 4) 4))) (= (select .cse154 .cse7) .cse155) (< 3 v_z_32) (not (= (select (select .cse153 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse156 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))))))))) (= .cse152 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse165 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse161 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse165 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse169 (select .cse161 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse162 (select .cse169 .cse16))) (let ((.cse171 (store .cse169 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse162 4) 4) v_ArrVal_237))) (let ((.cse168 (mod (+ (select .cse171 .cse16) 1) 4))) (let ((.cse163 (store .cse161 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse171 .cse16 (+ (- 4) .cse168))))) (let ((.cse166 (select (store .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse170 (select .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse170 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse170 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse164 (* v_y_33 4)) (.cse167 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse161 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< 0 (+ .cse162 2)) (= v_z_33 3) (not (= (select (select .cse163 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse161 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< (+ .cse164 v_z_33) (select .cse165 .cse18)) (< 0 (+ .cse164 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse166 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse167 4) 4))) (= .cse167 (select .cse166 .cse7)) (= .cse168 0) (= (+ (select .cse169 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse162 1) 4))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse174 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse182 (select .cse174 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse183 (select .cse182 .cse16))) (let ((.cse172 (select .cse182 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse173 (mod (+ .cse183 1) 4))) (or (= .cse172 .cse173) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse174 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (+ .cse172 4) .cse173) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse181 (store .cse182 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse183 4) 4) v_ArrVal_237))) (let ((.cse179 (select .cse181 .cse16))) (let ((.cse178 (mod (+ 1 .cse179) 4))) (let ((.cse177 (store .cse174 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse181 .cse16 (+ .cse178 (- 4)))))) (let ((.cse175 (select (store .cse177 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse180 (select .cse177 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse180 (+ (* (select .cse180 .cse14) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse176 (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse175 .cse7) .cse176) (not (= (select (select .cse174 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse177 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse175 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 .cse176)))) (= .cse178 0) (< 0 (+ 2 .cse179)))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse184 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse189 (select .cse184 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse188 (select .cse189 .cse16))) (let ((.cse185 (store .cse184 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse189 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse188 4) 4) v_ArrVal_237) .cse16 0)))) (let ((.cse186 (select (store .cse185 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse190 (select .cse185 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse190 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse190 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse187 (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse186 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse187 4) 4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse184 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (not (= 0 (mod (+ .cse188 1) 4))) (= v_z_32 3) (< v_z_32 0) (= .cse187 (select .cse186 .cse7)) (< 3 v_z_32) (= (select .cse189 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse191 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse198 (select .cse191 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse199 (select .cse198 .cse16))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse197 (store .cse198 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse199 4) 4) v_ArrVal_237))) (let ((.cse195 (+ 1 (select .cse197 .cse16)))) (let ((.cse192 (store .cse191 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse197 .cse16 (mod .cse195 4))))) (let ((.cse193 (select (store .cse192 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse196 (select .cse192 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse196 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse196 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse194 (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< 0 (select .cse193 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse194 4) 4))) (= (select .cse193 .cse7) .cse194) (< .cse195 0)))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse191 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (select .cse198 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse199 1) 4) 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse200 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse208 (select .cse200 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse207 (select .cse208 .cse16))) (let ((.cse204 (store .cse208 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse207 4) 4) v_ArrVal_237))) (let ((.cse201 (store .cse200 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse204 .cse16 0)))) (let ((.cse202 (select (store .cse201 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse209 (select .cse201 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse209 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse209 .cse14) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse203 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse205 (select .cse208 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse206 (mod (+ .cse207 1) 4))) (or (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse202 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse203 4) 4))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse200 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (not (= (mod (+ (select .cse204 .cse16) 1) 4) 0)) (= .cse205 .cse206) (= v_z_32 3) (< v_z_32 0) (= .cse203 (select .cse202 .cse7)) (< 3 v_z_32) (= (+ .cse205 4) .cse206)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse215 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse212 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse215 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse220 (select .cse212 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse219 (select .cse220 .cse16))) (let ((.cse213 (store .cse220 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse219 4) 4) v_ArrVal_237))) (let ((.cse218 (store .cse212 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse213 .cse16 0)))) (let ((.cse210 (select (store .cse218 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse221 (select .cse218 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse221 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse221 .cse14)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse211 (select .cse210 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse214 (* v_y_33 4)) (.cse216 (select .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse217 (mod (+ .cse219 1) 4))) (or (= (select .cse210 .cse7) .cse211) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse212 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_33 3) (< 0 (select .cse210 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse211 4) 4))) (< v_z_33 0) (not (= (mod (+ (select .cse213 .cse16) 1) 4) 0)) (< (+ .cse214 v_z_33) (select .cse215 .cse18)) (< 0 (+ .cse214 v_z_33 2)) (= .cse216 .cse217) (< 3 v_z_33) (= (+ .cse216 4) .cse217) (not (= (select (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse223 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse230 (select .cse223 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse231 (select .cse230 .cse16))) (let ((.cse222 (+ .cse231 1))) (or (< .cse222 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse229 (store .cse230 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse231 4) 4) v_ArrVal_237))) (let ((.cse227 (+ 1 (select .cse229 .cse16)))) (let ((.cse224 (store .cse223 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse229 .cse16 (mod .cse227 4))))) (let ((.cse225 (select (store .cse224 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse228 (select .cse224 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse228 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse228 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse226 (select .cse225 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse223 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse224 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< 0 (select .cse225 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse226 4) 4))) (= (select .cse225 .cse7) .cse226) (< .cse227 0)))))))) (= (select .cse230 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse222 4)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse223 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse234 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse233 (select .cse234 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse242 (select .cse233 .cse16))) (let ((.cse232 (+ .cse242 1))) (or (< .cse232 0) (= (select .cse233 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse232 4)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse234 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse241 (store .cse233 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse242 4) 4) v_ArrVal_237))) (let ((.cse239 (select .cse241 .cse16))) (let ((.cse238 (mod (+ 1 .cse239) 4))) (let ((.cse237 (store .cse234 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse241 .cse16 (+ .cse238 (- 4)))))) (let ((.cse235 (select (store .cse237 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse240 (select .cse237 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse240 (+ (* (select .cse240 .cse14) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse236 (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse235 .cse7) .cse236) (not (= (select (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse235 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 .cse236)))) (= .cse238 0) (< 0 (+ 2 .cse239)))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse249 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse243 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse249 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse247 (select .cse243 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse244 (select .cse247 .cse16))) (let ((.cse253 (store .cse247 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse244 4) 4) v_ArrVal_237))) (let ((.cse251 (+ (select .cse253 .cse16) 1))) (let ((.cse250 (store .cse243 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse253 .cse16 (mod .cse251 4))))) (let ((.cse245 (select (store .cse250 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse252 (select .cse250 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse252 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse252 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse248 (* v_y_33 4)) (.cse246 (select .cse245 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse243 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (not (= (mod (+ .cse244 1) 4) 0)) (= v_z_33 3) (< 0 (select .cse245 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse246 4) 4))) (< v_z_33 0) (= (select .cse247 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< (+ .cse248 v_z_33) (select .cse249 .cse18)) (not (= (select (select .cse250 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse243 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse248 v_z_33 2)) (< 3 v_z_33) (= (select .cse245 .cse7) .cse246) (< .cse251 0)))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse259 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse262 (select .cse259 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse263 (select .cse262 .cse16))) (let ((.cse254 (select .cse262 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse255 (mod (+ .cse263 1) 4))) (or (= .cse254 .cse255) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse258 (store .cse262 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse263 4) 4) v_ArrVal_237))) (let ((.cse260 (store .cse259 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse258 .cse16 0)))) (let ((.cse256 (select (store .cse260 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse261 (select .cse260 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse261 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse261 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse257 (select .cse256 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse256 .cse7) .cse257) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse256 (+ (* .cse257 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (mod (+ 1 (select .cse258 .cse16)) 4) 0)) (not (= (select (select .cse259 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse260 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse259 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (+ .cse254 4) .cse255))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse264 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse271 (select .cse264 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse272 (select .cse271 .cse16))) (let ((.cse273 (select .cse271 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse274 (mod (+ .cse272 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse270 (store .cse271 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse272 4) 4) v_ArrVal_237))) (let ((.cse268 (+ 1 (select .cse270 .cse16)))) (let ((.cse265 (store .cse264 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse270 .cse16 (mod .cse268 4))))) (let ((.cse266 (select (store .cse265 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse269 (select .cse265 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse269 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse269 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse267 (select .cse266 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< 0 (select .cse266 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse267 4) 4))) (= (select .cse266 .cse7) .cse267) (< .cse268 0)))))))) (= .cse273 .cse274) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse264 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (+ .cse273 4) .cse274))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse275 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (or (< 0 (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse275 .cse18 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse16) 2)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse277 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse275 .cse18 (+ v_z_32 1))))) (let ((.cse280 (select .cse277 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse282 (select .cse280 .cse16))) (let ((.cse281 (store .cse277 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse284 (store .cse280 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse282 4) 4) v_ArrVal_237))) (store .cse284 .cse16 (+ (mod (+ (select .cse284 .cse16) 1) 4) (- 4))))))) (let ((.cse278 (select (store .cse281 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse283 (select .cse281 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse283 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse283 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse279 (select .cse278 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse276 (mod (+ .cse282 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (= 0 .cse276) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse277 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse278 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse279 4) 4))) (= (select .cse278 .cse7) .cse279) (< 3 v_z_32) (= (+ (select .cse280 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse276) (not (= (select (select .cse277 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse281 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse289 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse285 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse289 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse295 (select .cse285 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse294 (select .cse295 .cse16))) (let ((.cse297 (store .cse295 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse294 4) 4) v_ArrVal_237))) (let ((.cse293 (+ (select .cse297 .cse16) 1))) (let ((.cse290 (store .cse285 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse297 .cse16 (mod .cse293 4))))) (let ((.cse286 (select (store .cse290 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse296 (select .cse290 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse296 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse296 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse288 (* v_y_33 4)) (.cse287 (select .cse286 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse291 (select .cse295 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse292 (mod (+ .cse294 1) 4))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse285 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_33 3) (< 0 (select .cse286 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse287 4) 4))) (< v_z_33 0) (< (+ .cse288 v_z_33) (select .cse289 .cse18)) (not (= (select (select .cse290 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse285 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse288 v_z_33 2)) (= .cse291 .cse292) (< 3 v_z_33) (= (select .cse286 .cse7) .cse287) (< .cse293 0) (= (+ .cse291 4) .cse292)))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse301 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse305 (select .cse301 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse298 (select .cse305 .cse16))) (let ((.cse306 (mod (+ .cse298 1) 4))) (or (< 0 (+ .cse298 2)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse302 (store .cse301 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse304 (store .cse305 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse298 4) 4) v_ArrVal_237))) (store .cse304 .cse16 (+ (mod (+ 1 (select .cse304 .cse16)) 4) (- 4))))))) (let ((.cse299 (select (store .cse302 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse303 (select .cse302 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse303 (+ (* (select .cse303 .cse14) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse300 (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse299 .cse7) .cse300) (not (= (select (select .cse301 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse302 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse299 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 .cse300))))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse301 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (+ (select .cse305 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse306) (= .cse306 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse315 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse316 (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse315 .cse18 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse16))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse307 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse315 .cse18 (+ v_z_32 1))))) (let ((.cse310 (select .cse307 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse311 (select .cse310 .cse16))) (let ((.cse312 (store .cse307 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse314 (store .cse310 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse311 4) 4) v_ArrVal_237))) (store .cse314 .cse16 (+ (mod (+ (select .cse314 .cse16) 1) 4) (- 4))))))) (let ((.cse308 (select (store .cse312 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse313 (select .cse312 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse313 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse313 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse307 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_32 3) (< v_z_32 0) (< 0 (select .cse308 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse309 4) 4))) (= (select .cse308 .cse7) .cse309) (< 3 v_z_32) (= (+ (select .cse310 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse311 1) 4)) (not (= (select (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse312 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))))))))))) (< 0 (+ .cse316 2)) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (mod (+ .cse316 1) 4) 0))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse323 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse319 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse323 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse324 (select .cse319 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse326 (select .cse324 .cse16))) (let ((.cse321 (store .cse324 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse326 4) 4) v_ArrVal_237))) (let ((.cse325 (store .cse319 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse321 .cse16 0)))) (let ((.cse317 (select (store .cse325 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse327 (select .cse325 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse327 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse327 .cse14)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse318 (select .cse317 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse322 (* v_y_33 4)) (.cse320 (+ .cse326 1))) (or (= (select .cse317 .cse7) .cse318) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse319 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= v_z_33 3) (< 0 (select .cse317 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse318 4) 4))) (< .cse320 0) (< v_z_33 0) (not (= (mod (+ (select .cse321 .cse16) 1) 4) 0)) (< (+ .cse322 v_z_33) (select .cse323 .cse18)) (< 0 (+ .cse322 v_z_33 2)) (= (select .cse324 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse320 4)) (< 3 v_z_33) (not (= (select (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse330 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 0)))) (let ((.cse333 (select .cse330 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse334 (select .cse333 .cse16))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_ArrVal_237 Int)) (let ((.cse331 (store .cse330 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse333 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse334 4) 4) v_ArrVal_237) .cse16 0)))) (let ((.cse328 (select (store .cse331 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse332 (select .cse331 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse332 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse332 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse329 (select .cse328 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse328 .cse7) .cse329) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (< 0 (select .cse328 (+ (* .cse329 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse330 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse331 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7)))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse330 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (select .cse333 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse334 1) 4) 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse341 (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (let ((.cse337 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse341 .cse18 (+ v_z_33 (- 3)))))) (let ((.cse339 (select .cse337 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse338 (select .cse339 .cse16))) (let ((.cse342 (store .cse337 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse339 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse338 4) 4) v_ArrVal_237) .cse16 0)))) (let ((.cse335 (select (store .cse342 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse343 (select .cse342 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse343 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse343 .cse14)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse336 (select .cse335 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse340 (* v_y_33 4))) (or (= (select .cse335 .cse7) .cse336) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse337 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (not (= (mod (+ .cse338 1) 4) 0)) (= v_z_33 3) (< 0 (select .cse335 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse336 4) 4))) (< v_z_33 0) (= (select .cse339 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< (+ .cse340 v_z_33) (select .cse341 .cse18)) (< 0 (+ .cse340 v_z_33 2)) (< 3 v_z_33) (not (= (select (select .cse342 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse337 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse344 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store (store .cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|) .cse18 (+ v_z_32 1))))) (let ((.cse348 (select .cse344 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse349 (select .cse348 .cse16))) (let ((.cse352 (store .cse348 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse349 4) 4) v_ArrVal_237))) (let ((.cse350 (+ (select .cse352 .cse16) 1))) (let ((.cse345 (store .cse344 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse352 .cse16 (mod .cse350 4))))) (let ((.cse346 (select (store .cse345 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse351 (select .cse345 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse351 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse351 .cse14) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse347 (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_21| .cse0) (not (= (select (select .cse344 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (= (select .cse346 .cse7) .cse347) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse344 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse2))) (= (select .cse348 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse349 1) 4)) (= v_z_32 3) (< .cse350 0) (< v_z_32 0) (< 0 (select .cse346 (+ (* .cse347 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 3 v_z_32))))))))))) (< .cse19 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))))) is different from true Received shutdown request... [2024-04-03 22:33:57,763 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-04-03 22:33:57,763 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-04-03 22:33:57,764 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-04-03 22:33:57,765 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (9 of 10 remaining) [2024-04-03 22:33:57,770 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-04-03 22:33:57,965 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-03 22:33:57,966 WARN L619 AbstractCegarLoop]: Verification canceled: while PartialOrderCegarLoop was analyzing trace of length 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while ExplicitLhsPolynomialRelations was build 0 of 1 xjuncts. [2024-04-03 22:33:57,967 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (8 of 10 remaining) [2024-04-03 22:33:57,967 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (7 of 10 remaining) [2024-04-03 22:33:57,967 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (6 of 10 remaining) [2024-04-03 22:33:57,967 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (5 of 10 remaining) [2024-04-03 22:33:57,967 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (4 of 10 remaining) [2024-04-03 22:33:57,967 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (3 of 10 remaining) [2024-04-03 22:33:57,968 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (2 of 10 remaining) [2024-04-03 22:33:57,968 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (1 of 10 remaining) [2024-04-03 22:33:57,968 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (0 of 10 remaining) [2024-04-03 22:33:57,971 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2024-04-03 22:33:57,974 INFO L228 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-04-03 22:33:57,974 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2024-04-03 22:33:57,975 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 03.04 10:33:57 BasicIcfg [2024-04-03 22:33:57,975 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-04-03 22:33:57,975 INFO L158 Benchmark]: Toolchain (without parser) took 856074.76ms. Allocated memory was 281.0MB in the beginning and 1.6GB in the end (delta: 1.3GB). Free memory was 204.4MB in the beginning and 857.8MB in the end (delta: -653.4MB). Peak memory consumption was 694.4MB. Max. memory is 8.0GB. [2024-04-03 22:33:57,976 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 179.3MB. Free memory is still 146.7MB. There was no memory consumed. Max. memory is 8.0GB. [2024-04-03 22:33:57,976 INFO L158 Benchmark]: CACSL2BoogieTranslator took 571.35ms. Allocated memory is still 281.0MB. Free memory was 204.4MB in the beginning and 170.1MB in the end (delta: 34.2MB). Peak memory consumption was 33.6MB. Max. memory is 8.0GB. [2024-04-03 22:33:57,976 INFO L158 Benchmark]: Boogie Procedure Inliner took 67.89ms. Allocated memory is still 281.0MB. Free memory was 169.8MB in the beginning and 166.6MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. [2024-04-03 22:33:57,976 INFO L158 Benchmark]: Boogie Preprocessor took 35.25ms. Allocated memory is still 281.0MB. Free memory was 166.6MB in the beginning and 164.5MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2024-04-03 22:33:57,976 INFO L158 Benchmark]: RCFGBuilder took 481.37ms. Allocated memory is still 281.0MB. Free memory was 164.5MB in the beginning and 240.1MB in the end (delta: -75.6MB). Peak memory consumption was 28.6MB. Max. memory is 8.0GB. [2024-04-03 22:33:57,976 INFO L158 Benchmark]: TraceAbstraction took 854914.11ms. Allocated memory was 281.0MB in the beginning and 1.6GB in the end (delta: 1.3GB). Free memory was 238.6MB in the beginning and 857.8MB in the end (delta: -619.2MB). Peak memory consumption was 728.7MB. Max. memory is 8.0GB. [2024-04-03 22:33:57,977 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 179.3MB. Free memory is still 146.7MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 571.35ms. Allocated memory is still 281.0MB. Free memory was 204.4MB in the beginning and 170.1MB in the end (delta: 34.2MB). Peak memory consumption was 33.6MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 67.89ms. Allocated memory is still 281.0MB. Free memory was 169.8MB in the beginning and 166.6MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 35.25ms. Allocated memory is still 281.0MB. Free memory was 166.6MB in the beginning and 164.5MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 481.37ms. Allocated memory is still 281.0MB. Free memory was 164.5MB in the beginning and 240.1MB in the end (delta: -75.6MB). Peak memory consumption was 28.6MB. Max. memory is 8.0GB. * TraceAbstraction took 854914.11ms. Allocated memory was 281.0MB in the beginning and 1.6GB in the end (delta: 1.3GB). Free memory was 238.6MB in the beginning and 857.8MB in the end (delta: -619.2MB). Peak memory consumption was 728.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Independence relation #1 benchmarks ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 400967, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 18105, dependent conditional: 18080, dependent unconditional: 25, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 384516, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 1654, dependent conditional: 1654, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ ConditionTransformingIndependenceRelation.Independence Queries: [ total: 384516, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 1654, dependent conditional: 1654, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 384516, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 1654, dependent conditional: 1654, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 1330, independent unconditional: 381532, dependent: 5631, dependent conditional: 2277, dependent unconditional: 3354, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 4604, independent: 4387, independent conditional: 207, independent unconditional: 4180, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 4604, independent: 4367, independent conditional: 0, independent unconditional: 4367, dependent: 237, dependent conditional: 0, dependent unconditional: 237, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 599, independent: 44, independent conditional: 39, independent unconditional: 5, dependent: 555, dependent conditional: 408, dependent unconditional: 146, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 388493, independent: 378475, independent conditional: 686, independent unconditional: 377789, dependent: 5414, dependent conditional: 654, dependent unconditional: 4760, unknown: 4604, unknown conditional: 369, unknown unconditional: 4235] , Statistics on independence cache: Total cache size (in pairs): 4604, Positive cache size: 4387, Positive conditional cache size: 207, Positive unconditional cache size: 4180, Negative cache size: 217, Negative conditional cache size: 162, Negative unconditional cache size: 55, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 1898, Maximal queried relation: 4, ConditionTransformingIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 1330, independent unconditional: 381532, dependent: 5631, dependent conditional: 2277, dependent unconditional: 3354, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 4604, independent: 4387, independent conditional: 207, independent unconditional: 4180, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 4604, independent: 4367, independent conditional: 0, independent unconditional: 4367, dependent: 237, dependent conditional: 0, dependent unconditional: 237, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 599, independent: 44, independent conditional: 39, independent unconditional: 5, dependent: 555, dependent conditional: 408, dependent unconditional: 146, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 388493, independent: 378475, independent conditional: 686, independent unconditional: 377789, dependent: 5414, dependent conditional: 654, dependent unconditional: 4760, unknown: 4604, unknown conditional: 369, unknown unconditional: 4235] , Statistics on independence cache: Total cache size (in pairs): 4604, Positive cache size: 4387, Positive conditional cache size: 207, Positive unconditional cache size: 4180, Negative cache size: 217, Negative conditional cache size: 162, Negative unconditional cache size: 55, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 1898 ], Independence queries for same thread: 16451 - TimeoutResultAtElement [Line: 1060]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while ExplicitLhsPolynomialRelations was build 0 of 1 xjuncts. - TimeoutResultAtElement [Line: 1061]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while ExplicitLhsPolynomialRelations was build 0 of 1 xjuncts. - TimeoutResultAtElement [Line: 1064]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while ExplicitLhsPolynomialRelations was build 0 of 1 xjuncts. - TimeoutResultAtElement [Line: 1065]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while ExplicitLhsPolynomialRelations was build 0 of 1 xjuncts. - 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 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while ExplicitLhsPolynomialRelations was build 0 of 1 xjuncts. - 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 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while ExplicitLhsPolynomialRelations was build 0 of 1 xjuncts. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 5 procedures, 338 locations, 10 error locations. Started 1 CEGAR loops. OverallTime: 854.8s, OverallIterations: 5, TraceHistogramMax: 0, PathProgramHistogramMax: 1, EmptinessCheckTime: 471.5s, 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: 225, 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, 126.7s InterpolantComputationTime, 791 NumberOfCodeBlocks, 791 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 1056 ConstructedInterpolants, 129 QuantifiedInterpolants, 98781 SizeOfPredicates, 91 NumberOfNonLiveVariables, 689 ConjunctsInSsa, 206 ConjunctsInUnsatCore, 8 InterpolantComputations, 2 PerfectInterpolantSequences, 16/98 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 RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown