/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 NONE -tc ../benchexec/../../../trunk/examples/toolchains/AutomizerCInline.xml -i ../../../trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i -------------------------------------------------------------------------------- This is Ultimate 0.2.4-wip.dk.conditional-comm-17da818-m [2024-05-04 18:53:29,990 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-05-04 18:53:30,054 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf [2024-05-04 18:53:30,057 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-05-04 18:53:30,058 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-05-04 18:53:30,082 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-05-04 18:53:30,082 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-05-04 18:53:30,083 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-05-04 18:53:30,083 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-05-04 18:53:30,086 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-05-04 18:53:30,087 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-05-04 18:53:30,087 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-05-04 18:53:30,087 INFO L153 SettingsManager]: * Use SBE=true [2024-05-04 18:53:30,088 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-05-04 18:53:30,088 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-05-04 18:53:30,088 INFO L153 SettingsManager]: * sizeof long=4 [2024-05-04 18:53:30,089 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-05-04 18:53:30,089 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-05-04 18:53:30,089 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-05-04 18:53:30,110 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-05-04 18:53:30,111 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-05-04 18:53:30,111 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-05-04 18:53:30,111 INFO L153 SettingsManager]: * sizeof long double=12 [2024-05-04 18:53:30,111 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-05-04 18:53:30,112 INFO L153 SettingsManager]: * Use constant arrays=true [2024-05-04 18:53:30,112 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-05-04 18:53:30,112 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-05-04 18:53:30,112 INFO L153 SettingsManager]: * To the following directory=./dump/ [2024-05-04 18:53:30,112 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-05-04 18:53:30,112 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-05-04 18:53:30,113 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=SLEEP_NEW_STATES [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-05-04 18:53:30,114 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-05-04 18:53:30,115 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 -> NONE [2024-05-04 18:53:30,322 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-05-04 18:53:30,341 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-05-04 18:53:30,343 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-05-04 18:53:30,344 INFO L270 PluginConnector]: Initializing CDTParser... [2024-05-04 18:53:30,346 INFO L274 PluginConnector]: CDTParser initialized [2024-05-04 18:53:30,346 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i [2024-05-04 18:53:31,374 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-05-04 18:53:31,765 INFO L384 CDTParser]: Found 1 translation units. [2024-05-04 18:53:31,766 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i [2024-05-04 18:53:31,812 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/9cc4c0438/361e637bd56d44c0acf9a75521df417a/FLAG7fc410c6c [2024-05-04 18:53:31,854 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/9cc4c0438/361e637bd56d44c0acf9a75521df417a [2024-05-04 18:53:31,856 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-05-04 18:53:31,858 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-05-04 18:53:31,860 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-05-04 18:53:31,861 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-05-04 18:53:31,865 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-05-04 18:53:31,865 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.05 06:53:31" (1/1) ... [2024-05-04 18:53:31,866 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6f0e5807 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:31, skipping insertion in model container [2024-05-04 18:53:31,866 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.05 06:53:31" (1/1) ... [2024-05-04 18:53:31,960 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-05-04 18:53:32,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[39095,39108] [2024-05-04 18:53:32,415 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39180,39193] [2024-05-04 18:53:32,418 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39232,39245] [2024-05-04 18:53:32,472 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49388,49401] [2024-05-04 18:53:32,473 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49437,49450] [2024-05-04 18:53:32,475 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49565,49578] [2024-05-04 18:53:32,475 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49623,49636] [2024-05-04 18:53:32,481 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-05-04 18:53:32,491 INFO L202 MainTranslator]: Completed pre-run [2024-05-04 18:53:32,517 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39095,39108] [2024-05-04 18:53:32,518 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39180,39193] [2024-05-04 18:53:32,519 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39232,39245] [2024-05-04 18:53:32,525 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49388,49401] [2024-05-04 18:53:32,525 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49437,49450] [2024-05-04 18:53:32,526 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49565,49578] [2024-05-04 18:53:32,526 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49623,49636] [2024-05-04 18:53:32,538 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-05-04 18:53:32,585 INFO L206 MainTranslator]: Completed translation [2024-05-04 18:53:32,585 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32 WrapperNode [2024-05-04 18:53:32,585 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-05-04 18:53:32,586 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-05-04 18:53:32,586 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-05-04 18:53:32,586 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-05-04 18:53:32,591 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,611 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,632 INFO L138 Inliner]: procedures = 310, calls = 70, calls flagged for inlining = 10, calls inlined = 8, statements flattened = 211 [2024-05-04 18:53:32,633 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-05-04 18:53:32,633 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-05-04 18:53:32,633 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-05-04 18:53:32,633 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-05-04 18:53:32,640 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,641 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,643 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,644 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,710 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,714 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,716 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,717 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,719 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-05-04 18:53:32,720 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-05-04 18:53:32,720 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-05-04 18:53:32,720 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-05-04 18:53:32,721 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (1/1) ... [2024-05-04 18:53:32,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-05-04 18:53:32,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-04 18:53:32,754 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-05-04 18:53:32,756 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-05-04 18:53:32,811 INFO L130 BoogieDeclarations]: Found specification of procedure reader_two [2024-05-04 18:53:32,811 INFO L138 BoogieDeclarations]: Found implementation of procedure reader_two [2024-05-04 18:53:32,811 INFO L130 BoogieDeclarations]: Found specification of procedure writer_fn [2024-05-04 18:53:32,811 INFO L138 BoogieDeclarations]: Found implementation of procedure writer_fn [2024-05-04 18:53:32,811 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-05-04 18:53:32,811 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-05-04 18:53:32,811 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-05-04 18:53:32,812 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-05-04 18:53:32,812 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-05-04 18:53:32,812 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-05-04 18:53:32,812 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-05-04 18:53:32,812 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-05-04 18:53:32,812 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-05-04 18:53:32,813 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-05-04 18:53:32,814 WARN L213 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-05-04 18:53:32,959 INFO L241 CfgBuilder]: Building ICFG [2024-05-04 18:53:32,960 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2024-05-04 18:53:33,192 INFO L282 CfgBuilder]: Performing block encoding [2024-05-04 18:53:33,207 INFO L304 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-05-04 18:53:33,208 INFO L309 CfgBuilder]: Removed 6 assume(true) statements. [2024-05-04 18:53:33,209 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 04.05 06:53:33 BoogieIcfgContainer [2024-05-04 18:53:33,209 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-05-04 18:53:33,211 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-05-04 18:53:33,211 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-05-04 18:53:33,213 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-05-04 18:53:33,213 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 04.05 06:53:31" (1/3) ... [2024-05-04 18:53:33,213 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@26b0b8ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 04.05 06:53:33, skipping insertion in model container [2024-05-04 18:53:33,214 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.05 06:53:32" (2/3) ... [2024-05-04 18:53:33,214 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@26b0b8ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 04.05 06:53:33, skipping insertion in model container [2024-05-04 18:53:33,214 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 04.05 06:53:33" (3/3) ... [2024-05-04 18:53:33,215 INFO L112 eAbstractionObserver]: Analyzing ICFG ring_2w1r-1.i [2024-05-04 18:53:33,223 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2024-05-04 18:53:33,231 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-05-04 18:53:33,231 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2024-05-04 18:53:33,231 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-05-04 18:53:33,302 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-05-04 18:53:33,333 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-05-04 18:53:33,334 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-05-04 18:53:33,334 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-04 18:53:33,343 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-05-04 18:53:33,347 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2024-05-04 18:53:33,370 INFO L188 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-05-04 18:53:33,376 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-05-04 18:53:33,381 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;@69890735, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms], mConComChecker=NONE, mConComCheckerCriterion=DEFAULT, mConComCheckerLimitedChecksCriterion=false, mConComCheckerCriterionLimit=1, mConComCheckerRandomProb=100, mConComCheckerRandomSeed=123, mConComCheckerConditionCriterion=false [2024-05-04 18:53:33,381 INFO L358 AbstractCegarLoop]: Starting to check reachability of 10 error locations. [2024-05-04 18:53:33,855 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-04 18:53:33,860 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-04 18:53:33,860 INFO L85 PathProgramCache]: Analyzing trace with hash 538585321, now seen corresponding path program 1 times [2024-05-04 18:53:33,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-04 18:53:33,868 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1629971251] [2024-05-04 18:53:33,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 18:53:33,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-04 18:53:34,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 18:53:35,375 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-04 18:53:35,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-04 18:53:35,376 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1629971251] [2024-05-04 18:53:35,376 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1629971251] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-04 18:53:35,377 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-04 18:53:35,378 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2024-05-04 18:53:35,379 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [700146909] [2024-05-04 18:53:35,380 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-04 18:53:35,385 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2024-05-04 18:53:35,386 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-04 18:53:35,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2024-05-04 18:53:35,409 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=335, Unknown=0, NotChecked=0, Total=380 [2024-05-04 18:53:35,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:53:35,411 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-04 18:53:35,411 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 5.15) internal successors, (103), 20 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-04 18:53:35,412 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:53:39,480 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-04 18:53:39,481 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-05-04 18:53:39,481 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-04 18:53:39,482 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-04 18:53:39,482 INFO L85 PathProgramCache]: Analyzing trace with hash 1570529064, now seen corresponding path program 1 times [2024-05-04 18:53:39,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-04 18:53:39,482 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [304749662] [2024-05-04 18:53:39,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 18:53:39,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-04 18:53:39,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 18:53:39,596 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-05-04 18:53:39,597 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-04 18:53:39,597 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [304749662] [2024-05-04 18:53:39,597 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [304749662] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-04 18:53:39,597 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-04 18:53:39,597 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-05-04 18:53:39,597 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [50302106] [2024-05-04 18:53:39,597 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-04 18:53:39,598 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-04 18:53:39,598 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-04 18:53:39,599 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-04 18:53:39,599 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-04 18:53:39,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:53:39,601 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-04 18:53:39,601 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-05-04 18:53:39,601 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-04 18:53:39,601 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:53:40,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-04 18:53:40,107 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-04 18:53:40,107 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-05-04 18:53:40,107 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-05-04 18:53:40,108 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-04 18:53:40,108 INFO L85 PathProgramCache]: Analyzing trace with hash 388017180, now seen corresponding path program 1 times [2024-05-04 18:53:40,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-04 18:53:40,108 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1012563252] [2024-05-04 18:53:40,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 18:53:40,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-04 18:53:40,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 18:53:43,214 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-04 18:53:43,214 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-04 18:53:43,215 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1012563252] [2024-05-04 18:53:43,215 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1012563252] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-04 18:53:43,215 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [913625226] [2024-05-04 18:53:43,215 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 18:53:43,215 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-04 18:53:43,215 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-04 18:53:43,266 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-04 18:53:43,279 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-05-04 18:53:43,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 18:53:43,387 INFO L262 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 94 conjunts are in the unsatisfiable core [2024-05-04 18:53:43,396 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-04 18:53:43,429 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-05-04 18:53:43,446 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-05-04 18:53:43,446 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 14 [2024-05-04 18:53:43,461 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-05-04 18:53:43,462 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2024-05-04 18:53:43,495 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-05-04 18:53:43,554 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2024-05-04 18:53:43,648 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-05-04 18:53:44,039 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-05-04 18:53:44,842 INFO L349 Elim1Store]: treesize reduction 32, result has 31.9 percent of original size [2024-05-04 18:53:44,842 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 34 treesize of output 35 [2024-05-04 18:53:45,127 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 89 treesize of output 71 [2024-05-04 18:53:45,130 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 97 [2024-05-04 18:53:45,198 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-05-04 18:53:45,887 INFO L349 Elim1Store]: treesize reduction 22, result has 12.0 percent of original size [2024-05-04 18:53:45,887 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 101 treesize of output 55 [2024-05-04 18:53:45,956 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-04 18:53:45,956 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-04 18:53:48,763 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse0 (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse7 .cse1) 4) 4) (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 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))) (< 0 (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse3 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse2) (< (+ .cse2 3) 0)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse4 (select v_ArrVal_101 .cse1))) (or (not (= v_ArrVal_101 (store .cse0 .cse1 .cse4))) (< .cse4 1) (< 0 (let ((.cse5 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse5 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse5 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse4 4) (< 4 .cse4)))) (<= 1 (let ((.cse6 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#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-05-04 18:53:51,765 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-05-04 18:53:52,205 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-05-04 18:53:52,243 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-05-04 18:53:52,276 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-05-04 18:53:52,319 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-05-04 18:53:54,497 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-05-04 18:53:54,514 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-04 18:53:54,514 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 92 [2024-05-04 18:53:54,526 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-04 18:53:54,526 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-05-04 18:53:54,554 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-04 18:53:54,555 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-05-04 18:53:54,592 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-04 18:53:54,593 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-05-04 18:53:54,627 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-04 18:53:54,628 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-05-04 18:53:54,822 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-04 18:53:54,823 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-05-04 18:53:56,009 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-04 18:53:56,012 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-05-04 18:53:56,012 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 1 [2024-05-04 18:53:56,017 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-04 18:53:56,020 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-05-04 18:53:56,020 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 1 [2024-05-04 18:53:56,463 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 6 not checked. [2024-05-04 18:53:56,463 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [913625226] provided 0 perfect and 2 imperfect interpolant sequences [2024-05-04 18:53:56,463 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-05-04 18:53:56,463 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 33, 32] total 86 [2024-05-04 18:53:56,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1353226040] [2024-05-04 18:53:56,464 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-05-04 18:53:56,464 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 86 states [2024-05-04 18:53:56,465 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-04 18:53:56,466 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 86 interpolants. [2024-05-04 18:53:56,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=277, Invalid=5885, Unknown=28, NotChecked=1120, Total=7310 [2024-05-04 18:53:56,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:53:56,468 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-04 18:53:56,468 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-05-04 18:53:56,468 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-04 18:53:56,468 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2024-05-04 18:53:56,468 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:54:04,359 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse22 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse39 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse29 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse57 (+ (* (select .cse22 .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 .cse22 .cse57 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse28 (let ((.cse58 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse58 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse58 .cse29) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse22 .cse57 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse12 (let ((.cse56 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse56 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse56 .cse13) 4)) 1))) (.cse38 (let ((.cse55 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse55 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse55 .cse39) 4) 4) 1))) (.cse16 (let ((.cse54 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse54 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse54 .cse17) 4) 4) 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))) (< .cse14 1) (= .cse14 4) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 4 .cse14)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse18 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse18))) (< 0 (let ((.cse19 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse18) (< (+ .cse18 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse20 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse20))) (< .cse20 1) (< 0 (let ((.cse21 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse21 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse20 4) (< 4 .cse20)))) (= (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 .cse22 0) 0) (= |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))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse27 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse28 .cse29 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse27 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (= |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 ((.cse30 (select v_ArrVal_101 .cse5))) (or (< 4 .cse30) (< .cse30 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse30))) (< 0 (let ((.cse31 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse31 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse30 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse32 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse32))) (< (+ 3 .cse32) 0) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse32)))) (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 ((.cse34 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse34))) (< (+ .cse34 3) 0) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ (* (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse34)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse36 (select v_ArrVal_101 .cse39))) (or (< (+ 3 .cse36) 0) (< 0 .cse36) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ (* (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse38 .cse39 .cse36)))))) (<= 1 (select .cse22 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse40 (select v_ArrVal_101 .cse29))) (or (= .cse40 4) (not (= v_ArrVal_101 (store .cse28 .cse29 .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) (= |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 ((.cse42 (select v_ArrVal_101 .cse5))) (or (< 4 .cse42) (< .cse42 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse42))) (< 0 (let ((.cse43 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#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)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse44 (select v_ArrVal_101 .cse29))) (or (not (= v_ArrVal_101 (store .cse28 .cse29 .cse44))) (< 0 .cse44) (< 0 (let ((.cse45 (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 .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse44 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 ((.cse46 (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 .cse46 (+ (* (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse48 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse47 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse47 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse48))) (< .cse48 1) (< 4 .cse48) (= .cse48 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse38 .cse39 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)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse50 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse50 (+ (* (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse51 (select v_ArrVal_101 .cse39))) (or (< .cse51 1) (< 4 .cse51) (< 0 (let ((.cse52 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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 (= v_ArrVal_101 (store .cse38 .cse39 .cse51))) (= 4 .cse51)))) (<= 1 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 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)))))))) is different from false [2024-05-04 18:54:08,585 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse22 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse39 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse29 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse57 (+ (* (select .cse22 .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 .cse22 .cse57 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse28 (let ((.cse58 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse58 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse58 .cse29) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse22 .cse57 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse12 (let ((.cse56 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse56 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse56 .cse13) 4)) 1))) (.cse38 (let ((.cse55 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse55 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse55 .cse39) 4) 4) 1))) (.cse16 (let ((.cse54 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse54 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse54 .cse17) 4) 4) 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))) (< .cse14 1) (= .cse14 4) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 4 .cse14)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse18 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse18))) (< 0 (let ((.cse19 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse18) (< (+ .cse18 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse20 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse20))) (< .cse20 1) (< 0 (let ((.cse21 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse21 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse20 4) (< 4 .cse20)))) (= (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 .cse22 0) 0) (= |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))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse27 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse28 .cse29 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse27 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (= |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 ((.cse30 (select v_ArrVal_101 .cse5))) (or (< 4 .cse30) (< .cse30 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse30))) (< 0 (let ((.cse31 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse31 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse30 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse32 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse32))) (< (+ 3 .cse32) 0) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse32)))) (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 ((.cse34 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse34))) (< (+ .cse34 3) 0) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ (* (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse34)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse36 (select v_ArrVal_101 .cse39))) (or (< (+ 3 .cse36) 0) (< 0 .cse36) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ (* (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse38 .cse39 .cse36)))))) (<= 1 (select .cse22 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse40 (select v_ArrVal_101 .cse29))) (or (= .cse40 4) (not (= v_ArrVal_101 (store .cse28 .cse29 .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) (= |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 ((.cse42 (select v_ArrVal_101 .cse5))) (or (< 4 .cse42) (< .cse42 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse42))) (< 0 (let ((.cse43 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#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)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse44 (select v_ArrVal_101 .cse29))) (or (not (= v_ArrVal_101 (store .cse28 .cse29 .cse44))) (< 0 .cse44) (< 0 (let ((.cse45 (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 .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse44 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 ((.cse46 (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 .cse46 (+ (* (select .cse46 |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 ((.cse48 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse47 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse47 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse48))) (< .cse48 1) (< 4 .cse48) (= .cse48 4)))) (<= 1 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse38 .cse39 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)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse50 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse50 (+ (* (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse51 (select v_ArrVal_101 .cse39))) (or (< .cse51 1) (< 4 .cse51) (< 0 (let ((.cse52 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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 (= v_ArrVal_101 (store .cse38 .cse39 .cse51))) (= 4 .cse51)))) (<= 1 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 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)))))))) is different from false [2024-05-04 18:54:12,958 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse22 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse39 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse29 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse57 (+ (* (select .cse22 .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 .cse22 .cse57 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse28 (let ((.cse58 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse58 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse58 .cse29) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse22 .cse57 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse12 (let ((.cse56 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse56 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse56 .cse13) 4)) 1))) (.cse38 (let ((.cse55 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse55 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse55 .cse39) 4) 4) 1))) (.cse16 (let ((.cse54 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse54 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse54 .cse17) 4) 4) 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))) (< .cse14 1) (= .cse14 4) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 4 .cse14)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse18 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse18))) (< 0 (let ((.cse19 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse18) (< (+ .cse18 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |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 ((.cse20 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse20))) (< .cse20 1) (< 0 (let ((.cse21 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse21 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse20 4) (< 4 .cse20)))) (= (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 .cse22 0) 0) (= |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))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse27 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse28 .cse29 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse27 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (= |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 ((.cse30 (select v_ArrVal_101 .cse5))) (or (< 4 .cse30) (< .cse30 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse30))) (< 0 (let ((.cse31 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse31 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse30 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse32 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse32))) (< (+ 3 .cse32) 0) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse32)))) (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 ((.cse34 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse34))) (< (+ .cse34 3) 0) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ (* (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse34)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse36 (select v_ArrVal_101 .cse39))) (or (< (+ 3 .cse36) 0) (< 0 .cse36) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ (* (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse38 .cse39 .cse36)))))) (<= 1 (select .cse22 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse40 (select v_ArrVal_101 .cse29))) (or (= .cse40 4) (not (= v_ArrVal_101 (store .cse28 .cse29 .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) (= |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 ((.cse42 (select v_ArrVal_101 .cse5))) (or (< 4 .cse42) (< .cse42 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse42))) (< 0 (let ((.cse43 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#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)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse44 (select v_ArrVal_101 .cse29))) (or (not (= v_ArrVal_101 (store .cse28 .cse29 .cse44))) (< 0 .cse44) (< 0 (let ((.cse45 (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 .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse44 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 ((.cse46 (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 .cse46 (+ (* (select .cse46 |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 ((.cse48 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse47 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse47 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse48))) (< .cse48 1) (< 4 .cse48) (= .cse48 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse38 .cse39 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)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse50 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse50 (+ (* (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse51 (select v_ArrVal_101 .cse39))) (or (< .cse51 1) (< 4 .cse51) (< 0 (let ((.cse52 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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 (= v_ArrVal_101 (store .cse38 .cse39 .cse51))) (= 4 .cse51)))) (<= 1 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 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)))))))) is different from false [2024-05-04 18:54:41,175 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse47 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse41 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20)) (.cse9 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse31 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse61 (+ (* (select .cse47 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse27 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse27 0) 0)) (.cse11 (store .cse47 .cse61 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse22 (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0)) (.cse23 (= (select .cse47 0) 0)) (.cse28 (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse42 (<= 1 (select .cse47 4))) (.cse30 (let ((.cse62 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse62 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse62 .cse31) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse47 .cse61 |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|)) (.cse2 (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) (.cse12 (let ((.cse60 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse60 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse60 .cse13) 4)) 1))) (.cse40 (let ((.cse59 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse59 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse59 .cse41) 4) 4) 1))) (.cse16 (let ((.cse58 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse58 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse58 .cse17) 4) 4) 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))) (< .cse14 1) (= .cse14 4) (< 0 (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse15 (+ (* (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 4 .cse14)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse18 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse18))) (< 0 (let ((.cse19 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse19 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse18) (< (+ .cse18 3) 0)))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |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 ((.cse20 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse20))) (< .cse20 1) (< 0 (let ((.cse21 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse21 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse20 4) (< 4 .cse20)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) .cse22 .cse23 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse24 (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 .cse24 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse25 (select .cse27 20)) (.cse26 (= (select .cse27 4) 1))) (or (and .cse8 (= 0 .cse25) .cse26) (and .cse8 (<= 1 .cse25) (<= .cse25 3) .cse26) (and .cse8 (<= (+ 1 .cse25) 0) (<= 0 (+ 3 .cse25)) .cse26))) .cse28 (<= 1 (let ((.cse29 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse30 .cse31 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse29 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse29 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|) (= |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 ((.cse32 (select v_ArrVal_101 .cse5))) (or (< 4 .cse32) (< .cse32 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse32))) (< 0 (let ((.cse33 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse33 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse33 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse32 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse34 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse34))) (< (+ 3 .cse34) 0) (< 0 (let ((.cse35 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse35 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse34)))) (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 ((.cse36 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse36))) (< (+ .cse36 3) 0) (< 0 (let ((.cse37 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse37 (+ (* (select .cse37 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse36)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse38 (select v_ArrVal_101 .cse41))) (or (< (+ 3 .cse38) 0) (< 0 .cse38) (< 0 (let ((.cse39 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse39 (+ (* (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse40 .cse41 .cse38)))))) .cse42 (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse43 (select v_ArrVal_101 .cse31))) (or (= .cse43 4) (not (= v_ArrVal_101 (store .cse30 .cse31 .cse43))) (< .cse43 1) (< 4 .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))))))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (= |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 ((.cse45 (select v_ArrVal_101 .cse5))) (or (< 4 .cse45) (< .cse45 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse45))) (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#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)))) (= .cse45 4)))) (or (= 0 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (and .cse22 .cse23 .cse28 .cse42 (= (select .cse47 20) 0))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse48 (select v_ArrVal_101 .cse31))) (or (not (= v_ArrVal_101 (store .cse30 .cse31 .cse48))) (< 0 .cse48) (< 0 (let ((.cse49 (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 .cse49 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse48 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 ((.cse50 (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 .cse50 (+ (* (select .cse50 |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 ((.cse52 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse51 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse51 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse52))) (< .cse52 1) (< 4 .cse52) (= .cse52 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse53 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse40 .cse41 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)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse54 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse54 (+ (* (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse55 (select v_ArrVal_101 .cse41))) (or (< .cse55 1) (< 4 .cse55) (< 0 (let ((.cse56 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |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)))) (not (= v_ArrVal_101 (store .cse40 .cse41 .cse55))) (= 4 .cse55)))) (<= 1 (let ((.cse57 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse57 (+ (* (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-05-04 18:54:44,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-04 18:54:44,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-04 18:54:44,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 82 states. [2024-05-04 18:54:44,359 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-05-04 18:54:44,558 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-05-04 18:54:44,559 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-05-04 18:54:44,562 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-04 18:54:44,562 INFO L85 PathProgramCache]: Analyzing trace with hash 250164921, now seen corresponding path program 1 times [2024-05-04 18:54:44,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-04 18:54:44,562 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1397260273] [2024-05-04 18:54:44,562 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 18:54:44,562 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-04 18:54:44,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 18:54:47,171 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-04 18:54:47,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-04 18:54:47,172 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1397260273] [2024-05-04 18:54:47,172 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1397260273] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-04 18:54:47,174 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [372729604] [2024-05-04 18:54:47,174 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 18:54:47,174 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-04 18:54:47,174 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-04 18:54:47,175 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-04 18:54:47,177 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-05-04 18:54:47,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 18:54:47,347 INFO L262 TraceCheckSpWp]: Trace formula consists of 345 conjuncts, 112 conjunts are in the unsatisfiable core [2024-05-04 18:54:47,356 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-04 18:54:47,364 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-05-04 18:54:47,378 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-05-04 18:54:47,378 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 14 [2024-05-04 18:54:47,410 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-05-04 18:54:47,412 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2024-05-04 18:54:47,457 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-05-04 18:54:47,477 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 11 [2024-05-04 18:54:47,524 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-04 18:54:47,743 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-05-04 18:54:48,469 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-05-04 18:54:48,486 INFO L349 Elim1Store]: treesize reduction 21, result has 34.4 percent of original size [2024-05-04 18:54:48,486 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-05-04 18:54:48,666 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-05-04 18:54:48,670 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 85 [2024-05-04 18:54:48,768 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-05-04 18:54:48,785 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-05-04 18:54:50,104 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-04 18:54:50,104 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 95 treesize of output 43 [2024-05-04 18:54:50,295 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-04 18:54:50,296 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-04 18:56:32,391 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-04 18:56:32,391 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [372729604] provided 0 perfect and 2 imperfect interpolant sequences [2024-05-04 18:56:32,391 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-05-04 18:56:32,391 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 39, 31] total 82 [2024-05-04 18:56:32,391 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [72208511] [2024-05-04 18:56:32,391 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-05-04 18:56:32,392 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 82 states [2024-05-04 18:56:32,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-04 18:56:32,393 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 82 interpolants. [2024-05-04 18:56:32,396 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=385, Invalid=6253, Unknown=4, NotChecked=0, Total=6642 [2024-05-04 18:56:32,396 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:56:32,396 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-05-04 18:56:32,396 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-05-04 18:56:32,396 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-05-04 18:56:32,396 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2024-05-04 18:56:32,396 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 82 states. [2024-05-04 18:56:32,396 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-05-04 18:57:31,474 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-05-04 18:57:33,442 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-05-04 18:57:40,207 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-05-04 18:58:03,942 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.15s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 18:58:07,147 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-05-04 18:58:09,111 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-05-04 18:58:10,167 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 18:58:11,599 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.27s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 18:58:13,389 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.73s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 18:58:15,458 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.07s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 18:58:19,459 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-05-04 18:58:23,619 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-05-04 18:58:28,225 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-05-04 18:58:32,507 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-05-04 18:58:35,767 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-05-04 18:58:39,730 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-05-04 18:58:47,974 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.90s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 18:58:48,982 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-05-04 18:59:15,570 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-05-04 18:59:19,222 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-05-04 18:59:21,477 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-05-04 18:59:25,020 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-05-04 19:00:03,290 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:00:04,496 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.17s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:00:35,696 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:00:42,664 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:00:48,830 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-05-04 19:00:50,115 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.26s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:00:51,278 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-05-04 19:00:54,246 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-05-04 19:01:00,412 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:07,763 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:09,058 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.29s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:11,477 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-05-04 19:01:12,930 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.35s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:15,037 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:16,922 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.88s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:21,734 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-05-04 19:01:30,663 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.00s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:31,793 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:34,431 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:37,943 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.84s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:39,672 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.54s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:41,025 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:01:50,295 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-05-04 19:02:06,010 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-05-04 19:02:07,185 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:08,884 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.70s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:11,814 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:13,051 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:18,805 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.03s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:20,843 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-05-04 19:02:22,928 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:25,590 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:50,767 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:51,890 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:53,903 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:02:55,244 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-05-04 19:02:58,200 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-05-04 19:03:01,129 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:06,027 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.00s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:11,844 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:13,962 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-05-04 19:03:16,747 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.91s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:18,532 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.15s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:22,250 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.75s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:34,034 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.45s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:37,864 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-05-04 19:03:39,743 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:46,425 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.29s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:03:47,679 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:04:03,773 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:04:05,847 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:04:07,401 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.41s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:04:20,712 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-05-04 19:04:23,456 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.70s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:04:29,005 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-05-04 19:04:31,369 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.33s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-05-04 19:04:31,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-05-04 19:04:31,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-04 19:04:31,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 84 states. [2024-05-04 19:04:31,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 109 states. [2024-05-04 19:04:31,537 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-05-04 19:04:31,730 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-05-04 19:04:31,731 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-05-04 19:04:31,731 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-04 19:04:31,731 INFO L85 PathProgramCache]: Analyzing trace with hash 330082998, now seen corresponding path program 1 times [2024-05-04 19:04:31,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-04 19:04:31,731 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [725224754] [2024-05-04 19:04:31,731 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 19:04:31,732 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-04 19:04:31,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 19:04:34,463 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 75 proven. 12 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2024-05-04 19:04:34,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-04 19:04:34,464 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [725224754] [2024-05-04 19:04:34,464 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [725224754] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-04 19:04:34,464 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1010048080] [2024-05-04 19:04:34,464 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-04 19:04:34,464 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-04 19:04:34,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-05-04 19:04:34,469 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-04 19:04:34,470 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-05-04 19:04:34,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-04 19:04:34,630 INFO L262 TraceCheckSpWp]: Trace formula consists of 503 conjuncts, 163 conjunts are in the unsatisfiable core [2024-05-04 19:04:34,636 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-04 19:04:37,407 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-04 19:04:37,504 INFO L349 Elim1Store]: treesize reduction 26, result has 49.0 percent of original size [2024-05-04 19:04:37,505 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-05-04 19:04:38,215 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-05-04 19:04:38,274 INFO L349 Elim1Store]: treesize reduction 61, result has 26.5 percent of original size [2024-05-04 19:04:38,274 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-05-04 19:04:38,673 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-04 19:04:38,676 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-05-04 19:04:38,754 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-05-04 19:04:38,813 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-05-04 19:04:47,604 INFO L349 Elim1Store]: treesize reduction 90, result has 29.7 percent of original size [2024-05-04 19:04:47,605 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-05-04 19:04:48,595 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-05-04 19:04:48,659 INFO L349 Elim1Store]: treesize reduction 61, result has 26.5 percent of original size [2024-05-04 19:04:48,660 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-05-04 19:04:48,899 INFO L349 Elim1Store]: treesize reduction 20, result has 54.5 percent of original size [2024-05-04 19:04:48,899 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-05-04 19:04:53,033 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 84 proven. 16 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-05-04 19:04:53,034 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-04 19:07:24,242 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse28 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse29 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse9 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 0)))) (let ((.cse10 (select .cse9 |c_ULTIMATE.start_writer_fn_~r~1#1.base|)) (.cse12 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (let ((.cse138 (select .cse10 .cse12))) (let ((.cse161 (+ .cse138 1)) (.cse4 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse5 (select (select .cse9 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse3 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse8 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse11 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse138 4) 4))) (let ((.cse22 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse13 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse275 (store .cse10 .cse11 v_ArrVal_237))) (let ((.cse272 (+ 1 (select .cse275 .cse12)))) (let ((.cse273 (store .cse9 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse275 .cse12 (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 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse271 (select .cse270 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse270 (+ (* .cse271 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< .cse272 0) (= (select .cse270 .cse3) .cse271) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (not (= .cse5 (select (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3))))))))))) (.cse15 (select .cse10 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse247 (mod .cse161 4))) (let ((.cse0 (= .cse247 0)) (.cse23 (select .cse28 .cse29)) (.cse93 (= .cse247 .cse15)) (.cse94 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse264 (store .cse10 .cse11 v_ArrVal_237))) (let ((.cse260 (select .cse264 .cse12))) (let ((.cse258 (mod (+ 1 .cse260) 4))) (let ((.cse259 (store .cse9 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse264 .cse12 (+ (- 4) .cse258))))) (let ((.cse261 (select (store .cse259 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse263 (select .cse259 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse263 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse263 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse262 (select .cse261 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse258 0) (not (= (select (select .cse259 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) .cse5)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ 2 .cse260)) (< 0 (select .cse261 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse262 4) 4))) (= .cse262 (select .cse261 .cse3)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse268 (store .cse10 .cse11 v_ArrVal_237))) (let ((.cse267 (store .cse9 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse268 .cse12 0)))) (let ((.cse265 (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| 4 (* (select .cse269 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse266 (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse265 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse266 4) 4))) (= .cse266 (select .cse265 .cse3)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (not (= .cse5 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3))) (not (= (mod (+ 1 (select .cse268 .cse12)) 4) 0)))))))) .cse13)) (.cse14 (not (= (select (select .cse9 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (.cse170 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse251 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse253 (select .cse251 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse254 (select .cse253 .cse12))) (let ((.cse257 (store .cse253 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse254 4)) v_ArrVal_237))) (let ((.cse255 (select .cse257 .cse12))) (let ((.cse250 (mod (+ .cse255 1) 4))) (let ((.cse252 (store .cse251 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse257 .cse12 (+ (- 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 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse249 (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse248 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse249 4) 4))) (= (select .cse248 .cse3) .cse249) (= v_z_32 3) (= .cse250 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse251 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse253 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse254 1) 4)) (< 3 v_z_32) (< 0 (+ .cse255 2)))))))))))))) (.cse95 (= .cse247 (+ .cse15 4)))) (and (or (not .cse0) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse6 (store .cse9 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse10 .cse11 v_ArrVal_237) .cse12 0)))) (let ((.cse1 (select (store .cse6 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse7 (select .cse6 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse7 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse1 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse2 4) 4))) (= .cse2 (select .cse1 .cse3)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (not (= .cse5 (select (select .cse6 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3)))))))) .cse13) .cse14 (= .cse15 0)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse18 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse24 (select .cse18 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse26 (select .cse24 .cse12))) (let ((.cse25 (store .cse24 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse26 4) 4) v_ArrVal_237))) (let ((.cse17 (store .cse18 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse25 .cse12 0)))) (let ((.cse19 (select (store .cse17 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse27 (select .cse17 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse27 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse27 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse20 (select .cse19 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse21 (* v_y_33 4)) (.cse16 (+ .cse26 1))) (or (< .cse16 0) (not (= (select (select .cse17 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_33 3) (= (select .cse19 .cse3) .cse20) (< 0 (select .cse19 (+ (* .cse20 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse21 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse18 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< (+ .cse21 v_z_33) .cse23) (= (mod .cse16 4) (select .cse24 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (mod (+ (select .cse25 .cse12) 1) 4) 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse35 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse38 (select .cse35 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse39 (select .cse38 .cse12))) (let ((.cse41 (store .cse38 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse39 4) 4) v_ArrVal_237))) (let ((.cse37 (select .cse41 .cse12))) (let ((.cse31 (mod (+ .cse37 1) 4))) (let ((.cse34 (store .cse35 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse41 .cse12 (+ (- 4) .cse31))))) (let ((.cse32 (select (store .cse34 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse40 (select .cse34 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse40 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse40 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse36 (* v_y_33 4)) (.cse30 (+ .cse39 1))) (or (< .cse30 0) (= .cse31 0) (< 0 (select .cse32 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse33 4) 4))) (= v_z_33 3) (not (= (select (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse36 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse35 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (= .cse33 (select .cse32 .cse3)) (< (+ .cse36 v_z_33) .cse23) (< 0 (+ 2 .cse37)) (= (mod .cse30 4) (select .cse38 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse46 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse48 (select .cse46 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse49 (select .cse48 .cse12))) (let ((.cse44 (store .cse48 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse49 4)) v_ArrVal_237))) (let ((.cse45 (store .cse46 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse44 .cse12 0)))) (let ((.cse43 (select (store .cse45 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse50 (select .cse45 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse50 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse50 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse47 (+ .cse49 1)) (.cse42 (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse42 (select .cse43 .cse3)) (not (= (mod (+ (select .cse44 .cse12) 1) 4) 0)) (not (= (select (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse46 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< .cse47 0) (= (select .cse48 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse47 4)) (< 3 v_z_32) (< 0 (select .cse43 (+ (* .cse42 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse54 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse57 (select .cse54 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse56 (select .cse57 .cse12))) (let ((.cse60 (store .cse57 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse56 4) 4) v_ArrVal_237))) (let ((.cse58 (+ (select .cse60 .cse12) 1))) (let ((.cse55 (store .cse54 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse60 .cse12 (mod .cse58 4))))) (let ((.cse51 (select (store .cse55 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse59 (select .cse55 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse59 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse59 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse53 (* v_y_33 4)) (.cse52 (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse51 (+ (* 4 .cse52) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= v_z_33 3) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse53 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse54 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< (+ .cse53 v_z_33) .cse23) (not (= (select (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (mod (+ .cse56 1) 4) (select .cse57 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse58 0) (= (select .cse51 .cse3) .cse52))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse63 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse66 (select .cse63 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse67 (select .cse66 .cse12))) (let ((.cse69 (store .cse66 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse67 4)) v_ArrVal_237))) (let ((.cse65 (+ (select .cse69 .cse12) 1))) (let ((.cse64 (store .cse63 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse69 .cse12 (mod .cse65 4))))) (let ((.cse61 (select (store .cse64 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse68 (select .cse64 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse68 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse68 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse62 (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse61 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse62 4) 4))) (= .cse62 (select .cse61 .cse3)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse63 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse64 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse63 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse65 0) (= (select .cse66 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse67 1) 4) 0)) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse76 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse79 (select .cse76 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse80 (select .cse79 .cse12))) (let ((.cse82 (store .cse79 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse80 4) 4) v_ArrVal_237))) (let ((.cse78 (select .cse82 .cse12))) (let ((.cse70 (mod (+ .cse78 1) 4))) (let ((.cse75 (store .cse76 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse82 .cse12 (+ (- 4) .cse70))))) (let ((.cse73 (select (store .cse75 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse81 (select .cse75 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse81 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse81 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse74 (select .cse73 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse77 (* v_y_33 4)) (.cse71 (mod (+ .cse80 1) 4)) (.cse72 (select .cse79 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse70 0) (= .cse71 (+ 4 .cse72)) (< 0 (select .cse73 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse74 4) 4))) (= v_z_33 3) (not (= (select (select .cse75 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse76 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse77 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse76 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (= .cse74 (select .cse73 .cse3)) (< (+ .cse77 v_z_33) .cse23) (< 0 (+ 2 .cse78)) (= .cse71 .cse72)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| 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 .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse89 (select .cse87 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse85 (select .cse89 .cse12))) (let ((.cse92 (store .cse89 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse85 4) 4) v_ArrVal_237))) (let ((.cse90 (+ (select .cse92 .cse12) 1))) (let ((.cse88 (store .cse87 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse92 .cse12 (mod .cse90 4))))) (let ((.cse83 (select (store .cse88 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse91 (select .cse88 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse91 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse91 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse86 (* v_y_33 4)) (.cse84 (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse83 (+ (* 4 .cse84) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= v_z_33 3) (not (= (mod (+ .cse85 1) 4) 0)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse86 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse87 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< (+ .cse86 v_z_33) .cse23) (not (= (select (select .cse88 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse87 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= 0 (select .cse89 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse90 0) (= (select .cse83 .cse3) .cse84))))))))))) (or .cse93 .cse94 .cse14 .cse95) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse101 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse104 (select .cse101 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse105 (select .cse104 .cse12))) (let ((.cse107 (store .cse104 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse105 4) 4) v_ArrVal_237))) (let ((.cse103 (+ (select .cse107 .cse12) 1))) (let ((.cse102 (store .cse101 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse107 .cse12 (mod .cse103 4))))) (let ((.cse96 (select (store .cse102 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse106 (select .cse102 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse106 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse106 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse100 (* v_y_33 4)) (.cse98 (mod (+ .cse105 1) 4)) (.cse99 (select .cse104 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse97 (select .cse96 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse96 (+ (* 4 .cse97) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse98 (+ 4 .cse99)) (= v_z_33 3) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse100 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse101 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< (+ .cse100 v_z_33) .cse23) (not (= (select (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse101 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse98 .cse99) (< .cse103 0) (= (select .cse96 .cse3) .cse97))))))))))) (or (let ((.cse108 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse133 (store .cse9 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse137 (store .cse10 .cse11 v_ArrVal_237))) (store .cse137 .cse12 (+ (- 4) (mod (+ 1 (select .cse137 .cse12)) 4))))))) (let ((.cse134 (select (store .cse133 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse136 (select .cse133 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse136 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse136 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse135 (select .cse134 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse133 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) .cse5)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (select .cse134 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse135 4) 4))) (= .cse135 (select .cse134 .cse3))))))))) (and (or .cse108 .cse14 .cse0 .cse95) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse113 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse112 (select .cse113 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse115 (select .cse112 .cse12))) (let ((.cse114 (store .cse113 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse117 (store .cse112 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse115 4)) v_ArrVal_237))) (store .cse117 .cse12 (+ (- 4) (mod (+ (select .cse117 .cse12) 1) 4))))))) (let ((.cse109 (select (store .cse114 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse116 (select .cse114 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse116 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse116 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse111 (mod (+ .cse115 1) 4)) (.cse110 (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse109 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse110 4) 4))) (= .cse111 0) (= (+ (select .cse112 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse111) (= (select .cse109 .cse3) .cse110) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse113 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse113 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse122 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse120 (select .cse122 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse121 (select .cse120 .cse12))) (let ((.cse123 (store .cse122 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse125 (store .cse120 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse121 4)) v_ArrVal_237))) (store .cse125 .cse12 (+ (- 4) (mod (+ (select .cse125 .cse12) 1) 4))))))) (let ((.cse118 (select (store .cse123 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse124 (select .cse123 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse124 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse124 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse119 (select .cse118 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse118 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse119 4) 4))) (= (+ (select .cse120 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse121 1) 4)) (= (select .cse118 .cse3) .cse119) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse122 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse123 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse122 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse128 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse129 (store .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse131 (let ((.cse132 (select .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse132 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* (select .cse132 .cse12) 4)) v_ArrVal_237)))) (store .cse131 .cse12 (+ (- 4) (mod (+ (select .cse131 .cse12) 1) 4))))))) (let ((.cse126 (select (store .cse129 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse130 (select .cse129 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse130 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse130 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse127 (select .cse126 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse126 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse127 4) 4))) (= (select .cse126 .cse3) .cse127) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse128 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse129 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse128 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))) (or .cse108 .cse14)) .cse95)) .cse0))) (< 0 (+ 2 .cse138))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse143 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse147 (select .cse143 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse146 (select .cse147 .cse12))) (let ((.cse149 (store .cse147 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse146 4)) v_ArrVal_237))) (let ((.cse145 (+ (select .cse149 .cse12) 1))) (let ((.cse144 (store .cse143 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse149 .cse12 (mod .cse145 4))))) (let ((.cse139 (select (store .cse144 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse148 (select .cse144 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse148 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse148 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse140 (select .cse139 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse141 (select .cse147 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse142 (mod (+ .cse146 1) 4))) (or (< 0 (select .cse139 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse140 4) 4))) (= (+ .cse141 4) .cse142) (= .cse140 (select .cse139 .cse3)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse143 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse145 0) (= .cse141 .cse142) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse153 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse158 (select .cse153 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse159 (select .cse158 .cse12))) (let ((.cse157 (store .cse158 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse159 4) 4) v_ArrVal_237))) (let ((.cse152 (store .cse153 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse157 .cse12 0)))) (let ((.cse154 (select (store .cse152 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse160 (select .cse152 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse160 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse155 (select .cse154 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse156 (* v_y_33 4)) (.cse150 (mod (+ .cse159 1) 4)) (.cse151 (select .cse158 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse150 (+ 4 .cse151)) (not (= (select (select .cse152 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse153 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_33 3) (= (select .cse154 .cse3) .cse155) (< 0 (select .cse154 (+ (* .cse155 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse156 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse153 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< (+ .cse156 v_z_33) .cse23) (= .cse150 .cse151) (not (= (mod (+ (select .cse157 .cse12) 1) 4) 0))))))))))) (or (< .cse161 0) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse166 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse167 (select .cse166 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse168 (select .cse167 .cse12))) (let ((.cse164 (store .cse167 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse168 4)) v_ArrVal_237))) (let ((.cse165 (store .cse166 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse164 .cse12 0)))) (let ((.cse163 (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| (* 4 (select .cse169 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse162 (select .cse163 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse162 (select .cse163 .cse3)) (not (= (mod (+ (select .cse164 .cse12) 1) 4) 0)) (not (= (select (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse166 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (= (select .cse167 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse168 1) 4)) (< 3 v_z_32) (< 0 (select .cse163 (+ (* .cse162 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))))))) .cse170 (or .cse93 .cse94 .cse14))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse172 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse177 (select .cse172 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse175 (select .cse177 .cse12))) (let ((.cse171 (store .cse172 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse177 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse175 4) 4) v_ArrVal_237) .cse12 0)))) (let ((.cse173 (select (store .cse171 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse178 (select .cse171 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse178 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse178 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse174 (select .cse173 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse176 (* v_y_33 4))) (or (not (= (select (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse172 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_33 3) (= (select .cse173 .cse3) .cse174) (not (= (mod (+ .cse175 1) 4) 0)) (< 0 (select .cse173 (+ (* .cse174 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse176 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse172 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< (+ .cse176 v_z_33) .cse23) (= 0 (select .cse177 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse185 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse187 (select .cse185 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse186 (select .cse187 .cse12))) (let ((.cse183 (store .cse187 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse186 4)) v_ArrVal_237))) (let ((.cse184 (store .cse185 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse183 .cse12 0)))) (let ((.cse180 (select (store .cse184 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse188 (select .cse184 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse188 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse181 (select .cse187 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse182 (mod (+ .cse186 1) 4)) (.cse179 (select .cse180 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse179 (select .cse180 .cse3)) (= (+ .cse181 4) .cse182) (not (= (mod (+ (select .cse183 .cse12) 1) 4) 0)) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse185 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (= .cse181 .cse182) (< 3 v_z_32) (< 0 (select .cse180 (+ (* .cse179 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse192 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse193 (select .cse192 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse194 (select .cse193 .cse12))) (let ((.cse191 (store .cse192 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse193 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse194 4)) v_ArrVal_237) .cse12 0)))) (let ((.cse190 (select (store .cse191 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse195 (select .cse191 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse195 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse195 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse189 (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse189 (select .cse190 .cse3)) (not (= (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse192 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (= (select .cse193 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse194 1) 4) 0)) (< 3 v_z_32) (< 0 (select .cse190 (+ (* .cse189 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse202 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_33 (- 3)))))) (let ((.cse198 (select .cse202 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse197 (select .cse198 .cse12))) (let ((.cse205 (store .cse198 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse197 4) 4) v_ArrVal_237))) (let ((.cse196 (mod (+ (select .cse205 .cse12) 1) 4))) (let ((.cse201 (store .cse202 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse205 .cse12 (+ (- 4) .cse196))))) (let ((.cse199 (select (store .cse201 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse204 (select .cse201 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse204 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse204 .cse8) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse200 (select .cse199 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse203 (* v_y_33 4))) (or (= .cse196 0) (= (mod (+ .cse197 1) 4) (+ 4 (select .cse198 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (< 0 (select .cse199 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse200 4) 4))) (= v_z_33 3) (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse197 2)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< 0 (+ .cse203 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse202 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (= .cse200 (select .cse199 .cse3)) (< (+ .cse203 v_z_33) .cse23))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse211 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse215 (select .cse211 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse214 (select .cse215 .cse12))) (let ((.cse217 (store .cse215 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse214 4)) v_ArrVal_237))) (let ((.cse213 (select .cse217 .cse12))) (let ((.cse210 (mod (+ .cse213 1) 4))) (let ((.cse212 (store .cse211 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse217 .cse12 (+ (- 4) .cse210))))) (let ((.cse206 (select (store .cse212 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse216 (select .cse212 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse216 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse216 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse207 (select .cse206 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse208 (select .cse215 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse209 (mod (+ .cse214 1) 4))) (or (< 0 (select .cse206 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse207 4) 4))) (= (+ .cse208 4) .cse209) (= (select .cse206 .cse3) .cse207) (= v_z_32 3) (= .cse210 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse211 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse208 .cse209) (< 3 v_z_32) (< 0 (+ .cse213 2))))))))))))) (or .cse93 (and (or .cse94 .cse14) .cse170) .cse95) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse220 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse223 (select .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse224 (select .cse223 .cse12))) (let ((.cse226 (store .cse223 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse224 4)) v_ArrVal_237))) (let ((.cse222 (+ (select .cse226 .cse12) 1))) (let ((.cse221 (store .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse226 .cse12 (mod .cse222 4))))) (let ((.cse218 (select (store .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse225 (select .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse225 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse225 .cse8) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse219 (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse218 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse219 4) 4))) (= .cse219 (select .cse218 .cse3)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse220 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse221 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse220 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse222 0) (= (select .cse223 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse224 1) 4)) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse231 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse230 (select .cse231 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse233 (select .cse230 .cse12))) (let ((.cse232 (store .cse231 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse235 (store .cse230 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse233 4)) v_ArrVal_237))) (store .cse235 .cse12 (+ (- 4) (mod (+ (select .cse235 .cse12) 1) 4))))))) (let ((.cse227 (select (store .cse232 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse234 (select .cse232 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse234 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse234 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse229 (mod (+ .cse233 1) 4)) (.cse228 (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse227 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse228 4) 4))) (= .cse229 0) (= (+ (select .cse230 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse229) (= (select .cse227 .cse3) .cse228) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse231 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (not (= (select (select .cse232 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse231 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32) (< 0 (+ 2 .cse233)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse239 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse28 .cse29 (+ v_z_32 1))))) (let ((.cse242 (select .cse239 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse244 (select .cse242 .cse12))) (let ((.cse246 (store .cse242 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse244 4)) v_ArrVal_237))) (let ((.cse243 (select .cse246 .cse12))) (let ((.cse238 (mod (+ .cse243 1) 4))) (let ((.cse241 (store .cse239 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse246 .cse12 (+ (- 4) .cse238))))) (let ((.cse236 (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 .cse8)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse237 (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse240 (+ .cse244 1))) (or (< 0 (select .cse236 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse237 4) 4))) (= (select .cse236 .cse3) .cse237) (= v_z_32 3) (= .cse238 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse4) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse239 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse22))) (< .cse240 0) (not (= (select (select .cse241 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse3) (select (select .cse239 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse242 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse240 4)) (< 3 v_z_32) (< 0 (+ .cse243 2))))))))))))))))))))) is different from true [2024-05-04 19:07:35,449 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse16 (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|)) (.cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse176 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 0)))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base|)) (.cse15 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (let ((.cse246 (select .cse177 .cse15))) (let ((.cse126 (+ .cse246 1)) (.cse3 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse172 (select (select .cse176 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse178 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse246 4) 4))) (let ((.cse179 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse275 (store .cse177 .cse178 v_ArrVal_237))) (let ((.cse272 (+ (select .cse275 .cse15) 1))) (let ((.cse273 (store .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse275 .cse15 (mod .cse272 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 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse270 (select .cse271 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse270 (select .cse271 .cse6)) (< .cse272 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< 0 (select .cse271 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse270 4) 4))) (not (= (select (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) .cse172)))))))))) (.cse170 (select .cse177 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse247 (mod .cse126 4)) (.cse8 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (let ((.cse82 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse264 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse266 (select .cse264 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse267 (select .cse266 .cse15))) (let ((.cse269 (store .cse266 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse267 4) 4) v_ArrVal_237))) (let ((.cse265 (select .cse269 .cse15))) (let ((.cse260 (mod (+ .cse265 1) 4))) (let ((.cse263 (store .cse264 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse269 .cse15 (+ .cse260 (- 4)))))) (let ((.cse261 (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 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse262 (select .cse261 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse260 0) (= v_z_32 3) (< 0 (select .cse261 (+ (* .cse262 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse262 (select .cse261 .cse6)) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |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))))))))))))) (.cse79 (= .cse170 .cse247)) (.cse80 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse251 (store .cse177 .cse178 v_ArrVal_237))) (let ((.cse248 (store .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse251 .cse15 0)))) (let ((.cse249 (select (store .cse248 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse252 (select .cse248 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse252 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse252 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse250 (select .cse249 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse248 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) .cse172)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (= (select .cse249 .cse6) .cse250) (not (= (mod (+ (select .cse251 .cse15) 1) 4) 0)) (< 0 (select .cse249 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse250 4) 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse259 (store .cse177 .cse178 v_ArrVal_237))) (let ((.cse254 (select .cse259 .cse15))) (let ((.cse257 (mod (+ .cse254 1) 4))) (let ((.cse253 (store .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse259 .cse15 (+ .cse257 (- 4)))))) (let ((.cse256 (select (store .cse253 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse258 (select .cse253 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse258 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse258 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse255 (select .cse256 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= .cse172 (select (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (< 0 (+ .cse254 2)) (= .cse255 (select .cse256 .cse6)) (< 0 (select .cse256 (+ (* .cse255 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (= .cse257 0))))))))) .cse179)) (.cse35 (select .cse16 .cse17)) (.cse169 (= .cse247 0)) (.cse81 (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse176 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8)))) (.cse83 (= (+ .cse170 4) .cse247))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse7 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse10 (select .cse7 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse11 (select .cse10 .cse15))) (let ((.cse14 (store .cse10 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse11 4) 4) v_ArrVal_237))) (let ((.cse9 (select .cse14 .cse15))) (let ((.cse0 (mod (+ .cse9 1) 4))) (let ((.cse5 (store .cse7 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse14 .cse15 (+ .cse0 (- 4)))))) (let ((.cse1 (select (store .cse5 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse12 (select .cse5 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse12 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse12 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse1 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse4 (+ .cse11 1))) (or (= .cse0 0) (= v_z_32 3) (< 0 (select .cse1 (+ (* .cse2 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (< .cse4 0) (not (= (select (select .cse5 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse7 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse2 (select .cse1 .cse6)) (not (= (select (select .cse7 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 0 (+ .cse9 2)) (= (select .cse10 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse4 4)) (< 3 v_z_32)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse21 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse26 (select .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse25 (select .cse26 .cse15))) (let ((.cse20 (store .cse26 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse25 4) 4) v_ArrVal_237))) (let ((.cse24 (store .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse20 .cse15 0)))) (let ((.cse18 (select (store .cse24 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse27 (select .cse24 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse27 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse27 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse19 (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse23 (select .cse26 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse22 (mod (+ .cse25 1) 4))) (or (< 0 (select .cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse19 4) 4))) (not (= (mod (+ (select .cse20 .cse15) 1) 4) 0)) (= (select .cse18 .cse6) .cse19) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse21 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse22 (+ .cse23 4)) (= .cse23 .cse22) (not (= (select (select .cse24 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse21 |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_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse29 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse34 (select .cse29 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse37 (select .cse34 .cse15))) (let ((.cse36 (store .cse34 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse37 4) 4) v_ArrVal_237))) (let ((.cse32 (store .cse29 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse36 .cse15 0)))) (let ((.cse30 (select (store .cse32 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse38 (select .cse32 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse38 (+ (* (select .cse38 .cse13) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse28 (+ .cse37 1)) (.cse33 (* v_y_33 4)) (.cse31 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse28 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse29 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< 0 (select .cse30 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse31 4) 4))) (not (= (select (select .cse29 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (= v_z_33 3) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< 0 (+ .cse33 v_z_33 2)) (< 3 v_z_33) (= (mod .cse28 4) (select .cse34 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< (+ .cse33 v_z_33) .cse35) (not (= (mod (+ (select .cse36 .cse15) 1) 4) 0)) (= .cse31 (select .cse30 .cse6))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse39 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse42 (select .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse41 (select .cse42 .cse15))) (let ((.cse48 (store .cse42 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse41 4) 4) v_ArrVal_237))) (let ((.cse46 (mod (+ (select .cse48 .cse15) 1) 4))) (let ((.cse40 (store .cse39 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse48 .cse15 (+ (- 4) .cse46))))) (let ((.cse44 (select (store .cse40 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse47 (select .cse40 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse47 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse47 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse43 (* v_y_33 4)) (.cse45 (select .cse44 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse39 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse39 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (= v_z_33 3) (= (mod (+ .cse41 1) 4) (+ (select .cse42 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< 0 (+ .cse43 v_z_33 2)) (< 0 (+ .cse41 2)) (< 3 v_z_33) (< (+ .cse43 v_z_33) .cse35) (= (select .cse44 .cse6) .cse45) (< 0 (select .cse44 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse45 4) 4))) (= .cse46 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse52 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse54 (select .cse52 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse55 (select .cse54 .cse15))) (let ((.cse57 (store .cse54 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse55 4) 4) v_ArrVal_237))) (let ((.cse49 (+ (select .cse57 .cse15) 1))) (let ((.cse53 (store .cse52 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse57 .cse15 (mod .cse49 4))))) (let ((.cse51 (select (store .cse53 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse56 (select .cse53 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse56 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse56 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse50 (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse49 0) (= .cse50 (select .cse51 .cse6)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (< 0 (select .cse51 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse50 4) 4))) (not (= (select (select .cse52 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (not (= (select (select .cse53 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse54 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse55 1) 4)) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse61 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse66 (select .cse61 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse65 (select .cse66 .cse15))) (let ((.cse68 (store .cse66 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse65 4) 4) v_ArrVal_237))) (let ((.cse58 (+ (select .cse68 .cse15) 1))) (let ((.cse64 (store .cse61 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse68 .cse15 (mod .cse58 4))))) (let ((.cse60 (select (store .cse64 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse67 (select .cse64 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse67 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse67 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse60 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse63 (select .cse66 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse62 (mod (+ .cse65 1) 4))) (or (< .cse58 0) (= .cse59 (select .cse60 .cse6)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (< 0 (select .cse60 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse59 4) 4))) (not (= (select (select .cse61 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse62 (+ .cse63 4)) (not (= (select (select .cse64 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse63 .cse62) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse69 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse76 (select .cse69 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse75 (select .cse76 .cse15))) (let ((.cse78 (store .cse76 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse75 4) 4) v_ArrVal_237))) (let ((.cse71 (+ (select .cse78 .cse15) 1))) (let ((.cse70 (store .cse69 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse78 .cse15 (mod .cse71 4))))) (let ((.cse72 (select (store .cse70 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse77 (select .cse70 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse77 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse77 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse73 (select .cse72 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse74 (* v_y_33 4))) (or (not (= (select (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse70 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse69 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< .cse71 0) (= v_z_33 3) (< 0 (select .cse72 (+ (* .cse73 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (= .cse73 (select .cse72 .cse6)) (< 0 (+ .cse74 v_z_33 2)) (< 3 v_z_33) (= (mod (+ .cse75 1) 4) (select .cse76 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< (+ .cse74 v_z_33) .cse35))))))))))) (or .cse79 (and (or .cse80 .cse81) .cse82) .cse83) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse86 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse89 (select .cse86 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse93 (select .cse89 .cse15))) (let ((.cse95 (store .cse89 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse93 4) 4) v_ArrVal_237))) (let ((.cse85 (select .cse95 .cse15))) (let ((.cse92 (mod (+ .cse85 1) 4))) (let ((.cse87 (store .cse86 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse95 .cse15 (+ (- 4) .cse92))))) (let ((.cse90 (select (store .cse87 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse94 (select .cse87 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse94 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse94 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse84 (+ .cse93 1)) (.cse88 (* v_y_33 4)) (.cse91 (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse84 0) (< 0 (+ .cse85 2)) (not (= (select (select .cse86 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse87 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse86 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (= v_z_33 3) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< 0 (+ .cse88 v_z_33 2)) (< 3 v_z_33) (= (mod .cse84 4) (select .cse89 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< (+ .cse88 v_z_33) .cse35) (= (select .cse90 .cse6) .cse91) (< 0 (select .cse90 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse91 4) 4))) (= .cse92 0)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse97 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse105 (select .cse97 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse106 (select .cse105 .cse15))) (let ((.cse108 (store .cse105 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse106 4) 4) v_ArrVal_237))) (let ((.cse96 (select .cse108 .cse15))) (let ((.cse104 (mod (+ .cse96 1) 4))) (let ((.cse98 (store .cse97 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse108 .cse15 (+ (- 4) .cse104))))) (let ((.cse102 (select (store .cse98 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse107 (select .cse98 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse107 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse107 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse99 (mod (+ .cse106 1) 4)) (.cse100 (select .cse105 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse101 (* v_y_33 4)) (.cse103 (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ .cse96 2)) (not (= (select (select .cse97 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse98 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse97 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (= v_z_33 3) (= .cse99 (+ .cse100 4)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< 0 (+ .cse101 v_z_33 2)) (< 3 v_z_33) (= .cse99 .cse100) (< (+ .cse101 v_z_33) .cse35) (= (select .cse102 .cse6) .cse103) (< 0 (select .cse102 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse103 4) 4))) (= .cse104 0)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse114 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse115 (select .cse114 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse109 (select .cse115 .cse15))) (let ((.cse113 (store .cse114 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse117 (store .cse115 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse109 4) 4) v_ArrVal_237))) (store .cse117 .cse15 (+ (mod (+ (select .cse117 .cse15) 1) 4) (- 4))))))) (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 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse116 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse112 (select .cse111 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse110 (mod (+ .cse109 1) 4))) (or (< 0 (+ .cse109 2)) (= .cse110 0) (= v_z_32 3) (< 0 (select .cse111 (+ (* .cse112 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse113 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse112 (select .cse111 .cse6)) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse110 (+ (select .cse115 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< 3 v_z_32))))))))) (or (and .cse82 (or .cse79 .cse80 .cse81) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse121 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse122 (select .cse121 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse123 (select .cse122 .cse15))) (let ((.cse120 (store .cse122 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse123 4) 4) v_ArrVal_237))) (let ((.cse124 (store .cse121 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse120 .cse15 0)))) (let ((.cse118 (select (store .cse124 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse125 (select .cse124 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse125 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse125 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse119 (select .cse118 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse118 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse119 4) 4))) (not (= (mod (+ (select .cse120 .cse15) 1) 4) 0)) (= (select .cse118 .cse6) .cse119) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse121 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse122 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse123 1) 4)) (not (= (select (select .cse124 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse121 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))))) (< .cse126 0)) (or .cse79 .cse80 .cse81 .cse83) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse127 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse135 (select .cse127 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse136 (select .cse135 .cse15))) (let ((.cse134 (store .cse135 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse136 4) 4) v_ArrVal_237))) (let ((.cse130 (store .cse127 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse134 .cse15 0)))) (let ((.cse128 (select (store .cse130 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse137 (select .cse130 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse137 (+ (* (select .cse137 .cse13) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse131 (mod (+ .cse136 1) 4)) (.cse132 (select .cse135 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse133 (* v_y_33 4)) (.cse129 (select .cse128 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse127 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< 0 (select .cse128 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse129 4) 4))) (not (= (select (select .cse127 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse130 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (= v_z_33 3) (= .cse131 (+ .cse132 4)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< 0 (+ .cse133 v_z_33 2)) (< 3 v_z_33) (= .cse131 .cse132) (< (+ .cse133 v_z_33) .cse35) (not (= (mod (+ (select .cse134 .cse15) 1) 4) 0)) (= .cse129 (select .cse128 .cse6))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse142 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse147 (select .cse142 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse146 (select .cse147 .cse15))) (let ((.cse149 (store .cse147 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse146 4) 4) v_ArrVal_237))) (let ((.cse145 (select .cse149 .cse15))) (let ((.cse138 (mod (+ .cse145 1) 4))) (let ((.cse141 (store .cse142 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse149 .cse15 (+ .cse138 (- 4)))))) (let ((.cse139 (select (store .cse141 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse148 (select .cse141 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse148 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse148 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse140 (select .cse139 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse144 (select .cse147 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse143 (mod (+ .cse146 1) 4))) (or (= .cse138 0) (= v_z_32 3) (< 0 (select .cse139 (+ (* .cse140 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse140 (select .cse139 .cse6)) (not (= (select (select .cse142 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse143 (+ .cse144 4)) (< 0 (+ .cse145 2)) (= .cse144 .cse143) (< 3 v_z_32)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse150 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse152 (select .cse150 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse157 (select .cse152 .cse15))) (let ((.cse159 (store .cse152 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse157 4) 4) v_ArrVal_237))) (let ((.cse153 (+ (select .cse159 .cse15) 1))) (let ((.cse151 (store .cse150 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse159 .cse15 (mod .cse153 4))))) (let ((.cse154 (select (store .cse151 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse158 (select .cse151 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse158 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse158 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse155 (select .cse154 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse156 (* v_y_33 4))) (or (not (= (select (select .cse150 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse151 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse150 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (= (select .cse152 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< .cse153 0) (= v_z_33 3) (< 0 (select .cse154 (+ (* .cse155 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (= .cse155 (select .cse154 .cse6)) (< 0 (+ .cse156 v_z_33 2)) (< 3 v_z_33) (not (= (mod (+ .cse157 1) 4) 0)) (< (+ .cse156 v_z_33) .cse35))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse165 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse162 (select .cse165 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse161 (select .cse162 .cse15))) (let ((.cse168 (store .cse162 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse161 4) 4) v_ArrVal_237))) (let ((.cse160 (+ (select .cse168 .cse15) 1))) (let ((.cse166 (store .cse165 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse168 .cse15 (mod .cse160 4))))) (let ((.cse164 (select (store .cse166 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse167 (select .cse166 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse167 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse167 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse160 0) (not (= (mod (+ .cse161 1) 4) 0)) (= (select .cse162 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= .cse163 (select .cse164 .cse6)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (< 0 (select .cse164 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse163 4) 4))) (not (= (select (select .cse165 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (not (= (select (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))))) (or (not .cse169) (= .cse170 0) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse171 (store .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse177 .cse178 v_ArrVal_237) .cse15 0)))) (let ((.cse173 (select (store .cse171 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse175 (select .cse171 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse175 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse175 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse174 (select .cse173 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) .cse172)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (= (select .cse173 .cse6) .cse174) (< 0 (select .cse173 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse174 4) 4)))))))) .cse179) .cse81) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse180 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse188 (select .cse180 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse189 (select .cse188 .cse15))) (let ((.cse191 (store .cse188 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse189 4) 4) v_ArrVal_237))) (let ((.cse182 (+ (select .cse191 .cse15) 1))) (let ((.cse181 (store .cse180 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse191 .cse15 (mod .cse182 4))))) (let ((.cse185 (select (store .cse181 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse190 (select .cse181 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse190 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse190 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse186 (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse183 (mod (+ .cse189 1) 4)) (.cse184 (select .cse188 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse187 (* v_y_33 4))) (or (not (= (select (select .cse180 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse181 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse180 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< .cse182 0) (= v_z_33 3) (= .cse183 (+ .cse184 4)) (< 0 (select .cse185 (+ (* .cse186 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (= .cse186 (select .cse185 .cse6)) (< 0 (+ .cse187 v_z_33 2)) (< 3 v_z_33) (= .cse183 .cse184) (< (+ .cse187 v_z_33) .cse35))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse196 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse197 (select .cse196 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse199 (select .cse197 .cse15))) (let ((.cse194 (store .cse197 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse199 4) 4) v_ArrVal_237))) (let ((.cse198 (store .cse196 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse194 .cse15 0)))) (let ((.cse192 (select (store .cse198 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse200 (select .cse198 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse200 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse200 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse193 (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse195 (+ .cse199 1))) (or (< 0 (select .cse192 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse193 4) 4))) (not (= (mod (+ (select .cse194 .cse15) 1) 4) 0)) (= (select .cse192 .cse6) .cse193) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (< .cse195 0) (not (= (select (select .cse196 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse197 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse195 4)) (not (= (select (select .cse198 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse196 |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_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse201 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse204 (select .cse201 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse207 (select .cse204 .cse15))) (let ((.cse205 (store .cse201 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse204 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse207 4) 4) v_ArrVal_237) .cse15 0)))) (let ((.cse202 (select (store .cse205 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse208 (select .cse205 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse208 (+ (* (select .cse208 .cse13) 4) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse206 (* v_y_33 4)) (.cse203 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse201 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8))) (< 0 (select .cse202 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse203 4) 4))) (= (select .cse204 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse205 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (= v_z_33 3) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< 0 (+ .cse206 v_z_33 2)) (< 3 v_z_33) (not (= (mod (+ .cse207 1) 4) 0)) (< (+ .cse206 v_z_33) .cse35) (= .cse203 (select .cse202 .cse6)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse213 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse212 (select .cse213 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse211 (select .cse212 .cse15))) (let ((.cse214 (store .cse213 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse212 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse211 4) 4) v_ArrVal_237) .cse15 0)))) (let ((.cse209 (select (store .cse214 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse215 (select .cse214 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse215 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse215 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse210 (select .cse209 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse209 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse210 4) 4))) (= (select .cse209 .cse6) .cse210) (not (= (mod (+ .cse211 1) 4) 0)) (= (select .cse212 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (not (= (select (select .cse214 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))) (or (let ((.cse233 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse241 (store .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse245 (store .cse177 .cse178 v_ArrVal_237))) (store .cse245 .cse15 (+ (mod (+ (select .cse245 .cse15) 1) 4) (- 4))))))) (let ((.cse243 (select (store .cse241 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse244 (select .cse241 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse244 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse244 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse242 (select .cse243 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= .cse172 (select (select .cse241 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6))) (= .cse242 (select .cse243 .cse6)) (< 0 (select .cse243 (+ (* .cse242 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3)))))))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse220 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse221 (select .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse222 (select .cse221 .cse15))) (let ((.cse219 (store .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse224 (store .cse221 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse222 4) 4) v_ArrVal_237))) (store .cse224 .cse15 (+ (mod (+ (select .cse224 .cse15) 1) 4) (- 4))))))) (let ((.cse217 (select (store .cse219 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse223 (select .cse219 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse223 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse223 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse218 (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse216 (mod (+ .cse222 1) 4))) (or (= .cse216 0) (= v_z_32 3) (< 0 (select .cse217 (+ (* .cse218 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse219 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse220 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse218 (select .cse217 .cse6)) (not (= (select (select .cse220 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse216 (+ (select .cse221 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< 3 v_z_32))))))))) (or .cse169 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse230 (select .cse228 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse229 (select .cse230 .cse15))) (let ((.cse227 (store .cse228 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse232 (store .cse230 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse229 4) 4) v_ArrVal_237))) (store .cse232 .cse15 (+ (mod (+ (select .cse232 .cse15) 1) 4) (- 4))))))) (let ((.cse225 (select (store .cse227 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse231 (select .cse227 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse231 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse231 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse226 (select .cse225 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= v_z_32 3) (< 0 (select .cse225 (+ (* .cse226 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse226 (select .cse225 .cse6)) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (mod (+ .cse229 1) 4) (+ (select .cse230 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4)) (< 3 v_z_32))))))))) (or (and (or .cse233 .cse81) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse236 (store .cse237 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse239 (let ((.cse240 (select .cse237 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse240 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* (select .cse240 .cse15) 4) 4) v_ArrVal_237)))) (store .cse239 .cse15 (+ (mod (+ (select .cse239 .cse15) 1) 4) (- 4))))))) (let ((.cse234 (select (store .cse236 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse238 (select .cse236 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse238 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse238 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse235 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= v_z_32 3) (< 0 (select .cse234 (+ (* .cse235 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse3) (< v_z_32 0) (not (= (select (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse6) (select (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse235 (select .cse234 .cse6)) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse8) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< 3 v_z_32)))))))) .cse83))) (or .cse233 .cse169 .cse81 .cse83))) (< 0 (+ 2 .cse246))))))))))) is different from true [2024-05-04 19:07:43,349 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse20 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse1 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse8 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse7 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse21 (select .cse20 .cse5)) (.cse19 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse4 (store .cse20 (+ |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 ((.cse2 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse4 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse14 (select .cse2 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse15 (select .cse14 .cse19))) (let ((.cse18 (store .cse14 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse15 4) 4) v_ArrVal_237))) (let ((.cse6 (select .cse18 .cse19))) (let ((.cse11 (mod (+ .cse6 1) 4))) (let ((.cse0 (store .cse2 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse18 .cse19 (+ .cse11 (- 4)))))) (let ((.cse10 (select (store .cse0 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse16 (select .cse0 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse16 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse16 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse3 (* v_y_33 4)) (.cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse13 (mod (+ .cse15 1) 4)) (.cse12 (select .cse14 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (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_z_33 3) (< (+ .cse3 v_z_33) (select .cse4 .cse5)) (< 0 (+ .cse6 2)) (not (= (select (select .cse2 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (= .cse9 (select .cse10 .cse1)) (< 0 (+ .cse3 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse10 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse9 4) 4))) (= .cse11 0) (= (+ .cse12 4) .cse13) (= .cse13 .cse12))))))))))))) (< .cse21 |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_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse22 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse25 (select .cse22 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse28 (select .cse25 .cse19))) (let ((.cse27 (store .cse22 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse30 (store .cse25 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse28) 4) v_ArrVal_237))) (store .cse30 .cse19 (+ (- 4) (mod (+ (select .cse30 .cse19) 1) 4))))))) (let ((.cse23 (select (store .cse27 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse29 (select .cse27 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse29 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse29 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse24 (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse26 (mod (+ 1 .cse28) 4))) (or (not (= (select (select .cse22 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse23 .cse1) .cse24) (= (+ (select .cse25 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse26) (not (= (select (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse23 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse24) 4))) (= .cse26 0) (< 0 (+ 2 .cse28)) (< 3 v_z_32))))))))) (< .cse21 |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_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse34 (store .cse20 (+ |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 ((.cse32 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse34 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse40 (select .cse32 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse41 (select .cse40 .cse19))) (let ((.cse43 (store .cse40 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse41 4) 4) v_ArrVal_237))) (let ((.cse35 (select .cse43 .cse19))) (let ((.cse39 (mod (+ .cse35 1) 4))) (let ((.cse31 (store .cse32 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse43 .cse19 (+ .cse39 (- 4)))))) (let ((.cse38 (select (store .cse31 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse42 (select .cse31 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse42 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse42 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (* v_y_33 4)) (.cse37 (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse36 (+ .cse41 1))) (or (not (= (select (select .cse31 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_33 3) (< (+ .cse33 v_z_33) (select .cse34 .cse5)) (< 0 (+ .cse35 2)) (not (= (select (select .cse32 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< .cse36 0) (= .cse37 (select .cse38 .cse1)) (< 0 (+ .cse33 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse38 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse37 4) 4))) (= .cse39 0) (= (mod .cse36 4) (select .cse40 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)))))))))))))) (< .cse21 |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_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse45 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse53 (select .cse45 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse52 (select .cse53 .cse19))) (let ((.cse55 (store .cse53 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse52) 4) v_ArrVal_237))) (let ((.cse44 (select .cse55 .cse19))) (let ((.cse48 (mod (+ .cse44 1) 4))) (let ((.cse51 (store .cse45 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse55 .cse19 (+ (- 4) .cse48))))) (let ((.cse46 (select (store .cse51 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse54 (select .cse51 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse54 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse54 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse50 (select .cse53 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse49 (mod (+ 1 .cse52) 4)) (.cse47 (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ 2 .cse44)) (not (= (select (select .cse45 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse46 .cse1) .cse47) (= .cse48 0) (= .cse49 .cse50) (= (+ .cse50 4) .cse49) (not (= (select (select .cse51 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse46 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse47) 4))) (< 3 v_z_32)))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse65 (store .cse20 (+ |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_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse56 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse65 .cse5 (+ v_z_32 1))))) (let ((.cse59 (select .cse56 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse62 (select .cse59 .cse19))) (let ((.cse61 (store .cse56 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse64 (store .cse59 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse62) 4) v_ArrVal_237))) (store .cse64 .cse19 (+ (- 4) (mod (+ (select .cse64 .cse19) 1) 4))))))) (let ((.cse57 (select (store .cse61 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse63 (select .cse61 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse63 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse58 (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse60 (mod (+ 1 .cse62) 4))) (or (not (= (select (select .cse56 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse57 .cse1) .cse58) (= (+ (select .cse59 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse60) (not (= (select (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse57 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse58) 4))) (= .cse60 0) (< 3 v_z_32))))))))) (< .cse21 |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 .cse65 .cse5 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse19) 2))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse66 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse67 (select .cse66 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse68 (select .cse67 .cse19))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse66 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse67 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= (mod (+ .cse68 1) 4) 0)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse74 (store .cse67 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse68 4) 4) v_ArrVal_237))) (let ((.cse72 (+ (select .cse74 .cse19) 1))) (let ((.cse71 (store .cse66 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse74 .cse19 (mod .cse72 4))))) (let ((.cse69 (select (store .cse71 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse73 (select .cse71 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse73 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse73 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse70 (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse69 .cse1) .cse70) (not (= (select (select .cse66 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse71 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse69 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse70 4) 4))) (< .cse72 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse78 (store .cse20 (+ |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 ((.cse76 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse78 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse84 (select .cse76 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse85 (select .cse84 .cse19))) (let ((.cse87 (store .cse84 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse85 4) 4) v_ArrVal_237))) (let ((.cse81 (+ (select .cse87 .cse19) 1))) (let ((.cse75 (store .cse76 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse87 .cse19 (mod .cse81 4))))) (let ((.cse79 (select (store .cse75 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse86 (select .cse75 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse86 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse86 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse80 (select .cse79 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse77 (* v_y_33 4)) (.cse83 (mod (+ .cse85 1) 4)) (.cse82 (select .cse84 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= v_z_33 3) (not (= (select (select .cse75 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse76 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< (+ .cse77 v_z_33) (select .cse78 .cse5)) (= (select .cse79 .cse1) .cse80) (not (= (select (select .cse76 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse79 (+ (* .cse80 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 0 (+ .cse77 v_z_33 2)) (< 3 v_z_33) (< .cse81 0) (= (+ .cse82 4) .cse83) (= .cse83 .cse82)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse90 (store .cse20 (+ |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 ((.cse93 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse90 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse97 (select .cse93 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse98 (select .cse97 .cse19))) (let ((.cse88 (store .cse97 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse98 4) 4) v_ArrVal_237))) (let ((.cse96 (store .cse93 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse88 .cse19 0)))) (let ((.cse91 (select (store .cse96 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse99 (select .cse96 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse99 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse99 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse89 (* v_y_33 4)) (.cse95 (mod (+ .cse98 1) 4)) (.cse94 (select .cse97 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= v_z_33 3) (not (= (mod (+ (select .cse88 .cse19) 1) 4) 0)) (< (+ .cse89 v_z_33) (select .cse90 .cse5)) (< 0 (select .cse91 (+ (* .cse92 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse93 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (= (select .cse91 .cse1) .cse92) (< 0 (+ .cse89 v_z_33 2)) (< 3 v_z_33) (= (+ .cse94 4) .cse95) (= .cse95 .cse94) (not (= (select (select .cse96 |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|))))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse102 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse103 (select .cse102 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse104 (select .cse103 .cse19))) (let ((.cse105 (store .cse102 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse103 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse104) 4) v_ArrVal_237) .cse19 0)))) (let ((.cse100 (select (store .cse105 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse106 (select .cse105 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse106 (+ (* 4 (select .cse106 .cse17)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse101 (select .cse100 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse100 .cse1) .cse101) (not (= (select (select .cse102 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse103 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (not (= (mod (+ 1 .cse104) 4) 0)) (< v_z_32 0) (not (= (select (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse105 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< 0 (select .cse100 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse101 4) 4))) (< 3 v_z_32))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse110 (store .cse20 (+ |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 ((.cse108 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse110 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse114 (select .cse108 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse115 (select .cse114 .cse19))) (let ((.cse117 (store .cse114 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse115 4) 4) v_ArrVal_237))) (let ((.cse113 (mod (+ (select .cse117 .cse19) 1) 4))) (let ((.cse107 (store .cse108 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse117 .cse19 (+ .cse113 (- 4)))))) (let ((.cse112 (select (store .cse107 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse116 (select .cse107 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse116 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse116 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse109 (* v_y_33 4)) (.cse111 (select .cse112 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse107 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse108 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_33 3) (< (+ .cse109 v_z_33) (select .cse110 .cse5)) (not (= (select (select .cse108 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (= .cse111 (select .cse112 .cse1)) (< 0 (+ .cse109 v_z_33 2)) (< 3 v_z_33) (< 0 (select .cse112 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse111 4) 4))) (= .cse113 0) (= (+ (select .cse114 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse115 1) 4)) (< 0 (+ 2 .cse115))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse120 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse126 (select .cse120 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse125 (select .cse126 .cse19))) (let ((.cse124 (store .cse126 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse125) 4) v_ArrVal_237))) (let ((.cse123 (store .cse120 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse124 .cse19 0)))) (let ((.cse118 (select (store .cse123 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse127 (select .cse123 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse127 (+ (* 4 (select .cse127 .cse17)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse122 (select .cse126 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse121 (mod (+ 1 .cse125) 4)) (.cse119 (select .cse118 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse118 .cse1) .cse119) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse121 .cse122) (= (+ .cse122 4) .cse121) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse123 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (not (= (mod (+ (select .cse124 .cse19) 1) 4) 0)) (< 0 (select .cse118 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse119 4) 4))) (< 3 v_z_32)))))))))) (< .cse21 |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_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse128 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse136 (select .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse135 (select .cse136 .cse19))) (let ((.cse138 (store .cse136 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse135) 4) v_ArrVal_237))) (let ((.cse134 (+ (select .cse138 .cse19) 1))) (let ((.cse131 (store .cse128 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse138 .cse19 (mod .cse134 4))))) (let ((.cse132 (select (store .cse131 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse137 (select .cse131 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse137 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse137 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse130 (select .cse136 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse129 (mod (+ 1 .cse135) 4)) (.cse133 (select .cse132 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse129 .cse130) (= (+ .cse130 4) .cse129) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (not (= (select (select .cse128 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse131 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< 0 (select .cse132 (+ (* .cse133 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse133 (select .cse132 .cse1)) (< 3 v_z_32) (< .cse134 0))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse149 (store .cse20 (+ |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_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse140 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse149 .cse5 (+ v_z_32 1))))) (let ((.cse145 (select .cse140 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse144 (select .cse145 .cse19))) (let ((.cse148 (store .cse145 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse144) 4) v_ArrVal_237))) (let ((.cse139 (select .cse148 .cse19))) (let ((.cse143 (mod (+ .cse139 1) 4))) (let ((.cse146 (store .cse140 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse148 .cse19 (+ (- 4) .cse143))))) (let ((.cse141 (select (store .cse146 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse147 (select .cse146 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse147 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse147 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse142 (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ 2 .cse139)) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse141 .cse1) .cse142) (= .cse143 0) (= (mod (+ 1 .cse144) 4) (select .cse145 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse146 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse141 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse142) 4))) (< 3 v_z_32)))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse149 .cse5 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse19) 1) 0)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse150 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse152 (select .cse150 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse151 (select .cse152 .cse19))) (let ((.cse158 (store .cse152 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse151) 4) v_ArrVal_237))) (let ((.cse156 (+ (select .cse158 .cse19) 1))) (let ((.cse153 (store .cse150 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse158 .cse19 (mod .cse156 4))))) (let ((.cse154 (select (store .cse153 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse157 (select .cse153 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse157 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse157 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse155 (select .cse154 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse150 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (mod (+ 1 .cse151) 4) (select .cse152 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (not (= (select (select .cse150 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse153 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< 0 (select .cse154 (+ (* .cse155 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse155 (select .cse154 .cse1)) (< 3 v_z_32) (< .cse156 0))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse161 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse163 (select .cse161 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse166 (select .cse163 .cse19))) (let ((.cse165 (store .cse163 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse166) 4) v_ArrVal_237))) (let ((.cse164 (store .cse161 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse165 .cse19 0)))) (let ((.cse159 (select (store .cse164 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse167 (select .cse164 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse167 (+ (* 4 (select .cse167 .cse17)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse160 (select .cse159 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse162 (+ 1 .cse166))) (or (= (select .cse159 .cse1) .cse160) (not (= (select (select .cse161 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (mod .cse162 4) (select .cse163 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (not (= (select (select .cse161 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (not (= (mod (+ (select .cse165 .cse19) 1) 4) 0)) (< 0 (select .cse159 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse160 4) 4))) (< 3 v_z_32) (< .cse162 0)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse170 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse176 (select .cse170 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse177 (select .cse176 .cse19))) (let ((.cse178 (select .cse176 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse179 (mod (+ .cse177 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse175 (store .cse176 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse177 4) 4) v_ArrVal_237))) (let ((.cse172 (select .cse175 .cse19))) (let ((.cse173 (mod (+ .cse172 1) 4))) (let ((.cse171 (store .cse170 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse175 .cse19 (+ (- 4) .cse173))))) (let ((.cse168 (select (store .cse171 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse174 (select .cse171 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse174 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 (select .cse174 .cse17))) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse169 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse168 (+ (* .cse169 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse170 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< 0 (+ .cse172 2)) (= .cse169 (select .cse168 .cse1)) (= .cse173 0))))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse170 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (+ .cse178 4) .cse179) (= .cse178 .cse179) (< .cse21 |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_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse183 (store .cse20 (+ |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 ((.cse181 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse183 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse188 (select .cse181 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse187 (select .cse188 .cse19))) (let ((.cse190 (store .cse188 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse187 4) 4) v_ArrVal_237))) (let ((.cse186 (+ (select .cse190 .cse19) 1))) (let ((.cse180 (store .cse181 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse190 .cse19 (mod .cse186 4))))) (let ((.cse184 (select (store .cse180 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse189 (select .cse180 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse189 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse182 (* v_y_33 4))) (or (= v_z_33 3) (not (= (select (select .cse180 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse181 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< (+ .cse182 v_z_33) (select .cse183 .cse5)) (= (select .cse184 .cse1) .cse185) (not (= (select (select .cse181 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse184 (+ (* .cse185 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 0 (+ .cse182 v_z_33 2)) (< 3 v_z_33) (< .cse186 0) (not (= (mod (+ .cse187 1) 4) 0)) (= (select .cse188 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0)))))))))))) (< .cse21 |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_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse197 (select .cse191 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse198 (select .cse197 .cse19))) (let ((.cse199 (mod (+ .cse198 1) 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse191 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse194 (store .cse191 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse196 (store .cse197 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse198 4) 4) v_ArrVal_237))) (store .cse196 .cse19 (+ (- 4) (mod (+ (select .cse196 .cse19) 1) 4))))))) (let ((.cse192 (select (store .cse194 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse195 (select .cse194 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse195 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 (select .cse195 .cse17))) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse193 (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse192 (+ (* .cse193 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse194 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (= .cse193 (select .cse192 .cse1))))))) (= (+ (select .cse197 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse199) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= .cse199 0) (< 0 (+ .cse198 2)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse203 (store .cse20 (+ |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 ((.cse201 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse203 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse208 (select .cse201 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse207 (select .cse208 .cse19))) (let ((.cse210 (store .cse208 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse207 4) 4) v_ArrVal_237))) (let ((.cse206 (+ (select .cse210 .cse19) 1))) (let ((.cse200 (store .cse201 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse210 .cse19 (mod .cse206 4))))) (let ((.cse204 (select (store .cse200 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse209 (select .cse200 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse209 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse209 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse205 (select .cse204 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse202 (* v_y_33 4))) (or (= v_z_33 3) (not (= (select (select .cse200 |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|))) (< (+ .cse202 v_z_33) (select .cse203 .cse5)) (= (select .cse204 .cse1) .cse205) (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse204 (+ (* .cse205 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< 0 (+ .cse202 v_z_33 2)) (< 3 v_z_33) (< .cse206 0) (= (mod (+ .cse207 1) 4) (select .cse208 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse211 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse212 (select .cse211 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse213 (select .cse212 .cse19))) (let ((.cse219 (store .cse212 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse213) 4) v_ArrVal_237))) (let ((.cse217 (+ (select .cse219 .cse19) 1))) (let ((.cse214 (store .cse211 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse219 .cse19 (mod .cse217 4))))) (let ((.cse215 (select (store .cse214 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse218 (select .cse214 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse218 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse218 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse216 (select .cse215 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (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|) 0) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (not (= (mod (+ 1 .cse213) 4) 0)) (< v_z_32 0) (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse214 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< 0 (select .cse215 (+ (* .cse216 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse216 (select .cse215 .cse1)) (< 3 v_z_32) (< .cse217 0))))))))))))) (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 .cse20 (+ |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|) .cse5 0)))) (let ((.cse226 (select .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse227 (select .cse226 .cse19))) (let ((.cse228 (select .cse226 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse229 (mod (+ .cse227 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse224 (store .cse226 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse227 4) 4) v_ArrVal_237))) (let ((.cse221 (store .cse220 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse224 .cse19 0)))) (let ((.cse222 (select (store .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse225 (select .cse221 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse225 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse225 .cse17) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse223 (select .cse222 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (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|) .cse1))) (< 0 (select .cse222 (+ (* .cse223 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse223 (select .cse222 .cse1)) (not (= (mod (+ (select .cse224 .cse19) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse220 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (+ .cse228 4) .cse229) (= .cse228 .cse229) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse230 (store .cse20 (+ |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 (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< (+ (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse230 .cse5 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse19) 1) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| 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 .cse5 (+ v_z_32 1))))) (let ((.cse235 (select .cse233 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse234 (select .cse235 .cse19))) (let ((.cse237 (store .cse235 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse234) 4) v_ArrVal_237))) (let ((.cse236 (store .cse233 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse237 .cse19 0)))) (let ((.cse231 (select (store .cse236 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse238 (select .cse236 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse238 (+ (* 4 (select .cse238 .cse17)) |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse232 (select .cse231 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse231 .cse1) .cse232) (not (= (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (mod (+ 1 .cse234) 4) (select .cse235 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (not (= (select (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (not (= (mod (+ (select .cse237 .cse19) 1) 4) 0)) (< 0 (select .cse231 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse232 4) 4))) (< 3 v_z_32))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse239 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse248 (select .cse239 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse249 (select .cse248 .cse19))) (let ((.cse240 (select .cse248 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse241 (mod (+ .cse249 1) 4))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse239 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (+ .cse240 4) .cse241) (= .cse240 .cse241) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse247 (store .cse248 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse249 4) 4) v_ArrVal_237))) (let ((.cse245 (+ (select .cse247 .cse19) 1))) (let ((.cse244 (store .cse239 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse247 .cse19 (mod .cse245 4))))) (let ((.cse242 (select (store .cse244 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse246 (select .cse244 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse246 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse246 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse243 (select .cse242 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse242 .cse1) .cse243) (not (= (select (select .cse239 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse244 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse242 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse243 4) 4))) (< .cse245 0)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse250 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse251 (select .cse250 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse259 (select .cse251 .cse19))) (let ((.cse252 (+ .cse259 1))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse250 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse251 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse252 4)) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< .cse252 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse258 (store .cse251 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse259 4) 4) v_ArrVal_237))) (let ((.cse256 (+ (select .cse258 .cse19) 1))) (let ((.cse255 (store .cse250 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse258 .cse19 (mod .cse256 4))))) (let ((.cse253 (select (store .cse255 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse257 (select .cse255 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse257 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse257 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse254 (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= (select .cse253 .cse1) .cse254) (not (= (select (select .cse250 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse255 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse253 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse254 4) 4))) (< .cse256 0)))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse269 (store .cse20 (+ |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 ((.cse260 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse269 .cse5 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse270 (select .cse260 .cse19))) (let ((.cse261 (mod (+ .cse270 1) 4))) (or (= (+ (select .cse260 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse261) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse262 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse269 .cse5 (+ v_z_32 1))))) (let ((.cse265 (store .cse262 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse267 (let ((.cse268 (select .cse262 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse268 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 (select .cse268 .cse19)) 4) v_ArrVal_237)))) (store .cse267 .cse19 (+ (- 4) (mod (+ (select .cse267 .cse19) 1) 4))))))) (let ((.cse263 (select (store .cse265 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse266 (select .cse265 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse266 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse266 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse264 (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse262 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse263 .cse1) .cse264) (not (= (select (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse262 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse263 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse264) 4))) (< 3 v_z_32))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= .cse261 0) (< 0 (+ .cse270 2)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse273 (store .cse20 (+ |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 ((.cse276 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse273 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse278 (select .cse276 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse280 (select .cse278 .cse19))) (let ((.cse271 (store .cse278 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse280 4) 4) v_ArrVal_237))) (let ((.cse279 (store .cse276 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse271 .cse19 0)))) (let ((.cse274 (select (store .cse279 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse281 (select .cse279 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse281 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse281 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse275 (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse272 (* v_y_33 4)) (.cse277 (+ .cse280 1))) (or (= v_z_33 3) (not (= (mod (+ (select .cse271 .cse19) 1) 4) 0)) (< (+ .cse272 v_z_33) (select .cse273 .cse5)) (< 0 (select .cse274 (+ (* .cse275 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse276 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< .cse277 0) (= (select .cse274 .cse1) .cse275) (< 0 (+ .cse272 v_z_33 2)) (< 3 v_z_33) (= (mod .cse277 4) (select .cse278 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse276 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse282 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse283 (select .cse282 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse284 (select .cse283 .cse19))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse282 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse283 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (not (= (mod (+ .cse284 1) 4) 0)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse285 (store .cse282 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse283 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse284 4) 4) v_ArrVal_237) .cse19 0)))) (let ((.cse286 (select (store .cse285 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse288 (select .cse285 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse288 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse288 .cse17) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse287 (select .cse286 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse285 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< 0 (select .cse286 (+ (* .cse287 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse287 (select .cse286 .cse1)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse301 (store .cse20 (+ |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 ((.cse302 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse301 .cse5 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse289 (select .cse302 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse290 (mod (+ (select .cse302 .cse19) 1) 4))) (or (= (+ .cse289 4) .cse290) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse292 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse301 .cse5 (+ v_z_32 1))))) (let ((.cse297 (select .cse292 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse296 (select .cse297 .cse19))) (let ((.cse300 (store .cse297 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse296) 4) v_ArrVal_237))) (let ((.cse291 (select .cse300 .cse19))) (let ((.cse295 (mod (+ .cse291 1) 4))) (let ((.cse298 (store .cse292 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse300 .cse19 (+ (- 4) .cse295))))) (let ((.cse293 (select (store .cse298 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse299 (select .cse298 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse299 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse299 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse294 (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (+ 2 .cse291)) (not (= (select (select .cse292 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse293 .cse1) .cse294) (= .cse295 0) (= (mod (+ 1 .cse296) 4) (select .cse297 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse292 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse293 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse294) 4))) (< 3 v_z_32)))))))))))) (= .cse289 .cse290) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse305 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse311 (select .cse305 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse312 (select .cse311 .cse19))) (let ((.cse313 (+ .cse312 1))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse310 (store .cse311 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse312 4) 4) v_ArrVal_237))) (let ((.cse307 (select .cse310 .cse19))) (let ((.cse308 (mod (+ .cse307 1) 4))) (let ((.cse306 (store .cse305 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse310 .cse19 (+ (- 4) .cse308))))) (let ((.cse303 (select (store .cse306 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse309 (select .cse306 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse309 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* 4 (select .cse309 .cse17))) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse304 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< 0 (select .cse303 (+ (* .cse304 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse305 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select (select .cse306 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1))) (< 0 (+ .cse307 2)) (= .cse304 (select .cse303 .cse1)) (= .cse308 0))))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse305 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse311 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse313 4)) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< .cse313 0))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse323 (store .cse20 (+ |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 ((.cse314 (select (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse323 .cse5 0)) |c_ULTIMATE.start_writer_fn_~r~1#1.base|) .cse19))) (or (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (= (mod (+ .cse314 1) 4) 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse315 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse323 .cse5 (+ v_z_32 1))))) (let ((.cse318 (select .cse315 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse319 (select .cse318 .cse19))) (let ((.cse320 (store .cse315 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse322 (store .cse318 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse319) 4) v_ArrVal_237))) (store .cse322 .cse19 (+ (- 4) (mod (+ (select .cse322 .cse19) 1) 4))))))) (let ((.cse316 (select (store .cse320 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse321 (select .cse320 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse321 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse321 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse317 (select .cse316 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse315 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse316 .cse1) .cse317) (= (+ (select .cse318 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ 1 .cse319) 4)) (not (= (select (select .cse320 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse315 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse316 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse317) 4))) (< 3 v_z_32))))))))) (< 0 (+ .cse314 2)))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse325 (store .cse20 (+ |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 ((.cse328 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse325 .cse5 (+ v_z_33 (- 3)))))) (let ((.cse330 (select .cse328 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse329 (select .cse330 .cse19))) (let ((.cse331 (store .cse328 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse330 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse329 4) 4) v_ArrVal_237) .cse19 0)))) (let ((.cse326 (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 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse327 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse324 (* v_y_33 4))) (or (= v_z_33 3) (< (+ .cse324 v_z_33) (select .cse325 .cse5)) (< 0 (select .cse326 (+ (* .cse327 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (select (select .cse328 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (< v_z_33 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (= (select .cse326 .cse1) .cse327) (< 0 (+ .cse324 v_z_33 2)) (< 3 v_z_33) (not (= (mod (+ .cse329 1) 4) 0)) (= (select .cse330 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (select (select .cse331 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse328 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))))))) (< .cse21 |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_17| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse334 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 (+ v_z_32 1))))) (let ((.cse339 (select .cse334 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse341 (select .cse339 .cse19))) (let ((.cse343 (store .cse339 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* 4 .cse341) 4) v_ArrVal_237))) (let ((.cse333 (select .cse343 .cse19))) (let ((.cse337 (mod (+ .cse333 1) 4))) (let ((.cse340 (store .cse334 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse343 .cse19 (+ (- 4) .cse337))))) (let ((.cse335 (select (store .cse340 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse342 (select .cse340 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse342 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse342 .cse17) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse336 (select .cse335 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse338 (+ 1 .cse341))) (or (< 0 (+ 2 .cse333)) (not (= (select (select .cse334 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= (select .cse335 .cse1) .cse336) (= .cse337 0) (= (mod .cse338 4) (select .cse339 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (select (select .cse340 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse1) (select (select .cse334 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8) (< v_z_32 0) (< 0 (select .cse335 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse336) 4))) (< 3 v_z_32) (< .cse338 0)))))))))))) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25| Int)) (let ((.cse344 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store (store .cse20 (+ |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|) .cse5 0)))) (let ((.cse350 (select .cse344 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse351 (select .cse350 .cse19))) (let ((.cse352 (+ .cse351 1))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| Int) (v_ArrVal_237 Int)) (let ((.cse348 (store .cse350 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse351 4) 4) v_ArrVal_237))) (let ((.cse345 (store .cse344 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse348 .cse19 0)))) (let ((.cse346 (select (store .cse345 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse349 (select .cse345 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse349 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse349 .cse17) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse347 (select .cse346 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (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|) .cse1))) (< 0 (select .cse346 (+ (* .cse347 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (= .cse347 (select .cse346 .cse1)) (not (= (mod (+ (select .cse348 .cse19) 1) 4) 0)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_17| .cse8))))))) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse344 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse7))) (= (select .cse350 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse352 4)) (< .cse21 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_25|) (< .cse352 0)))))))))) is different from true Received shutdown request... [2024-05-04 19:07:51,370 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-05-04 19:07:51,370 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-05-04 19:07:51,370 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-05-04 19:07:51,494 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (9 of 10 remaining) [2024-05-04 19:07:51,499 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2024-05-04 19:07:51,698 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-05-04 19:07:51,699 WARN L619 AbstractCegarLoop]: Verification canceled: while PartialOrderCegarLoop was analyzing trace of length 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while PolyPacSimplificationTermWalker was simplifying a ∨-11-1 term,while PolyPacSimplificationTermWalker was simplifying 11 xjuncts wrt. a ATOM-1 context. [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (8 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (7 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (6 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (5 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (4 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (3 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (2 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (1 of 10 remaining) [2024-05-04 19:07:51,701 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (0 of 10 remaining) [2024-05-04 19:07:51,704 INFO L448 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2024-05-04 19:07:51,708 INFO L228 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-05-04 19:07:51,708 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2024-05-04 19:07:51,709 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 04.05 07:07:51 BasicIcfg [2024-05-04 19:07:51,709 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-05-04 19:07:51,710 INFO L158 Benchmark]: Toolchain (without parser) took 859852.17ms. Allocated memory was 319.8MB in the beginning and 2.0GB in the end (delta: 1.6GB). Free memory was 245.5MB in the beginning and 1.6GB in the end (delta: -1.3GB). Peak memory consumption was 1.2GB. Max. memory is 8.0GB. [2024-05-04 19:07:51,710 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 319.8MB. Free memory is still 286.1MB. There was no memory consumed. Max. memory is 8.0GB. [2024-05-04 19:07:51,710 INFO L158 Benchmark]: CACSL2BoogieTranslator took 725.39ms. Allocated memory is still 319.8MB. Free memory was 245.4MB in the beginning and 211.1MB in the end (delta: 34.3MB). Peak memory consumption was 33.6MB. Max. memory is 8.0GB. [2024-05-04 19:07:51,710 INFO L158 Benchmark]: Boogie Procedure Inliner took 46.73ms. Allocated memory is still 319.8MB. Free memory was 211.1MB in the beginning and 207.8MB in the end (delta: 3.3MB). Peak memory consumption was 4.2MB. Max. memory is 8.0GB. [2024-05-04 19:07:51,710 INFO L158 Benchmark]: Boogie Preprocessor took 86.03ms. Allocated memory is still 319.8MB. Free memory was 207.8MB in the beginning and 285.0MB in the end (delta: -77.2MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB. [2024-05-04 19:07:51,710 INFO L158 Benchmark]: RCFGBuilder took 489.45ms. Allocated memory is still 319.8MB. Free memory was 285.0MB in the beginning and 259.8MB in the end (delta: 25.2MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. [2024-05-04 19:07:51,711 INFO L158 Benchmark]: TraceAbstraction took 858498.70ms. Allocated memory was 319.8MB in the beginning and 2.0GB in the end (delta: 1.6GB). Free memory was 258.8MB in the beginning and 1.6GB in the end (delta: -1.3GB). Peak memory consumption was 1.2GB. Max. memory is 8.0GB. [2024-05-04 19:07:51,711 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.10ms. Allocated memory is still 319.8MB. Free memory is still 286.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 725.39ms. Allocated memory is still 319.8MB. Free memory was 245.4MB in the beginning and 211.1MB in the end (delta: 34.3MB). Peak memory consumption was 33.6MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 46.73ms. Allocated memory is still 319.8MB. Free memory was 211.1MB in the beginning and 207.8MB in the end (delta: 3.3MB). Peak memory consumption was 4.2MB. Max. memory is 8.0GB. * Boogie Preprocessor took 86.03ms. Allocated memory is still 319.8MB. Free memory was 207.8MB in the beginning and 285.0MB in the end (delta: -77.2MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB. * RCFGBuilder took 489.45ms. Allocated memory is still 319.8MB. Free memory was 285.0MB in the beginning and 259.8MB in the end (delta: 25.2MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. * TraceAbstraction took 858498.70ms. Allocated memory was 319.8MB in the beginning and 2.0GB in the end (delta: 1.6GB). Free memory was 258.8MB in the beginning and 1.6GB in the end (delta: -1.3GB). Peak memory consumption was 1.2GB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Independence relation #1 benchmarks ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 399196, independent: 381441, independent conditional: 381441, independent unconditional: 0, dependent: 17755, dependent conditional: 17755, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 383095, independent: 381441, independent conditional: 381441, independent unconditional: 0, 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: 383095, independent: 381441, independent conditional: 381441, independent unconditional: 0, 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: 383095, independent: 381441, independent conditional: 381441, independent unconditional: 0, 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: 387072, independent: 381441, independent conditional: 46, independent unconditional: 381395, 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: 387072, independent: 381441, independent conditional: 46, independent unconditional: 381395, 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: 387072, independent: 381441, independent conditional: 46, independent unconditional: 381395, 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: 4309, independent: 4092, independent conditional: 11, independent unconditional: 4081, 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: 4309, independent: 4077, independent conditional: 0, independent unconditional: 4077, dependent: 232, dependent conditional: 0, dependent unconditional: 232, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 232, independent: 15, independent conditional: 11, 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: 232, independent: 15, independent conditional: 11, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 694, independent: 37, independent conditional: 29, independent unconditional: 8, dependent: 657, dependent conditional: 491, dependent unconditional: 166, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 387072, independent: 377349, independent conditional: 35, independent unconditional: 377314, dependent: 5414, dependent conditional: 654, dependent unconditional: 4760, unknown: 4309, unknown conditional: 173, unknown unconditional: 4136] , Statistics on independence cache: Total cache size (in pairs): 4309, Positive cache size: 4092, Positive conditional cache size: 11, Positive unconditional cache size: 4081, 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: 1461, Maximal queried relation: 4, ConditionTransformingIndependenceRelation.Independence Queries: [ total: 387072, independent: 381441, independent conditional: 46, independent unconditional: 381395, 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: 387072, independent: 381441, independent conditional: 46, independent unconditional: 381395, 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: 387072, independent: 381441, independent conditional: 46, independent unconditional: 381395, 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: 4309, independent: 4092, independent conditional: 11, independent unconditional: 4081, 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: 4309, independent: 4077, independent conditional: 0, independent unconditional: 4077, dependent: 232, dependent conditional: 0, dependent unconditional: 232, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 232, independent: 15, independent conditional: 11, 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: 232, independent: 15, independent conditional: 11, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 694, independent: 37, independent conditional: 29, independent unconditional: 8, dependent: 657, dependent conditional: 491, dependent unconditional: 166, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 387072, independent: 377349, independent conditional: 35, independent unconditional: 377314, dependent: 5414, dependent conditional: 654, dependent unconditional: 4760, unknown: 4309, unknown conditional: 173, unknown unconditional: 4136] , Statistics on independence cache: Total cache size (in pairs): 4309, Positive cache size: 4092, Positive conditional cache size: 11, Positive unconditional cache size: 4081, 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: 1461 ], Independence queries for same thread: 16101 - 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 PolyPacSimplificationTermWalker was simplifying a ∨-11-1 term,while PolyPacSimplificationTermWalker was simplifying 11 xjuncts wrt. a ATOM-1 context. - 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 PolyPacSimplificationTermWalker was simplifying a ∨-11-1 term,while PolyPacSimplificationTermWalker was simplifying 11 xjuncts wrt. a ATOM-1 context. - 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 PolyPacSimplificationTermWalker was simplifying a ∨-11-1 term,while PolyPacSimplificationTermWalker was simplifying 11 xjuncts wrt. a ATOM-1 context. - 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 PolyPacSimplificationTermWalker was simplifying a ∨-11-1 term,while PolyPacSimplificationTermWalker was simplifying 11 xjuncts wrt. a ATOM-1 context. - 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 PolyPacSimplificationTermWalker was simplifying a ∨-11-1 term,while PolyPacSimplificationTermWalker was simplifying 11 xjuncts wrt. a ATOM-1 context. - 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 PolyPacSimplificationTermWalker was simplifying a ∨-11-1 term,while PolyPacSimplificationTermWalker was simplifying 11 xjuncts wrt. a ATOM-1 context. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 5 procedures, 338 locations, 10 error locations. Started 1 CEGAR loops. OverallTime: 858.3s, OverallIterations: 5, TraceHistogramMax: 0, PathProgramHistogramMax: 1, EmptinessCheckTime: 532.1s, 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, 125.2s 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, ConditionalCommutativityCheckTime: 0.0s, ConditionalCommutativityIAIntegrations: 0, ConditionalCommutativityDFSRestarts: 0, ConditionalCommutativityConditionCalculations: 0, ConditionalCommutativityTraceChecks: 0, ConditionalCommutativityImperfectProofs: 0 RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown