/root/.sdkman/candidates/java/current/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf --traceabstraction.dfs.order.used.in.por LOOP_LOCKSTEP --traceabstraction.additional.conditional.commutativity.checking IA --traceabstraction.criterion.for.conditional.commutativity.checking RANDOM --traceabstraction.probability.for.random.criterion 20 --traceabstraction.seed.for.random.criterion 546 -tc ../benchexec/../../../trunk/examples/toolchains/AutomizerCInline.xml -i ../../../trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i -------------------------------------------------------------------------------- This is Ultimate 0.2.4-wip.dk.conditional-comm-3774817-m [2024-04-04 22:05:34,024 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-04-04 22:05:34,091 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf [2024-04-04 22:05:34,095 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-04-04 22:05:34,096 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-04-04 22:05:34,123 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-04-04 22:05:34,123 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-04-04 22:05:34,123 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-04-04 22:05:34,124 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-04-04 22:05:34,128 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-04-04 22:05:34,129 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-04-04 22:05:34,129 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-04-04 22:05:34,129 INFO L153 SettingsManager]: * Use SBE=true [2024-04-04 22:05:34,130 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-04-04 22:05:34,131 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-04-04 22:05:34,131 INFO L153 SettingsManager]: * sizeof long=4 [2024-04-04 22:05:34,131 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-04-04 22:05:34,131 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-04-04 22:05:34,131 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-04-04 22:05:34,131 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-04-04 22:05:34,131 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-04-04 22:05:34,133 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-04-04 22:05:34,133 INFO L153 SettingsManager]: * sizeof long double=12 [2024-04-04 22:05:34,133 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-04-04 22:05:34,133 INFO L153 SettingsManager]: * Use constant arrays=true [2024-04-04 22:05:34,133 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-04-04 22:05:34,133 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-04-04 22:05:34,133 INFO L153 SettingsManager]: * To the following directory=./dump/ [2024-04-04 22:05:34,134 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-04-04 22:05:34,134 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-04-04 22:05:34,135 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-04-04 22:05:34,135 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-04-04 22:05:34,135 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-04-04 22:05:34,135 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-04-04 22:05:34,135 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=SLEEP_NEW_STATES [2024-04-04 22:05:34,135 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-04-04 22:05:34,136 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-04-04 22:05:34,136 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-04-04 22:05:34,136 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-04-04 22:05:34,136 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: DFS Order used in POR -> LOOP_LOCKSTEP Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Additional conditional commutativity checking -> IA Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Criterion for conditional commutativity checking -> RANDOM Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: probability for random criterion as percentage -> 20 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: seed for random criterion -> 546 [2024-04-04 22:05:34,306 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-04-04 22:05:34,321 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-04-04 22:05:34,323 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-04-04 22:05:34,324 INFO L270 PluginConnector]: Initializing CDTParser... [2024-04-04 22:05:34,324 INFO L274 PluginConnector]: CDTParser initialized [2024-04-04 22:05:34,325 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i [2024-04-04 22:05:35,496 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-04-04 22:05:35,683 INFO L384 CDTParser]: Found 1 translation units. [2024-04-04 22:05:35,684 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i [2024-04-04 22:05:35,706 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/b4f0d00d9/2e2658c13c2c47eabe4c90981d33c733/FLAGabc358919 [2024-04-04 22:05:35,716 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/b4f0d00d9/2e2658c13c2c47eabe4c90981d33c733 [2024-04-04 22:05:35,717 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-04-04 22:05:35,718 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-04-04 22:05:35,719 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-04-04 22:05:35,719 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-04-04 22:05:35,725 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-04-04 22:05:35,726 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.04 10:05:35" (1/1) ... [2024-04-04 22:05:35,726 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@32dd6699 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:35, skipping insertion in model container [2024-04-04 22:05:35,727 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.04 10:05:35" (1/1) ... [2024-04-04 22:05:35,769 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-04-04 22:05:36,096 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39095,39108] [2024-04-04 22:05:36,100 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39180,39193] [2024-04-04 22:05:36,103 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39232,39245] [2024-04-04 22:05:36,153 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49388,49401] [2024-04-04 22:05:36,155 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49437,49450] [2024-04-04 22:05:36,157 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49565,49578] [2024-04-04 22:05:36,158 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49623,49636] [2024-04-04 22:05:36,164 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-04-04 22:05:36,172 INFO L202 MainTranslator]: Completed pre-run [2024-04-04 22:05:36,202 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39095,39108] [2024-04-04 22:05:36,203 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39180,39193] [2024-04-04 22:05:36,203 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[39232,39245] [2024-04-04 22:05:36,222 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49388,49401] [2024-04-04 22:05:36,223 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49437,49450] [2024-04-04 22:05:36,226 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49565,49578] [2024-04-04 22:05:36,226 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-divine/ring_2w1r-1.i[49623,49636] [2024-04-04 22:05:36,239 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-04-04 22:05:36,289 INFO L206 MainTranslator]: Completed translation [2024-04-04 22:05:36,289 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36 WrapperNode [2024-04-04 22:05:36,290 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-04-04 22:05:36,291 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-04-04 22:05:36,291 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-04-04 22:05:36,291 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-04-04 22:05:36,297 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,322 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,352 INFO L138 Inliner]: procedures = 310, calls = 70, calls flagged for inlining = 10, calls inlined = 8, statements flattened = 211 [2024-04-04 22:05:36,352 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-04-04 22:05:36,353 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-04-04 22:05:36,353 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-04-04 22:05:36,353 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-04-04 22:05:36,360 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,360 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,374 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,374 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,379 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,382 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,383 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,399 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,401 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-04-04 22:05:36,402 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-04-04 22:05:36,402 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-04-04 22:05:36,402 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-04-04 22:05:36,403 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (1/1) ... [2024-04-04 22:05:36,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-04-04 22:05:36,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-04 22:05:36,441 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-04-04 22:05:36,455 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-04-04 22:05:36,483 INFO L130 BoogieDeclarations]: Found specification of procedure reader_two [2024-04-04 22:05:36,483 INFO L138 BoogieDeclarations]: Found implementation of procedure reader_two [2024-04-04 22:05:36,483 INFO L130 BoogieDeclarations]: Found specification of procedure writer_fn [2024-04-04 22:05:36,483 INFO L138 BoogieDeclarations]: Found implementation of procedure writer_fn [2024-04-04 22:05:36,483 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-04-04 22:05:36,483 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-04-04 22:05:36,483 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-04-04 22:05:36,484 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-04-04 22:05:36,484 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-04-04 22:05:36,484 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-04-04 22:05:36,484 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-04-04 22:05:36,484 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-04-04 22:05:36,484 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-04-04 22:05:36,484 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-04-04 22:05:36,485 WARN L213 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-04-04 22:05:36,630 INFO L241 CfgBuilder]: Building ICFG [2024-04-04 22:05:36,632 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2024-04-04 22:05:36,914 INFO L282 CfgBuilder]: Performing block encoding [2024-04-04 22:05:36,929 INFO L304 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-04-04 22:05:36,930 INFO L309 CfgBuilder]: Removed 6 assume(true) statements. [2024-04-04 22:05:36,931 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 04.04 10:05:36 BoogieIcfgContainer [2024-04-04 22:05:36,931 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-04-04 22:05:36,933 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-04-04 22:05:36,933 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-04-04 22:05:36,935 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-04-04 22:05:36,935 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 04.04 10:05:35" (1/3) ... [2024-04-04 22:05:36,935 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51b72661 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 04.04 10:05:36, skipping insertion in model container [2024-04-04 22:05:36,935 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.04 10:05:36" (2/3) ... [2024-04-04 22:05:36,936 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51b72661 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 04.04 10:05:36, skipping insertion in model container [2024-04-04 22:05:36,936 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 04.04 10:05:36" (3/3) ... [2024-04-04 22:05:36,936 INFO L112 eAbstractionObserver]: Analyzing ICFG ring_2w1r-1.i [2024-04-04 22:05:36,942 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2024-04-04 22:05:36,949 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-04-04 22:05:36,949 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2024-04-04 22:05:36,949 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-04-04 22:05:37,022 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-04-04 22:05:37,057 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-04-04 22:05:37,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-04-04 22:05:37,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-04 22:05:37,086 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-04-04 22:05:37,087 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2024-04-04 22:05:37,119 INFO L184 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-04-04 22:05:37,128 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-04 22:05:37,129 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-04-04 22:05:37,133 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;@6bbd733e, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms], mConComChecker=IA, mConComCheckerCriterion=RANDOM, mConComCheckerLimitedChecksCriterion=false, mConComCheckerCriterionLimit=1, mConComCheckerRandomProb=20, mConComCheckerRandomSeed=546 [2024-04-04 22:05:37,134 INFO L358 AbstractCegarLoop]: Starting to check reachability of 10 error locations. [2024-04-04 22:05:37,606 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-04-04 22:05:37,610 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-04 22:05:37,611 INFO L85 PathProgramCache]: Analyzing trace with hash 538585321, now seen corresponding path program 1 times [2024-04-04 22:05:37,617 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-04 22:05:37,618 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265844106] [2024-04-04 22:05:37,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:05:37,618 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-04 22:05:37,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:05:39,312 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-04 22:05:39,312 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-04 22:05:39,312 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265844106] [2024-04-04 22:05:39,313 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265844106] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-04 22:05:39,313 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-04 22:05:39,314 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2024-04-04 22:05:39,315 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [37002453] [2024-04-04 22:05:39,315 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-04 22:05:39,321 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2024-04-04 22:05:39,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-04 22:05:39,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2024-04-04 22:05:39,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=335, Unknown=0, NotChecked=0, Total=380 [2024-04-04 22:05:39,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:05:39,451 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-04 22:05:39,452 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 5.15) internal successors, (103), 20 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-04-04 22:05:39,453 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:05:43,367 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-04 22:05:43,368 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-04-04 22:05:43,368 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-04-04 22:05:43,369 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-04 22:05:43,369 INFO L85 PathProgramCache]: Analyzing trace with hash 1570529064, now seen corresponding path program 1 times [2024-04-04 22:05:43,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-04 22:05:43,369 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1218510598] [2024-04-04 22:05:43,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:05:43,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-04 22:05:43,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:05:43,529 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-04-04 22:05:43,530 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-04 22:05:43,530 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1218510598] [2024-04-04 22:05:43,530 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1218510598] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-04 22:05:43,530 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-04 22:05:43,530 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-04-04 22:05:43,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [775332483] [2024-04-04 22:05:43,530 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-04 22:05:43,531 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-04-04 22:05:43,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-04 22:05:43,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-04-04 22:05:43,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-04-04 22:05:43,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:05:43,551 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-04 22:05:43,551 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 45.0) internal successors, (135), 3 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-04-04 22:05:43,551 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-04-04 22:05:43,551 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:05:44,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-04 22:05:44,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-04-04 22:05:44,217 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-04-04 22:05:44,217 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-04-04 22:05:44,217 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-04 22:05:44,217 INFO L85 PathProgramCache]: Analyzing trace with hash 388017180, now seen corresponding path program 1 times [2024-04-04 22:05:44,218 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-04 22:05:44,218 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [700963985] [2024-04-04 22:05:44,218 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:05:44,218 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-04 22:05:44,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:05:47,159 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-04 22:05:47,159 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-04 22:05:47,159 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [700963985] [2024-04-04 22:05:47,159 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [700963985] provided 0 perfect and 1 imperfect interpolant sequences [2024-04-04 22:05:47,159 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1136719491] [2024-04-04 22:05:47,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:05:47,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-04 22:05:47,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-04 22:05:47,205 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-04-04 22:05:47,256 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-04-04 22:05:47,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:05:47,351 INFO L262 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 94 conjunts are in the unsatisfiable core [2024-04-04 22:05:47,359 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-04 22:05:47,391 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-04-04 22:05:47,406 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-04-04 22:05:47,407 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 14 [2024-04-04 22:05:47,422 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-04-04 22:05:47,422 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2024-04-04 22:05:47,456 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-04-04 22:05:47,515 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2024-04-04 22:05:47,600 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-04-04 22:05:47,950 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 16 [2024-04-04 22:05:48,657 INFO L349 Elim1Store]: treesize reduction 32, result has 31.9 percent of original size [2024-04-04 22:05:48,658 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 34 treesize of output 35 [2024-04-04 22:05:48,937 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 89 treesize of output 71 [2024-04-04 22:05:48,948 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 97 [2024-04-04 22:05:49,113 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 30 [2024-04-04 22:05:49,832 INFO L349 Elim1Store]: treesize reduction 22, result has 12.0 percent of original size [2024-04-04 22:05:49,833 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 101 treesize of output 55 [2024-04-04 22:05:49,897 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-04 22:05:49,897 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-04 22:05:56,620 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse0 (select (let ((.cse1 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (store .cse1 |c_ULTIMATE.start_main_~#r~3#1.base| (store (let ((.cse2 (select .cse1 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse2 .cse3) 4) 4) 1)) .cse3 0))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse0 (+ (* (select .cse0 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse6 (select v_ArrVal_101 .cse3)) (.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (or (not (= v_ArrVal_101 (store (let ((.cse4 (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse4 .cse3) 4) 4) 1)) .cse3 .cse6))) (< .cse6 1) (< 4 .cse6) (= .cse6 4) (< 0 (let ((.cse7 (select (store .cse5 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse7 (+ (* (select .cse7 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse8 (select v_ArrVal_101 .cse3)) (.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (or (< (+ 3 .cse8) 0) (not (= v_ArrVal_101 (store (let ((.cse9 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse9 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse9 .cse3) 4) 4) 1)) .cse3 .cse8))) (< 0 .cse8) (< 0 (let ((.cse11 (select (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse11 (+ (* (select .cse11 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))) is different from false [2024-04-04 22:05:57,027 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse2 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse0 (select v_ArrVal_101 .cse4))) (or (< (+ 3 .cse0) 0) (< 0 (let ((.cse1 (select (store .cse2 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse1 (+ (* (select .cse1 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4) 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)))) (not (= v_ArrVal_101 (store (let ((.cse3 (select .cse2 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse3 .cse4) 4) 4) 1)) .cse4 .cse0))) (< 0 .cse0)))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse6 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse8 (select v_ArrVal_101 .cse4))) (or (< 0 (let ((.cse5 (select (store .cse6 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse5 (+ (* (select .cse5 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4) 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)))) (not (= v_ArrVal_101 (store (let ((.cse7 (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse7 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse7 .cse4) 4) 4) 1)) .cse4 .cse8))) (< .cse8 1) (< 4 .cse8) (= .cse8 4)))) (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse9 (select (let ((.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| (store (let ((.cse11 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse11 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse11 .cse4) 4) 4) 1)) .cse4 0))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (select .cse9 (+ (* (select .cse9 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) 4) 4 |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))) is different from false [2024-04-04 22:05:57,070 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse1 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse4 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse0 (select (store .cse1 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse0 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4 (* (select .cse0 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) 4))))) (not (= v_ArrVal_101 (store (let ((.cse2 (select .cse1 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse2 .cse3) 4) 4) 1)) .cse3 .cse4))) (< .cse4 1) (< 4 .cse4) (= .cse4 4)))) (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse5 (select (let ((.cse6 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99))) (store .cse6 |c_ULTIMATE.start_main_~#r~3#1.base| (store (let ((.cse7 (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse7 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse7 .cse3) 4) 4) 1)) .cse3 0))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse5 (+ (* 4 (select .cse5 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_101 (Array Int Int))) (let ((.cse10 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99)) (.cse8 (select v_ArrVal_101 .cse3))) (or (< (+ 3 .cse8) 0) (< 0 (let ((.cse9 (select (store .cse10 |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (select .cse9 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 4 (* (select .cse9 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) 4))))) (not (= v_ArrVal_101 (store (let ((.cse11 (select .cse10 |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse11 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse11 .cse3) 4) 4) 1)) .cse3 .cse8))) (< 0 .cse8)))))) is different from false [2024-04-04 22:05:57,102 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int))) (<= 1 (let ((.cse0 (let ((.cse2 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse2 .cse1) 4) 4) 1)))) (select (store .cse0 .cse1 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< 0 (let ((.cse3 (let ((.cse4 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse4 .cse1) 4) 4) 1)))) (select (store .cse3 .cse1 v_DerPreprocessor_3) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse3 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))) (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_99 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< 0 (let ((.cse5 (let ((.cse6 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse6 .cse1) 4) 4) 1)))) (select (store .cse5 .cse1 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))) (< (+ 3 v_DerPreprocessor_2) 0))))) is different from false [2024-04-04 22:05:57,130 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< 0 (let ((.cse0 (let ((.cse2 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse2 .cse1) 4) 4) 1)))) (select (store .cse0 .cse1 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))) (< (+ 3 v_DerPreprocessor_2) 0))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (< 0 (let ((.cse3 (let ((.cse4 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse4 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse4 .cse1) 4) 4) 1)))) (select (store .cse3 .cse1 v_DerPreprocessor_3) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse3 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4)))) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int))) (<= 1 (let ((.cse5 (let ((.cse6 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse6 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse6 .cse1) 4) 4) 1)))) (select (store .cse5 .cse1 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* (select .cse5 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4) 4))))))) is different from false [2024-04-04 22:05:57,265 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20)) (.cse3 (store |c_#memory_int| |c_ULTIMATE.start_ring_init_~r#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_ring_init_~r#1.base|) |c_ULTIMATE.start_ring_init_~r#1.offset| 0)))) (and (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int)) (v_DerPreprocessor_2 Int)) (or (< 0 v_DerPreprocessor_2) (< (+ 3 v_DerPreprocessor_2) 0) (< 0 (let ((.cse0 (let ((.cse2 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse2 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse2 .cse1)) 4) 1)))) (select (store .cse0 .cse1 v_DerPreprocessor_2) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse0 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4))))))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int)) (v_DerPreprocessor_3 Int)) (or (< v_DerPreprocessor_3 1) (< 4 v_DerPreprocessor_3) (< 0 (let ((.cse4 (let ((.cse5 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse5 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse5 .cse1)) 4) 1)))) (select (store .cse4 .cse1 v_DerPreprocessor_3) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse4 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4))))) (= v_DerPreprocessor_3 4))) (forall ((v_ArrVal_99 (Array Int Int)) (v_ArrVal_98 (Array Int Int))) (<= 1 (let ((.cse6 (let ((.cse7 (select (store (store .cse3 |c_ULTIMATE.start_main_~#reader~0#1.base| v_ArrVal_98) |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_99) |c_ULTIMATE.start_main_~#r~3#1.base|))) (store .cse7 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 (select .cse7 .cse1)) 4) 1)))) (select (store .cse6 .cse1 0) (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 4 (* (select .cse6 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) is different from false [2024-04-04 22:05:57,281 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-04 22:05:57,282 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 92 [2024-04-04 22:05:57,290 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-04 22:05:57,290 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 432 treesize of output 420 [2024-04-04 22:05:57,316 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-04 22:05:57,316 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 3 case distinctions, treesize of input 568 treesize of output 384 [2024-04-04 22:05:57,360 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-04 22:05:57,361 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 3 case distinctions, treesize of input 1038 treesize of output 632 [2024-04-04 22:05:57,399 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-04 22:05:57,399 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 9 [2024-04-04 22:05:57,577 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-04 22:05:57,578 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 7 new quantified variables, introduced 15 case distinctions, treesize of input 541 treesize of output 424 [2024-04-04 22:05:58,557 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-04 22:05:58,561 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-04-04 22:05:58,562 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 1 [2024-04-04 22:05:58,565 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-04 22:05:58,567 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2024-04-04 22:05:58,567 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 125 treesize of output 1 [2024-04-04 22:05:58,909 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-04 22:05:58,910 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1136719491] provided 0 perfect and 2 imperfect interpolant sequences [2024-04-04 22:05:58,910 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-04-04 22:05:58,910 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 33, 32] total 86 [2024-04-04 22:05:58,910 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1742523078] [2024-04-04 22:05:58,910 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-04-04 22:05:58,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 86 states [2024-04-04 22:05:58,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-04 22:05:58,936 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 86 interpolants. [2024-04-04 22:05:58,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=278, Invalid=6023, Unknown=43, NotChecked=966, Total=7310 [2024-04-04 22:05:58,938 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:05:58,938 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-04 22:05:58,939 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 86 states, 86 states have (on average 3.802325581395349) internal successors, (327), 86 states have internal predecessors, (327), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-04-04 22:05:58,939 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-04-04 22:05:58,939 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2024-04-04 22:05:58,939 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:06:05,392 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse25 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse60 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse42 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse61 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse60 .cse17) 4) 4)) (.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)) (.cse32 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse64 (+ (* (select .cse25 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse29 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse29 0) 0)) (.cse11 (store .cse25 .cse64 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse31 (let ((.cse65 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse65 .cse32) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse25 .cse64 |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 ((.cse63 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse63 .cse13) 4)) 1))) (.cse20 (store .cse60 .cse61 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse41 (let ((.cse62 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse62 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse62 .cse42) 4) 4) 1))) (.cse16 (store .cse60 .cse61 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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse21 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse21))) (< 0 (let ((.cse22 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse21) (< (+ .cse21 3) 0)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse23 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse23))) (< .cse23 1) (< 0 (let ((.cse24 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse23 4) (< 4 .cse23)))) (= (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 .cse25 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse26 (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 .cse26 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse27 (select .cse29 20)) (.cse28 (= (select .cse29 4) 1))) (or (and .cse8 (= 0 .cse27) .cse28) (and .cse8 (<= 1 .cse27) (<= .cse27 3) .cse28) (and .cse8 (<= (+ 1 .cse27) 0) (<= 0 (+ 3 .cse27)) .cse28))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse30 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse31 .cse32 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse30 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (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 ((.cse33 (select v_ArrVal_101 .cse5))) (or (< 4 .cse33) (< .cse33 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse33))) (< 0 (let ((.cse34 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse34 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse33 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse35 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse35))) (< (+ 3 .cse35) 0) (< 0 (let ((.cse36 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse36 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse36 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse35)))) (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 ((.cse37 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse37))) (< (+ .cse37 3) 0) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ (* (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse37)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse39 (select v_ArrVal_101 .cse42))) (or (< (+ 3 .cse39) 0) (< 0 .cse39) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse41 .cse42 .cse39)))))) (<= 1 (select .cse25 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse43 (select v_ArrVal_101 .cse32))) (or (= .cse43 4) (not (= v_ArrVal_101 (store .cse31 .cse32 .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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse45 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse45))) (< .cse45 1) (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#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) (< 4 .cse45)))) (= |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 ((.cse47 (select v_ArrVal_101 .cse5))) (or (< 4 .cse47) (< .cse47 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse47))) (< 0 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse48 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse48 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse47 4)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse49 (select v_ArrVal_101 .cse32))) (or (not (= v_ArrVal_101 (store .cse31 .cse32 .cse49))) (< 0 .cse49) (< 0 (let ((.cse50 (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 .cse50 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse49 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 ((.cse51 (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 .cse51 (+ (* (select .cse51 |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 ((.cse53 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse52 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse52 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse53))) (< .cse53 1) (< 4 .cse53) (= .cse53 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse54 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse41 .cse42 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse54 (+ (* (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (<= 1 (let ((.cse56 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse20 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse57 (select v_ArrVal_101 .cse42))) (or (< .cse57 1) (< 4 .cse57) (< 0 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ (* (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse41 .cse42 .cse57))) (= 4 .cse57)))) (<= 1 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-04-04 22:06:10,378 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse25 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse60 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse42 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse61 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse60 .cse17) 4) 4)) (.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)) (.cse32 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse64 (+ (* (select .cse25 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse29 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse29 0) 0)) (.cse11 (store .cse25 .cse64 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse31 (let ((.cse65 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse65 .cse32) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse25 .cse64 |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 ((.cse63 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse63 .cse13) 4)) 1))) (.cse20 (store .cse60 .cse61 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse41 (let ((.cse62 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse62 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse62 .cse42) 4) 4) 1))) (.cse16 (store .cse60 .cse61 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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse21 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse21))) (< 0 (let ((.cse22 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse21) (< (+ .cse21 3) 0)))) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse23 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse23))) (< .cse23 1) (< 0 (let ((.cse24 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse23 4) (< 4 .cse23)))) (= (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 .cse25 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse26 (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 .cse26 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse27 (select .cse29 20)) (.cse28 (= (select .cse29 4) 1))) (or (and .cse8 (= 0 .cse27) .cse28) (and .cse8 (<= 1 .cse27) (<= .cse27 3) .cse28) (and .cse8 (<= (+ 1 .cse27) 0) (<= 0 (+ 3 .cse27)) .cse28))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse30 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse31 .cse32 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse30 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (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 ((.cse33 (select v_ArrVal_101 .cse5))) (or (< 4 .cse33) (< .cse33 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse33))) (< 0 (let ((.cse34 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse34 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse33 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse35 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse35))) (< (+ 3 .cse35) 0) (< 0 (let ((.cse36 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse36 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse36 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse35)))) (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 ((.cse37 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse37))) (< (+ .cse37 3) 0) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ (* (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse37)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse39 (select v_ArrVal_101 .cse42))) (or (< (+ 3 .cse39) 0) (< 0 .cse39) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse41 .cse42 .cse39)))))) (<= 1 (select .cse25 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse43 (select v_ArrVal_101 .cse32))) (or (= .cse43 4) (not (= v_ArrVal_101 (store .cse31 .cse32 .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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse45 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse45))) (< .cse45 1) (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#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) (< 4 .cse45)))) (= |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 ((.cse47 (select v_ArrVal_101 .cse5))) (or (< 4 .cse47) (< .cse47 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse47))) (< 0 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse48 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse48 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse47 4)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse49 (select v_ArrVal_101 .cse32))) (or (not (= v_ArrVal_101 (store .cse31 .cse32 .cse49))) (< 0 .cse49) (< 0 (let ((.cse50 (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 .cse50 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse49 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 ((.cse51 (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 .cse51 (+ (* (select .cse51 |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 ((.cse53 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse52 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse52 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse53))) (< .cse53 1) (< 4 .cse53) (= .cse53 4)))) (<= 1 (let ((.cse54 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse41 .cse42 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse54 (+ (* (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (<= 1 (let ((.cse56 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse20 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse57 (select v_ArrVal_101 .cse42))) (or (< .cse57 1) (< 4 .cse57) (< 0 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ (* (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse41 .cse42 .cse57))) (= 4 .cse57)))) (<= 1 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-04-04 22:06:15,135 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse25 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse60 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse42 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse61 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse60 .cse17) 4) 4)) (.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)) (.cse32 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse64 (+ (* (select .cse25 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse29 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse29 0) 0)) (.cse11 (store .cse25 .cse64 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse31 (let ((.cse65 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse65 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse65 .cse32) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse25 .cse64 |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 ((.cse63 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse63 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse63 .cse13) 4)) 1))) (.cse20 (store .cse60 .cse61 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse41 (let ((.cse62 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse62 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse62 .cse42) 4) 4) 1))) (.cse16 (store .cse60 .cse61 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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse21 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse21))) (< 0 (let ((.cse22 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse21) (< (+ .cse21 3) 0)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse23 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse23))) (< .cse23 1) (< 0 (let ((.cse24 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse23 4) (< 4 .cse23)))) (= (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 .cse25 0) 0) (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse26 (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 .cse26 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse26 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse27 (select .cse29 20)) (.cse28 (= (select .cse29 4) 1))) (or (and .cse8 (= 0 .cse27) .cse28) (and .cse8 (<= 1 .cse27) (<= .cse27 3) .cse28) (and .cse8 (<= (+ 1 .cse27) 0) (<= 0 (+ 3 .cse27)) .cse28))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (<= 1 (let ((.cse30 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse31 .cse32 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse30 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (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 ((.cse33 (select v_ArrVal_101 .cse5))) (or (< 4 .cse33) (< .cse33 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse33))) (< 0 (let ((.cse34 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse34 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse33 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse35 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse35))) (< (+ 3 .cse35) 0) (< 0 (let ((.cse36 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse36 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse36 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse35)))) (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 ((.cse37 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse37))) (< (+ .cse37 3) 0) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ (* (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse37)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse39 (select v_ArrVal_101 .cse42))) (or (< (+ 3 .cse39) 0) (< 0 .cse39) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse41 .cse42 .cse39)))))) (<= 1 (select .cse25 4)) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse43 (select v_ArrVal_101 .cse32))) (or (= .cse43 4) (not (= v_ArrVal_101 (store .cse31 .cse32 .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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse45 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse45))) (< .cse45 1) (< 0 (let ((.cse46 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#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) (< 4 .cse45)))) (= |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 ((.cse47 (select v_ArrVal_101 .cse5))) (or (< 4 .cse47) (< .cse47 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse47))) (< 0 (let ((.cse48 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse48 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse48 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse47 4)))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse49 (select v_ArrVal_101 .cse32))) (or (not (= v_ArrVal_101 (store .cse31 .cse32 .cse49))) (< 0 .cse49) (< 0 (let ((.cse50 (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 .cse50 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse49 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 ((.cse51 (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 .cse51 (+ (* (select .cse51 |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 ((.cse53 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse52 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse52 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse53))) (< .cse53 1) (< 4 .cse53) (= .cse53 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse54 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse41 .cse42 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse54 (+ (* (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse55 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse55 (+ (* (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (<= 1 (let ((.cse56 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse20 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse57 (select v_ArrVal_101 .cse42))) (or (< .cse57 1) (< 4 .cse57) (< 0 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ (* (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse41 .cse42 .cse57))) (= 4 .cse57)))) (<= 1 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-04-04 22:06:45,165 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse52 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse64 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse17 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse44 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20)) (.cse65 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse64 .cse17) 4) 4)) (.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)) (.cse34 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20)) (.cse68 (+ (* (select .cse52 .cse5) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 4)) (.cse30 (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse8 (= (select .cse30 0) 0)) (.cse11 (store .cse52 .cse68 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|)) (.cse25 (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0)) (.cse26 (= (select .cse52 0) 0)) (.cse31 (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse45 (<= 1 (select .cse52 4))) (.cse33 (let ((.cse69 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|))) (store .cse69 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| (* (select .cse69 .cse34) 4) 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~x#1|))) (.cse4 (store .cse52 .cse68 |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 ((.cse67 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|))) (store .cse67 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 4 (* (select .cse67 .cse13) 4)) 1))) (.cse20 (store .cse64 .cse65 (+ |c_writer_fnThread1of1ForFork1_~i~1#1| 1))) (.cse43 (let ((.cse66 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|))) (store .cse66 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* (select .cse66 .cse44) 4) 4) 1))) (.cse16 (store .cse64 .cse65 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) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse21 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse21))) (< 0 (let ((.cse22 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse22 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse22 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse21) (< (+ .cse21 3) 0)))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (= |c_writer_fnThread1of1ForFork1_~arg#1.base| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse23 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse16 .cse17 .cse23))) (< .cse23 1) (< 0 (let ((.cse24 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |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)))) (= .cse23 4) (< 4 .cse23)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~arg#1.base|) 0) 0) (= |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 0) .cse25 .cse26 (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_reader_twoThread1of1ForFork0_~arg#1.base|) (<= 1 (let ((.cse27 (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 .cse27 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse27 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (let ((.cse28 (select .cse30 20)) (.cse29 (= (select .cse30 4) 1))) (or (and .cse8 (= 0 .cse28) .cse29) (and .cse8 (<= 1 .cse28) (<= .cse28 3) .cse29) (and .cse8 (<= (+ 1 .cse28) 0) (<= 0 (+ 3 .cse28)) .cse29))) .cse31 (<= 1 (let ((.cse32 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse33 .cse34 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse32 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (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 ((.cse35 (select v_ArrVal_101 .cse5))) (or (< 4 .cse35) (< .cse35 1) (not (= v_ArrVal_101 (store .cse4 .cse5 .cse35))) (< 0 (let ((.cse36 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse36 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse36 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse35 4)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse37 (select v_ArrVal_101 .cse5))) (or (not (= v_ArrVal_101 (store .cse11 .cse5 .cse37))) (< (+ 3 .cse37) 0) (< 0 (let ((.cse38 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse38 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse38 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (< 0 .cse37)))) (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 ((.cse39 (select v_ArrVal_101 .cse13))) (or (not (= v_ArrVal_101 (store .cse12 .cse13 .cse39))) (< (+ .cse39 3) 0) (< 0 (let ((.cse40 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse40 (+ (* (select .cse40 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (< 0 .cse39)))) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse41 (select v_ArrVal_101 .cse44))) (or (< (+ 3 .cse41) 0) (< 0 .cse41) (< 0 (let ((.cse42 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse42 (+ (* (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse43 .cse44 .cse41)))))) .cse45 (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse46 (select v_ArrVal_101 .cse34))) (or (= .cse46 4) (not (= v_ArrVal_101 (store .cse33 .cse34 .cse46))) (< .cse46 1) (< 4 .cse46) (< 0 (let ((.cse47 (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 .cse47 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse47 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4))))))) (= |c_writer_fnThread1of1ForFork1_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse48 (select v_ArrVal_101 .cse17))) (or (not (= v_ArrVal_101 (store .cse20 .cse17 .cse48))) (< .cse48 1) (< 0 (let ((.cse49 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse49 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse49 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (= .cse48 4) (< 4 .cse48)))) (= |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 ((.cse50 (select v_ArrVal_101 .cse5))) (or (< 4 .cse50) (< .cse50 1) (not (= v_ArrVal_101 (store .cse11 .cse5 .cse50))) (< 0 (let ((.cse51 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#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)))) (= .cse50 4)))) (or (= 0 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (and .cse25 .cse26 .cse31 .cse45 (= (select .cse52 20) 0))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse53 (select v_ArrVal_101 .cse34))) (or (not (= v_ArrVal_101 (store .cse33 .cse34 .cse53))) (< 0 .cse53) (< 0 (let ((.cse54 (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 .cse54 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) 4)))) (< (+ .cse53 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 ((.cse55 (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 .cse55 (+ (* (select .cse55 |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 ((.cse57 (select v_ArrVal_101 .cse3))) (or (< 0 (let ((.cse56 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse56 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) 4)))) (not (= v_ArrVal_101 (store .cse2 .cse3 .cse57))) (< .cse57 1) (< 4 .cse57) (= .cse57 4)))) (= (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) 0) 0) (<= 1 (let ((.cse58 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse43 .cse44 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse58 (+ (* (select .cse58 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (<= 1 (let ((.cse59 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse12 .cse13 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse59 (+ (* (select .cse59 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_~r~1#1.base|) (<= 1 (let ((.cse60 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse20 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse60 (+ (* (select .cse60 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (= |c_reader_twoThread1of1ForFork0_~arg#1.offset| 0) (forall ((v_ArrVal_101 (Array Int Int))) (let ((.cse61 (select v_ArrVal_101 .cse44))) (or (< .cse61 1) (< 4 .cse61) (< 0 (let ((.cse62 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| v_ArrVal_101) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse62 (+ (* (select .cse62 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))) (not (= v_ArrVal_101 (store .cse43 .cse44 .cse61))) (= 4 .cse61)))) (<= 1 (let ((.cse63 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse16 .cse17 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (select .cse63 (+ (* (select .cse63 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4)))))))) is different from false [2024-04-04 22:06:48,884 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-04 22:06:48,884 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-04-04 22:06:48,885 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 82 states. [2024-04-04 22:06:48,894 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-04-04 22:06:49,085 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2024-04-04 22:06:49,086 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-04-04 22:06:49,086 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-04 22:06:49,086 INFO L85 PathProgramCache]: Analyzing trace with hash 250164921, now seen corresponding path program 1 times [2024-04-04 22:06:49,086 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-04 22:06:49,086 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1840169913] [2024-04-04 22:06:49,086 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:06:49,087 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-04 22:06:49,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:06:51,774 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-04 22:06:51,774 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-04 22:06:51,774 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1840169913] [2024-04-04 22:06:51,774 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1840169913] provided 0 perfect and 1 imperfect interpolant sequences [2024-04-04 22:06:51,774 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1526880267] [2024-04-04 22:06:51,774 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:06:51,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-04 22:06:51,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-04 22:06:51,776 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-04-04 22:06:51,778 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-04-04 22:06:51,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:06:51,906 INFO L262 TraceCheckSpWp]: Trace formula consists of 345 conjuncts, 112 conjunts are in the unsatisfiable core [2024-04-04 22:06:51,911 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-04 22:06:51,915 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-04-04 22:06:51,927 INFO L349 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2024-04-04 22:06:51,928 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 14 [2024-04-04 22:06:51,952 INFO L349 Elim1Store]: treesize reduction 16, result has 36.0 percent of original size [2024-04-04 22:06:51,953 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 16 treesize of output 18 [2024-04-04 22:06:51,999 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-04-04 22:06:52,015 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 11 [2024-04-04 22:06:52,057 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-04-04 22:06:52,289 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-04-04 22:06:53,087 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-04-04 22:06:53,102 INFO L349 Elim1Store]: treesize reduction 21, result has 34.4 percent of original size [2024-04-04 22:06:53,103 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 46 treesize of output 29 [2024-04-04 22:06:53,279 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 107 treesize of output 79 [2024-04-04 22:06:53,284 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 85 [2024-04-04 22:06:53,380 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 20 [2024-04-04 22:06:53,397 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2024-04-04 22:06:54,746 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-04 22:06:54,746 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 95 treesize of output 43 [2024-04-04 22:06:54,952 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-04 22:06:54,953 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-04 22:08:39,948 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-04-04 22:08:39,948 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1526880267] provided 0 perfect and 2 imperfect interpolant sequences [2024-04-04 22:08:39,949 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-04-04 22:08:39,949 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 39, 31] total 82 [2024-04-04 22:08:39,949 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1070127188] [2024-04-04 22:08:39,949 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-04-04 22:08:39,949 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 82 states [2024-04-04 22:08:39,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-04 22:08:39,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 82 interpolants. [2024-04-04 22:08:39,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=384, Invalid=6251, Unknown=7, NotChecked=0, Total=6642 [2024-04-04 22:08:39,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:08:39,968 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-04 22:08:39,968 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 82 states, 82 states have (on average 3.182926829268293) internal successors, (261), 82 states have internal predecessors, (261), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-04-04 22:08:39,968 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 29 states. [2024-04-04 22:08:39,968 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2024-04-04 22:08:39,969 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 82 states. [2024-04-04 22:08:39,969 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-04 22:08:48,527 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:08:52,886 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:08:57,351 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:09:43,780 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse382 (mod (+ .cse161 1) 4))) (let ((.cse380 (+ .cse161 2)) (.cse381 (= .cse382 0)) (.cse383 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse380 0) (not .cse381) (= .cse382 (+ 4 .cse383)))) (.cse154 (and (or (< 0 .cse380) .cse381) (= .cse382 .cse383))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse253 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse258 (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse257 (store .cse258 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (select .cse258 .cse26)) (.cse251 (select (store .cse253 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse257 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse252 (select .cse251 .cse56)) (.cse256 (mod (+ .cse254 1) 4)) (.cse255 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse251 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse252) (not (= .cse252 (select (select .cse253 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse254) (= .cse255 .cse256) (not (= (mod (+ (select .cse257 .cse26) 1) 4) 0)) (= .cse256 (+ .cse255 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse264 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (+ (select .cse265 .cse26) 1))) (let ((.cse262 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 (mod .cse259 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse261 (select .cse262 .cse95)) (.cse260 (select .cse264 .cse26))) (or (< .cse259 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 (select .cse262 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse261 (select (select .cse263 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse260 1) 4) 0)) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse270 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse271 (select .cse270 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse271 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse266 (+ (select .cse272 .cse26) 1))) (let ((.cse269 (select (store .cse270 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 (mod .cse266 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse271 .cse26)) (.cse268 (select .cse269 .cse56))) (or (< .cse266 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (not (= (mod (+ .cse267 1) 4) 0)) (= .cse268 (select .cse269 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse268 (select (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse275 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse275 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse277 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (select (store .cse275 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse277 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse274 (select .cse273 .cse56)) (.cse276 (select .cse278 .cse26))) (or (= (select .cse273 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse274) (not (= .cse274 (select (select .cse275 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (not (= (mod (+ (select .cse277 .cse26) 1) 4) 0)) (not (= (mod (+ .cse276 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (select .cse286 .cse26))) (let ((.cse287 (mod (+ .cse279 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse279) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse285 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse282 (select .cse285 .cse26))) (let ((.cse284 (mod (+ .cse282 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse285 .cse26 (+ .cse284 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse280 (select .cse283 .cse95))) (or (not (= .cse280 (select (select .cse281 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse282 2)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse280) (= .cse284 0)))))))))) (< 0 (+ 2 .cse279)) (= .cse287 0) (= .cse287 (+ (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse293 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse290 (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse288 (select .cse290 .cse26))) (let ((.cse289 (mod (+ .cse288 1) 4))) (or (< 0 (+ 2 .cse288)) (= .cse289 0) (= .cse289 (+ (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse288) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse296 (store .cse290 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse296 .cse26))) (let ((.cse292 (mod (+ .cse291 1) 4))) (let ((.cse295 (select (store .cse293 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse296 .cse26 (+ .cse292 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse294 (select .cse295 .cse6))) (or (< 0 (+ .cse291 2)) (= .cse292 0) (not (= (select (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)) (= (select .cse295 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse303 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse303 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse297 1) 4))) (or (< 0 (+ 2 .cse297)) (= .cse298 0) (= .cse298 (+ (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse304 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse304 .cse26) 1))) (let ((.cse302 (select (store .cse303 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse304 .cse26 (mod .cse300 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse301 (select .cse302 .cse95))) (or (< .cse300 0) (= .cse301 (select .cse302 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse301 (select (select .cse303 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse311 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (store .cse311 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse312 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse312 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse305 (select .cse311 .cse26)) (.cse309 (select .cse310 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse305) (< 0 (+ .cse306 2)) (not (= (mod (+ .cse305 1) 4) 0)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309) (= (select .cse311 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse323 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse322 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse324 (select .cse323 .cse322))) (let ((.cse316 (mod (+ .cse324 1) 4))) (let ((.cse313 (+ 2 .cse324)) (.cse314 (= .cse316 0)) (.cse315 (select .cse323 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse313 0) (not .cse314) (= (+ .cse315 4) .cse316)) (and (or (< 0 .cse313) .cse314) (= .cse315 .cse316)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse321 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse321 .cse322))) (let ((.cse317 (mod (+ .cse320 1) 4))) (let ((.cse319 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse321 .cse322 (+ (- 4) .cse317))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse318 (select .cse319 .cse6))) (or (= .cse317 0) (not (= .cse1 .cse318)) (= .cse318 (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse320))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse327 (+ (select .cse328 .cse322) 1))) (let ((.cse326 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse328 .cse322 (mod .cse327 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse325 (select .cse326 .cse6))) (or (not (= .cse1 .cse325)) (= .cse325 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse327 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse331 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse330 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse331 .cse322 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse329 (select .cse330 .cse6))) (or (= .cse329 (select .cse330 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse329 .cse1)) (not (= (mod (+ (select .cse331 .cse322) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse336 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse337 (select .cse336 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse338 (store .cse337 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse337 .cse26)) (.cse333 (select (store .cse336 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse338 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse332 (select .cse333 .cse95)) (.cse334 (+ .cse335 1))) (or (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse334 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse335) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse332)) (= (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse334 4)) (not (= (mod (+ (select .cse338 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse339 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse343 (select .cse339 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse344 (store .cse343 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store .cse339 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse344 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse343 .cse26))) (let ((.cse341 (+ .cse342 1)) (.cse340 (select .cse345 .cse6))) (or (not (= (select (select .cse339 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)) (< .cse341 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (= (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse341 4)) (not (= (mod (+ (select .cse344 .cse26) 1) 4) 0)) (= (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse349 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse348 (select .cse353 .cse26)) (.cse347 (select (store .cse349 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse351 (mod (+ .cse348 1) 4)) (.cse350 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse348) (not (= (select (select .cse349 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= .cse350 .cse351) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0)) (= .cse351 (+ .cse350 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse359 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse359 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse363 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse355 (select .cse363 .cse26))) (let ((.cse358 (mod (+ .cse355 1) 4))) (let ((.cse361 (select (store .cse359 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse363 .cse26 (+ .cse358 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse354 (select .cse362 .cse26))) (let ((.cse357 (mod (+ .cse354 1) 4)) (.cse356 (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse360 (select .cse361 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (< 0 (+ .cse355 2)) (= .cse356 .cse357) (= .cse357 (+ .cse356 4)) (= .cse358 0) (not (= (select (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)) (= (select .cse361 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse370 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse370 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse371 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse364 (+ (select .cse371 .cse26) 1))) (let ((.cse369 (select (store .cse370 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse371 .cse26 (mod .cse364 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse366 (select .cse367 .cse26))) (let ((.cse365 (+ .cse366 1)) (.cse368 (select .cse369 .cse95))) (or (< .cse364 0) (< .cse365 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse366) (= (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse365 4)) (= .cse368 (select .cse369 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse368 (select (select .cse370 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse375 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse375 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse379 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse372 (+ (select .cse379 .cse26) 1))) (let ((.cse378 (select (store .cse375 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse379 .cse26 (mod .cse372 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse374 (select .cse377 .cse26))) (let ((.cse373 (+ .cse374 1)) (.cse376 (select .cse378 .cse6))) (or (< .cse372 0) (< .cse373 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse374) (not (= (select (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376)) (= (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse373 4)) (= (select .cse378 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376))))))))))))))) is different from true [2024-04-04 22:09:49,379 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:09:50,726 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-04-04 22:10:09,690 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-04-04 22:10:11,040 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-04-04 22:10:22,188 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.50s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:10:24,040 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.71s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:10:26,077 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:10:28,389 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-04-04 22:10:32,378 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (let ((.cse162 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse163 (select .cse162 .cse161))) (let ((.cse155 (mod (+ .cse163 1) 4))) (let ((.cse153 (+ .cse163 2)) (.cse154 (= .cse155 0)) (.cse156 (select .cse162 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (or (and (<= .cse153 0) (not .cse154) (= .cse155 (+ 4 .cse156))) (and (or (< 0 .cse153) .cse154) (= .cse155 .cse156)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse160 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse159 (+ (select .cse160 .cse161) 1))) (let ((.cse157 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse160 .cse161 (mod .cse159 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse158 (select .cse157 .cse6))) (or (= (select .cse157 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse158) (< .cse159 0) (not (= .cse1 .cse158)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse164 .cse161 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (not (= (mod (+ (select .cse164 .cse161) 1) 4) 0)) (not (= .cse165 .cse1)) (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (select .cse171 .cse161))) (let ((.cse170 (mod (+ .cse169 1) 4))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse171 .cse161 (+ .cse170 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 .cse6))) (or (= .cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse167)) (< 0 (+ 2 .cse169)) (= .cse170 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse178 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse179 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse180 (store .cse179 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse172 (+ (select .cse180 .cse26) 1))) (let ((.cse173 (select .cse179 .cse26)) (.cse177 (select (store .cse178 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse180 .cse26 (mod .cse172 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse176 (select .cse177 .cse95)) (.cse175 (mod (+ .cse173 1) 4)) (.cse174 (select .cse179 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse172 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (= .cse174 .cse175) (= .cse176 (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse176 (select (select .cse178 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse175 (+ .cse174 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse186 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse184 (select .cse186 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (store .cse184 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (select .cse189 .cse26))) (let ((.cse185 (mod (+ .cse183 1) 4))) (let ((.cse188 (select (store .cse186 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse189 .cse26 (+ .cse185 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse182 (select .cse184 .cse26))) (let ((.cse181 (+ .cse182 1)) (.cse187 (select .cse188 .cse6))) (or (< .cse181 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse182) (< 0 (+ .cse183 2)) (= (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse181 4)) (= .cse185 0) (not (= (select (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)) (= (select .cse188 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse191 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse195 (select .cse191 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse190 (select .cse195 .cse26))) (let ((.cse196 (mod (+ .cse190 1) 4))) (or (< 0 (+ 2 .cse190)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse193 (store .cse195 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse194 (select (store .cse191 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse193 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse194 .cse6))) (or (not (= (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)) (not (= (mod (+ (select .cse193 .cse26) 1) 4) 0)) (= (select .cse194 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)))))) (= .cse196 0) (= .cse196 (+ (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse202 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse199 (select .cse202 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse197 (select .cse199 .cse26))) (let ((.cse198 (mod (+ .cse197 1) 4))) (or (< 0 (+ 2 .cse197)) (= .cse198 0) (= .cse198 (+ (select .cse199 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse203 (store .cse199 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse201 (select (store .cse202 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse203 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse200 (select .cse201 .cse95))) (or (= .cse200 (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse202 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse200)) (not (= (mod (+ (select .cse203 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse205 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse209 (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse212 (store .cse209 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse208 (select .cse212 .cse26))) (let ((.cse211 (mod (+ .cse208 1) 4))) (let ((.cse210 (select (store .cse205 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse212 .cse26 (+ .cse211 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse207 (select .cse209 .cse26))) (let ((.cse206 (+ .cse207 1)) (.cse204 (select .cse210 .cse95))) (or (not (= .cse204 (select (select .cse205 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse206 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse207) (< 0 (+ .cse208 2)) (= (select .cse209 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse206 4)) (= (select .cse210 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse204) (= .cse211 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse220 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse218 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse219 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse218 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse215 (select .cse220 .cse26))) (let ((.cse217 (mod (+ .cse215 1) 4)) (.cse216 (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse214 (select .cse219 .cse6))) (or (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse215) (= .cse216 .cse217) (not (= (mod (+ (select .cse218 .cse26) 1) 4) 0)) (= .cse217 (+ .cse216 4)) (= (select .cse219 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse227 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (select .cse223 .cse26))) (let ((.cse222 (mod (+ .cse221 1) 4))) (or (< 0 (+ 2 .cse221)) (= .cse222 0) (= .cse222 (+ (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse228 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (+ (select .cse228 .cse26) 1))) (let ((.cse226 (select (store .cse227 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse228 .cse26 (mod .cse224 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse225 (select .cse226 .cse56))) (or (< .cse224 0) (= .cse225 (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse225 (select (select .cse227 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse237 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse238 (store .cse237 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse232 (select .cse238 .cse26))) (let ((.cse236 (mod (+ .cse232 1) 4))) (let ((.cse231 (select .cse237 .cse26)) (.cse235 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse238 .cse26 (+ .cse236 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse229 (select .cse235 .cse95)) (.cse234 (mod (+ .cse231 1) 4)) (.cse233 (select .cse237 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse229 (select (select .cse230 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse231) (< 0 (+ .cse232 2)) (= .cse233 .cse234) (= (select .cse235 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse229) (= .cse234 (+ .cse233 4)) (= .cse236 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse241 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse246 (select .cse241 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse245 (store .cse246 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse242 (select .cse246 .cse26)) (.cse239 (select (store .cse241 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse245 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse240 (select .cse239 .cse56)) (.cse244 (mod (+ .cse242 1) 4)) (.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse239 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse240) (not (= .cse240 (select (select .cse241 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse242) (= .cse243 .cse244) (not (= (mod (+ (select .cse245 .cse26) 1) 4) 0)) (= .cse244 (+ .cse243 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse251 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse252 (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse253 (store .cse252 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse247 (+ (select .cse253 .cse26) 1))) (let ((.cse250 (select (store .cse251 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse253 .cse26 (mod .cse247 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse249 (select .cse250 .cse95)) (.cse248 (select .cse252 .cse26))) (or (< .cse247 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse248) (= .cse249 (select .cse250 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse249 (select (select .cse251 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse248 1) 4) 0)) (= (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse259 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse260 (store .cse259 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse260 .cse26) 1))) (let ((.cse257 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse260 .cse26 (mod .cse254 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse255 (select .cse259 .cse26)) (.cse256 (select .cse257 .cse56))) (or (< .cse254 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse255) (not (= (mod (+ .cse255 1) 4) 0)) (= .cse256 (select .cse257 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse256 (select (select .cse258 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse259 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse266 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse266 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse261 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse262 (select .cse261 .cse56)) (.cse264 (select .cse266 .cse26))) (or (= (select .cse261 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse262) (not (= .cse262 (select (select .cse263 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse264) (not (= (mod (+ (select .cse265 .cse26) 1) 4) 0)) (not (= (mod (+ .cse264 1) 4) 0)) (= (select .cse266 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse269 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse274 (select .cse269 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse267 (select .cse274 .cse26))) (let ((.cse275 (mod (+ .cse267 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse274 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse270 (select .cse273 .cse26))) (let ((.cse272 (mod (+ .cse270 1) 4))) (let ((.cse271 (select (store .cse269 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (+ .cse272 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse268 (select .cse271 .cse95))) (or (not (= .cse268 (select (select .cse269 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse270 2)) (= (select .cse271 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse268) (= .cse272 0)))))))))) (< 0 (+ 2 .cse267)) (= .cse275 0) (= .cse275 (+ (select .cse274 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse276 (select .cse278 .cse26))) (let ((.cse277 (mod (+ .cse276 1) 4))) (or (< 0 (+ 2 .cse276)) (= .cse277 0) (= .cse277 (+ (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse284 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse279 (select .cse284 .cse26))) (let ((.cse280 (mod (+ .cse279 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse284 .cse26 (+ .cse280 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse282 (select .cse283 .cse6))) (or (< 0 (+ .cse279 2)) (= .cse280 0) (not (= (select (select .cse281 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse291 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse287 (select .cse291 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse285 (select .cse287 .cse26))) (let ((.cse286 (mod (+ .cse285 1) 4))) (or (< 0 (+ 2 .cse285)) (= .cse286 0) (= .cse286 (+ (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse292 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (+ (select .cse292 .cse26) 1))) (let ((.cse290 (select (store .cse291 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 (mod .cse288 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse289 (select .cse290 .cse95))) (or (< .cse288 0) (= .cse289 (select .cse290 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse289 (select (select .cse291 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse300 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse294 (select .cse300 .cse26))) (let ((.cse295 (mod (+ .cse294 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse293 (select .cse299 .cse26)) (.cse297 (select .cse298 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (< 0 (+ .cse294 2)) (not (= (mod (+ .cse293 1) 4) 0)) (= .cse295 0) (not (= (select (select .cse296 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297) (= (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse311 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse310 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse312 (select .cse311 .cse310))) (let ((.cse304 (mod (+ .cse312 1) 4))) (let ((.cse301 (+ 2 .cse312)) (.cse302 (= .cse304 0)) (.cse303 (select .cse311 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse301 0) (not .cse302) (= (+ .cse303 4) .cse304)) (and (or (< 0 .cse301) .cse302) (= .cse303 .cse304)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse309 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (select .cse309 .cse310))) (let ((.cse305 (mod (+ .cse308 1) 4))) (let ((.cse307 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse309 .cse310 (+ (- 4) .cse305))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse306 (select .cse307 .cse6))) (or (= .cse305 0) (not (= .cse1 .cse306)) (= .cse306 (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse308))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse316 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse316 .cse310) 1))) (let ((.cse314 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse316 .cse310 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse313 (select .cse314 .cse6))) (or (not (= .cse1 .cse313)) (= .cse313 (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse315 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse318 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse319 .cse310 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse317 (select .cse318 .cse6))) (or (= .cse317 (select .cse318 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse317 .cse1)) (not (= (mod (+ (select .cse319 .cse310) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse324 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse323 (select .cse325 .cse26)) (.cse321 (select (store .cse324 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse320 (select .cse321 .cse95)) (.cse322 (+ .cse323 1))) (or (= .cse320 (select .cse321 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse322 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse323) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse320)) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse322 4)) (not (= (mod (+ (select .cse326 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse327 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse331 (select .cse327 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse332 (store .cse331 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse333 (select (store .cse327 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse332 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse330 (select .cse331 .cse26))) (let ((.cse329 (+ .cse330 1)) (.cse328 (select .cse333 .cse6))) (or (not (= (select (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)) (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (= (select .cse331 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse329 4)) (not (= (mod (+ (select .cse332 .cse26) 1) 4) 0)) (= (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse337 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select .cse341 .cse26)) (.cse335 (select (store .cse337 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse334 (select .cse335 .cse95)) (.cse339 (mod (+ .cse336 1) 4)) (.cse338 (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse334 (select .cse335 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse336) (not (= (select (select .cse337 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse334)) (= .cse338 .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (= .cse339 (+ .cse338 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse347 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse350 (select .cse347 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (store .cse350 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse343 (select .cse351 .cse26))) (let ((.cse346 (mod (+ .cse343 1) 4))) (let ((.cse349 (select (store .cse347 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse351 .cse26 (+ .cse346 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse350 .cse26))) (let ((.cse345 (mod (+ .cse342 1) 4)) (.cse344 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse348 (select .cse349 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (< 0 (+ .cse343 2)) (= .cse344 .cse345) (= .cse345 (+ .cse344 4)) (= .cse346 0) (not (= (select (select .cse347 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)) (= (select .cse349 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse358 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse355 (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse355 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse352 (+ (select .cse359 .cse26) 1))) (let ((.cse357 (select (store .cse358 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (mod .cse352 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse354 (select .cse355 .cse26))) (let ((.cse353 (+ .cse354 1)) (.cse356 (select .cse357 .cse95))) (or (< .cse352 0) (< .cse353 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (= (select .cse355 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse353 4)) (= .cse356 (select .cse357 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse356 (select (select .cse358 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse365 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse365 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (+ (select .cse367 .cse26) 1))) (let ((.cse366 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse360 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse362 (select .cse365 .cse26))) (let ((.cse361 (+ .cse362 1)) (.cse364 (select .cse366 .cse6))) (or (< .cse360 0) (< .cse361 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364)) (= (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse361 4)) (= (select .cse366 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364))))))))))) is different from true [2024-04-04 22:10:36,800 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (let ((.cse162 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse163 (select .cse162 .cse161))) (let ((.cse155 (mod (+ .cse163 1) 4))) (let ((.cse153 (+ .cse163 2)) (.cse154 (= .cse155 0)) (.cse156 (select .cse162 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (or (and (<= .cse153 0) (not .cse154) (= .cse155 (+ 4 .cse156))) (and (or (< 0 .cse153) .cse154) (= .cse155 .cse156)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse160 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse159 (+ (select .cse160 .cse161) 1))) (let ((.cse157 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse160 .cse161 (mod .cse159 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse158 (select .cse157 .cse6))) (or (= (select .cse157 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse158) (< .cse159 0) (not (= .cse1 .cse158)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse164 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse164 .cse161 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (not (= (mod (+ (select .cse164 .cse161) 1) 4) 0)) (not (= .cse165 .cse1)) (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse162 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse169 (select .cse171 .cse161))) (let ((.cse170 (mod (+ .cse169 1) 4))) (let ((.cse168 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse171 .cse161 (+ .cse170 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse167 (select .cse168 .cse6))) (or (= .cse167 (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse167)) (< 0 (+ 2 .cse169)) (= .cse170 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse163))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse178 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse179 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse180 (store .cse179 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse172 (+ (select .cse180 .cse26) 1))) (let ((.cse173 (select .cse179 .cse26)) (.cse177 (select (store .cse178 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse180 .cse26 (mod .cse172 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse176 (select .cse177 .cse95)) (.cse175 (mod (+ .cse173 1) 4)) (.cse174 (select .cse179 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse172 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (= .cse174 .cse175) (= .cse176 (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse176 (select (select .cse178 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse175 (+ .cse174 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse186 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse184 (select .cse186 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (store .cse184 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse183 (select .cse189 .cse26))) (let ((.cse185 (mod (+ .cse183 1) 4))) (let ((.cse188 (select (store .cse186 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse189 .cse26 (+ .cse185 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse182 (select .cse184 .cse26))) (let ((.cse181 (+ .cse182 1)) (.cse187 (select .cse188 .cse6))) (or (< .cse181 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse182) (< 0 (+ .cse183 2)) (= (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse181 4)) (= .cse185 0) (not (= (select (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)) (= (select .cse188 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse187)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse191 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse195 (select .cse191 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse190 (select .cse195 .cse26))) (let ((.cse196 (mod (+ .cse190 1) 4))) (or (< 0 (+ 2 .cse190)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse193 (store .cse195 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse194 (select (store .cse191 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse193 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse194 .cse6))) (or (not (= (select (select .cse191 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)) (not (= (mod (+ (select .cse193 .cse26) 1) 4) 0)) (= (select .cse194 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse192)))))) (= .cse196 0) (= .cse196 (+ (select .cse195 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse202 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse199 (select .cse202 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse197 (select .cse199 .cse26))) (let ((.cse198 (mod (+ .cse197 1) 4))) (or (< 0 (+ 2 .cse197)) (= .cse198 0) (= .cse198 (+ (select .cse199 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse203 (store .cse199 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse201 (select (store .cse202 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse203 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse200 (select .cse201 .cse95))) (or (= .cse200 (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse202 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse200)) (not (= (mod (+ (select .cse203 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse205 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse209 (select .cse205 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse212 (store .cse209 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse208 (select .cse212 .cse26))) (let ((.cse211 (mod (+ .cse208 1) 4))) (let ((.cse210 (select (store .cse205 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse212 .cse26 (+ .cse211 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse207 (select .cse209 .cse26))) (let ((.cse206 (+ .cse207 1)) (.cse204 (select .cse210 .cse95))) (or (not (= .cse204 (select (select .cse205 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse206 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse207) (< 0 (+ .cse208 2)) (= (select .cse209 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse206 4)) (= (select .cse210 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse204) (= .cse211 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse213 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse220 (select .cse213 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse218 (store .cse220 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse219 (select (store .cse213 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse218 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse215 (select .cse220 .cse26))) (let ((.cse217 (mod (+ .cse215 1) 4)) (.cse216 (select .cse220 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse214 (select .cse219 .cse6))) (or (not (= (select (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse215) (= .cse216 .cse217) (not (= (mod (+ (select .cse218 .cse26) 1) 4) 0)) (= .cse217 (+ .cse216 4)) (= (select .cse219 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse214)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse227 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse221 (select .cse223 .cse26))) (let ((.cse222 (mod (+ .cse221 1) 4))) (or (< 0 (+ 2 .cse221)) (= .cse222 0) (= .cse222 (+ (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse228 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse224 (+ (select .cse228 .cse26) 1))) (let ((.cse226 (select (store .cse227 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse228 .cse26 (mod .cse224 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse225 (select .cse226 .cse56))) (or (< .cse224 0) (= .cse225 (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse225 (select (select .cse227 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse237 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse238 (store .cse237 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse232 (select .cse238 .cse26))) (let ((.cse236 (mod (+ .cse232 1) 4))) (let ((.cse231 (select .cse237 .cse26)) (.cse235 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse238 .cse26 (+ .cse236 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse229 (select .cse235 .cse95)) (.cse234 (mod (+ .cse231 1) 4)) (.cse233 (select .cse237 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse229 (select (select .cse230 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse231) (< 0 (+ .cse232 2)) (= .cse233 .cse234) (= (select .cse235 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse229) (= .cse234 (+ .cse233 4)) (= .cse236 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse241 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse246 (select .cse241 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse245 (store .cse246 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse242 (select .cse246 .cse26)) (.cse239 (select (store .cse241 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse245 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse240 (select .cse239 .cse56)) (.cse244 (mod (+ .cse242 1) 4)) (.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse239 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse240) (not (= .cse240 (select (select .cse241 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse242) (= .cse243 .cse244) (not (= (mod (+ (select .cse245 .cse26) 1) 4) 0)) (= .cse244 (+ .cse243 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse251 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse252 (select .cse251 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse253 (store .cse252 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse247 (+ (select .cse253 .cse26) 1))) (let ((.cse250 (select (store .cse251 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse253 .cse26 (mod .cse247 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse249 (select .cse250 .cse95)) (.cse248 (select .cse252 .cse26))) (or (< .cse247 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse248) (= .cse249 (select .cse250 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse249 (select (select .cse251 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse248 1) 4) 0)) (= (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse259 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse260 (store .cse259 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse260 .cse26) 1))) (let ((.cse257 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse260 .cse26 (mod .cse254 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse255 (select .cse259 .cse26)) (.cse256 (select .cse257 .cse56))) (or (< .cse254 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse255) (not (= (mod (+ .cse255 1) 4) 0)) (= .cse256 (select .cse257 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse256 (select (select .cse258 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse259 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse266 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse266 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse261 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse262 (select .cse261 .cse56)) (.cse264 (select .cse266 .cse26))) (or (= (select .cse261 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse262) (not (= .cse262 (select (select .cse263 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse264) (not (= (mod (+ (select .cse265 .cse26) 1) 4) 0)) (not (= (mod (+ .cse264 1) 4) 0)) (= (select .cse266 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse269 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse274 (select .cse269 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse267 (select .cse274 .cse26))) (let ((.cse275 (mod (+ .cse267 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse274 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse270 (select .cse273 .cse26))) (let ((.cse272 (mod (+ .cse270 1) 4))) (let ((.cse271 (select (store .cse269 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (+ .cse272 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse268 (select .cse271 .cse95))) (or (not (= .cse268 (select (select .cse269 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse270 2)) (= (select .cse271 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse268) (= .cse272 0)))))))))) (< 0 (+ 2 .cse267)) (= .cse275 0) (= .cse275 (+ (select .cse274 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse276 (select .cse278 .cse26))) (let ((.cse277 (mod (+ .cse276 1) 4))) (or (< 0 (+ 2 .cse276)) (= .cse277 0) (= .cse277 (+ (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse284 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse279 (select .cse284 .cse26))) (let ((.cse280 (mod (+ .cse279 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse284 .cse26 (+ .cse280 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse282 (select .cse283 .cse6))) (or (< 0 (+ .cse279 2)) (= .cse280 0) (not (= (select (select .cse281 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse282)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse291 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse287 (select .cse291 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse285 (select .cse287 .cse26))) (let ((.cse286 (mod (+ .cse285 1) 4))) (or (< 0 (+ 2 .cse285)) (= .cse286 0) (= .cse286 (+ (select .cse287 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse292 (store .cse287 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (+ (select .cse292 .cse26) 1))) (let ((.cse290 (select (store .cse291 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 (mod .cse288 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse289 (select .cse290 .cse95))) (or (< .cse288 0) (= .cse289 (select .cse290 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse289 (select (select .cse291 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse300 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse294 (select .cse300 .cse26))) (let ((.cse295 (mod (+ .cse294 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse293 (select .cse299 .cse26)) (.cse297 (select .cse298 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (< 0 (+ .cse294 2)) (not (= (mod (+ .cse293 1) 4) 0)) (= .cse295 0) (not (= (select (select .cse296 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse297) (= (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse311 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse310 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse312 (select .cse311 .cse310))) (let ((.cse304 (mod (+ .cse312 1) 4))) (let ((.cse301 (+ 2 .cse312)) (.cse302 (= .cse304 0)) (.cse303 (select .cse311 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse301 0) (not .cse302) (= (+ .cse303 4) .cse304)) (and (or (< 0 .cse301) .cse302) (= .cse303 .cse304)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse309 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (select .cse309 .cse310))) (let ((.cse305 (mod (+ .cse308 1) 4))) (let ((.cse307 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse309 .cse310 (+ (- 4) .cse305))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse306 (select .cse307 .cse6))) (or (= .cse305 0) (not (= .cse1 .cse306)) (= .cse306 (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse308))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse316 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse316 .cse310) 1))) (let ((.cse314 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse316 .cse310 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse313 (select .cse314 .cse6))) (or (not (= .cse1 .cse313)) (= .cse313 (select .cse314 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse315 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse312) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse311 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse318 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse319 .cse310 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse317 (select .cse318 .cse6))) (or (= .cse317 (select .cse318 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse317 .cse1)) (not (= (mod (+ (select .cse319 .cse310) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse324 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse323 (select .cse325 .cse26)) (.cse321 (select (store .cse324 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse320 (select .cse321 .cse95)) (.cse322 (+ .cse323 1))) (or (= .cse320 (select .cse321 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse322 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse323) (not (= (select (select .cse324 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse320)) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse322 4)) (not (= (mod (+ (select .cse326 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse327 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse331 (select .cse327 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse332 (store .cse331 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse333 (select (store .cse327 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse332 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse330 (select .cse331 .cse26))) (let ((.cse329 (+ .cse330 1)) (.cse328 (select .cse333 .cse6))) (or (not (= (select (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)) (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (= (select .cse331 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse329 4)) (not (= (mod (+ (select .cse332 .cse26) 1) 4) 0)) (= (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse328)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse337 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select .cse341 .cse26)) (.cse335 (select (store .cse337 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse334 (select .cse335 .cse95)) (.cse339 (mod (+ .cse336 1) 4)) (.cse338 (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse334 (select .cse335 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse336) (not (= (select (select .cse337 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse334)) (= .cse338 .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (= .cse339 (+ .cse338 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse347 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse350 (select .cse347 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (store .cse350 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse343 (select .cse351 .cse26))) (let ((.cse346 (mod (+ .cse343 1) 4))) (let ((.cse349 (select (store .cse347 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse351 .cse26 (+ .cse346 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse350 .cse26))) (let ((.cse345 (mod (+ .cse342 1) 4)) (.cse344 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse348 (select .cse349 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (< 0 (+ .cse343 2)) (= .cse344 .cse345) (= .cse345 (+ .cse344 4)) (= .cse346 0) (not (= (select (select .cse347 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)) (= (select .cse349 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse348)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse358 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse355 (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse355 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse352 (+ (select .cse359 .cse26) 1))) (let ((.cse357 (select (store .cse358 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (mod .cse352 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse354 (select .cse355 .cse26))) (let ((.cse353 (+ .cse354 1)) (.cse356 (select .cse357 .cse95))) (or (< .cse352 0) (< .cse353 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (= (select .cse355 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse353 4)) (= .cse356 (select .cse357 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse356 (select (select .cse358 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse365 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse365 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (+ (select .cse367 .cse26) 1))) (let ((.cse366 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse360 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse362 (select .cse365 .cse26))) (let ((.cse361 (+ .cse362 1)) (.cse364 (select .cse366 .cse6))) (or (< .cse360 0) (< .cse361 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364)) (= (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse361 4)) (= (select .cse366 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse364))))))))))) is different from true [2024-04-04 22:10:41,983 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse382 (mod (+ .cse161 1) 4))) (let ((.cse380 (+ .cse161 2)) (.cse381 (= .cse382 0)) (.cse383 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse380 0) (not .cse381) (= .cse382 (+ 4 .cse383)))) (.cse154 (and (or (< 0 .cse380) .cse381) (= .cse382 .cse383))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse253 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse258 (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse257 (store .cse258 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (select .cse258 .cse26)) (.cse251 (select (store .cse253 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse257 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse252 (select .cse251 .cse56)) (.cse256 (mod (+ .cse254 1) 4)) (.cse255 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse251 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse252) (not (= .cse252 (select (select .cse253 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse254) (= .cse255 .cse256) (not (= (mod (+ (select .cse257 .cse26) 1) 4) 0)) (= .cse256 (+ .cse255 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse263 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse264 (select .cse263 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (+ (select .cse265 .cse26) 1))) (let ((.cse262 (select (store .cse263 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse265 .cse26 (mod .cse259 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse261 (select .cse262 .cse95)) (.cse260 (select .cse264 .cse26))) (or (< .cse259 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 (select .cse262 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse261 (select (select .cse263 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse260 1) 4) 0)) (= (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse270 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse271 (select .cse270 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse271 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse266 (+ (select .cse272 .cse26) 1))) (let ((.cse269 (select (store .cse270 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 (mod .cse266 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse271 .cse26)) (.cse268 (select .cse269 .cse56))) (or (< .cse266 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse267) (not (= (mod (+ .cse267 1) 4) 0)) (= .cse268 (select .cse269 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse268 (select (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse275 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse275 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse277 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (select (store .cse275 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse277 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse274 (select .cse273 .cse56)) (.cse276 (select .cse278 .cse26))) (or (= (select .cse273 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse274) (not (= .cse274 (select (select .cse275 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse276) (not (= (mod (+ (select .cse277 .cse26) 1) 4) 0)) (not (= (mod (+ .cse276 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse281 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse281 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (select .cse286 .cse26))) (let ((.cse287 (mod (+ .cse279 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse279) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse285 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse282 (select .cse285 .cse26))) (let ((.cse284 (mod (+ .cse282 1) 4))) (let ((.cse283 (select (store .cse281 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse285 .cse26 (+ .cse284 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse280 (select .cse283 .cse95))) (or (not (= .cse280 (select (select .cse281 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse282 2)) (= (select .cse283 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse280) (= .cse284 0)))))))))) (< 0 (+ 2 .cse279)) (= .cse287 0) (= .cse287 (+ (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse293 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse290 (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse288 (select .cse290 .cse26))) (let ((.cse289 (mod (+ .cse288 1) 4))) (or (< 0 (+ 2 .cse288)) (= .cse289 0) (= .cse289 (+ (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse288) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse296 (store .cse290 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse296 .cse26))) (let ((.cse292 (mod (+ .cse291 1) 4))) (let ((.cse295 (select (store .cse293 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse296 .cse26 (+ .cse292 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse294 (select .cse295 .cse6))) (or (< 0 (+ .cse291 2)) (= .cse292 0) (not (= (select (select .cse293 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)) (= (select .cse295 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse294)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse303 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse299 (select .cse303 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse297 1) 4))) (or (< 0 (+ 2 .cse297)) (= .cse298 0) (= .cse298 (+ (select .cse299 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse304 (store .cse299 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse304 .cse26) 1))) (let ((.cse302 (select (store .cse303 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse304 .cse26 (mod .cse300 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse301 (select .cse302 .cse95))) (or (< .cse300 0) (= .cse301 (select .cse302 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse301 (select (select .cse303 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse311 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (store .cse311 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse312 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse312 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse305 (select .cse311 .cse26)) (.cse309 (select .cse310 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse305) (< 0 (+ .cse306 2)) (not (= (mod (+ .cse305 1) 4) 0)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309) (= (select .cse311 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse323 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse322 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse324 (select .cse323 .cse322))) (let ((.cse316 (mod (+ .cse324 1) 4))) (let ((.cse313 (+ 2 .cse324)) (.cse314 (= .cse316 0)) (.cse315 (select .cse323 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse313 0) (not .cse314) (= (+ .cse315 4) .cse316)) (and (or (< 0 .cse313) .cse314) (= .cse315 .cse316)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse321 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse321 .cse322))) (let ((.cse317 (mod (+ .cse320 1) 4))) (let ((.cse319 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse321 .cse322 (+ (- 4) .cse317))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse318 (select .cse319 .cse6))) (or (= .cse317 0) (not (= .cse1 .cse318)) (= .cse318 (select .cse319 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse320))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse327 (+ (select .cse328 .cse322) 1))) (let ((.cse326 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse328 .cse322 (mod .cse327 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse325 (select .cse326 .cse6))) (or (not (= .cse1 .cse325)) (= .cse325 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse327 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse324) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse331 (store .cse323 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse330 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse331 .cse322 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse329 (select .cse330 .cse6))) (or (= .cse329 (select .cse330 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse329 .cse1)) (not (= (mod (+ (select .cse331 .cse322) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse336 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse337 (select .cse336 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse338 (store .cse337 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse337 .cse26)) (.cse333 (select (store .cse336 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse338 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse332 (select .cse333 .cse95)) (.cse334 (+ .cse335 1))) (or (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse334 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse335) (not (= (select (select .cse336 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse332)) (= (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse334 4)) (not (= (mod (+ (select .cse338 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse339 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse343 (select .cse339 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse344 (store .cse343 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store .cse339 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse344 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse342 (select .cse343 .cse26))) (let ((.cse341 (+ .cse342 1)) (.cse340 (select .cse345 .cse6))) (or (not (= (select (select .cse339 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)) (< .cse341 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (= (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse341 4)) (not (= (mod (+ (select .cse344 .cse26) 1) 4) 0)) (= (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse340)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse349 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse348 (select .cse353 .cse26)) (.cse347 (select (store .cse349 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse351 (mod (+ .cse348 1) 4)) (.cse350 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse348) (not (= (select (select .cse349 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= .cse350 .cse351) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0)) (= .cse351 (+ .cse350 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse359 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse359 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse363 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse355 (select .cse363 .cse26))) (let ((.cse358 (mod (+ .cse355 1) 4))) (let ((.cse361 (select (store .cse359 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse363 .cse26 (+ .cse358 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse354 (select .cse362 .cse26))) (let ((.cse357 (mod (+ .cse354 1) 4)) (.cse356 (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse360 (select .cse361 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse354) (< 0 (+ .cse355 2)) (= .cse356 .cse357) (= .cse357 (+ .cse356 4)) (= .cse358 0) (not (= (select (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)) (= (select .cse361 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse360)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse370 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse370 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse371 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse364 (+ (select .cse371 .cse26) 1))) (let ((.cse369 (select (store .cse370 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse371 .cse26 (mod .cse364 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse366 (select .cse367 .cse26))) (let ((.cse365 (+ .cse366 1)) (.cse368 (select .cse369 .cse95))) (or (< .cse364 0) (< .cse365 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse366) (= (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse365 4)) (= .cse368 (select .cse369 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse368 (select (select .cse370 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse375 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse375 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse379 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse372 (+ (select .cse379 .cse26) 1))) (let ((.cse378 (select (store .cse375 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse379 .cse26 (mod .cse372 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse374 (select .cse377 .cse26))) (let ((.cse373 (+ .cse374 1)) (.cse376 (select .cse378 .cse6))) (or (< .cse372 0) (< .cse373 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse374) (not (= (select (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376)) (= (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse373 4)) (= (select .cse378 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse376))))))))))))))) is different from true [2024-04-04 22:10:46,776 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse396 (mod (+ .cse161 1) 4))) (let ((.cse394 (+ .cse161 2)) (.cse395 (= .cse396 0)) (.cse397 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse394 0) (not .cse395) (= .cse396 (+ 4 .cse397)))) (.cse154 (and (or (< 0 .cse394) .cse395) (= .cse396 .cse397))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (= |c_reader_twoThread1of1ForFork0_#t~ret23#1| 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (or (let ((.cse254 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse255 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse256 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse253 (+ (select .cse256 .cse159) 1))) (let ((.cse252 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse256 .cse159 (mod .cse253 4))))) (or (let ((.cse251 (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse251 .cse6))) (< .cse253 0) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse261 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (select .cse261 .cse159))) (let ((.cse260 (mod (+ .cse259 1) 4))) (let ((.cse258 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse261 .cse159 (+ .cse260 (- 4)))))) (or (let ((.cse257 (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse257 .cse6) (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse259)) (= .cse260 0) (not (= .cse255 (select (select .cse258 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse263 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse159 0)))) (or (not (= (mod (+ (select .cse262 .cse159) 1) 4) 0)) (not (= (select (select .cse263 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255)) (let ((.cse264 (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse264 .cse6) (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse272 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse271 (store .cse272 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse268 (select .cse272 .cse26)) (.cse265 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse271 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse266 (select .cse265 .cse56)) (.cse270 (mod (+ .cse268 1) 4)) (.cse269 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse265 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse266) (not (= .cse266 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse268) (= .cse269 .cse270) (not (= (mod (+ (select .cse271 .cse26) 1) 4) 0)) (= .cse270 (+ .cse269 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse277 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse277 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (+ (select .cse279 .cse26) 1))) (let ((.cse276 (select (store .cse277 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse279 .cse26 (mod .cse273 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse275 (select .cse276 .cse95)) (.cse274 (select .cse278 .cse26))) (or (< .cse273 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse274) (= .cse275 (select .cse276 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse275 (select (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse274 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse284 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse285 (select .cse284 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse286 (store .cse285 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (+ (select .cse286 .cse26) 1))) (let ((.cse283 (select (store .cse284 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse286 .cse26 (mod .cse280 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse281 (select .cse285 .cse26)) (.cse282 (select .cse283 .cse56))) (or (< .cse280 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse281) (not (= (mod (+ .cse281 1) 4) 0)) (= .cse282 (select .cse283 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse282 (select (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse292 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse291 (store .cse292 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse287 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse291 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse288 (select .cse287 .cse56)) (.cse290 (select .cse292 .cse26))) (or (= (select .cse287 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse288) (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (not (= (mod (+ (select .cse291 .cse26) 1) 4) 0)) (not (= (mod (+ .cse290 1) 4) 0)) (= (select .cse292 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse295 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse300 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse293 (select .cse300 .cse26))) (let ((.cse301 (mod (+ .cse293 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse299 (store .cse300 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse296 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse296 1) 4))) (let ((.cse297 (select (store .cse295 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse299 .cse26 (+ .cse298 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse294 (select .cse297 .cse95))) (or (not (= .cse294 (select (select .cse295 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse296 2)) (= (select .cse297 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse294) (= .cse298 0)))))))))) (< 0 (+ 2 .cse293)) (= .cse301 0) (= .cse301 (+ (select .cse300 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse307 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse304 (select .cse307 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse302 (select .cse304 .cse26))) (let ((.cse303 (mod (+ .cse302 1) 4))) (or (< 0 (+ 2 .cse302)) (= .cse303 0) (= .cse303 (+ (select .cse304 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse302) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse310 (store .cse304 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse310 .cse26))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse309 (select (store .cse307 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse310 .cse26 (+ .cse306 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse308 (select .cse309 .cse6))) (or (< 0 (+ .cse305 2)) (= .cse306 0) (not (= (select (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)) (= (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse317 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse313 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse311 (select .cse313 .cse26))) (let ((.cse312 (mod (+ .cse311 1) 4))) (or (< 0 (+ 2 .cse311)) (= .cse312 0) (= .cse312 (+ (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse318 (store .cse313 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (+ (select .cse318 .cse26) 1))) (let ((.cse316 (select (store .cse317 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse318 .cse26 (mod .cse314 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse315 (select .cse316 .cse95))) (or (< .cse314 0) (= .cse315 (select .cse316 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse315 (select (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse326 .cse26))) (let ((.cse321 (mod (+ .cse320 1) 4))) (let ((.cse324 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 (+ .cse321 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse319 (select .cse325 .cse26)) (.cse323 (select .cse324 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse319) (< 0 (+ .cse320 2)) (not (= (mod (+ .cse319 1) 4) 0)) (= .cse321 0) (not (= (select (select .cse322 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323)) (= (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse337 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse336 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse338 (select .cse337 .cse336))) (let ((.cse330 (mod (+ .cse338 1) 4))) (let ((.cse327 (+ 2 .cse338)) (.cse328 (= .cse330 0)) (.cse329 (select .cse337 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse327 0) (not .cse328) (= (+ .cse329 4) .cse330)) (and (or (< 0 .cse327) .cse328) (= .cse329 .cse330)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse335 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse334 (select .cse335 .cse336))) (let ((.cse331 (mod (+ .cse334 1) 4))) (let ((.cse333 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse335 .cse336 (+ (- 4) .cse331))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse332 (select .cse333 .cse6))) (or (= .cse331 0) (not (= .cse1 .cse332)) (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse334))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse342 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse341 (+ (select .cse342 .cse336) 1))) (let ((.cse340 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse342 .cse336 (mod .cse341 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse339 (select .cse340 .cse6))) (or (not (= .cse1 .cse339)) (= .cse339 (select .cse340 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse341 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse345 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse344 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse345 .cse336 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse343 (select .cse344 .cse6))) (or (= .cse343 (select .cse344 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse343 .cse1)) (not (= (mod (+ (select .cse345 .cse336) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse350 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse351 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse351 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse349 (select .cse351 .cse26)) (.cse347 (select (store .cse350 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse348 (+ .cse349 1))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse348 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse349) (not (= (select (select .cse350 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse348 4)) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse353 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse357 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse358 (store .cse357 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse359 (select (store .cse353 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse358 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse356 (select .cse357 .cse26))) (let ((.cse355 (+ .cse356 1)) (.cse354 (select .cse359 .cse6))) (or (not (= (select (select .cse353 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)) (< .cse355 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse356) (= (select .cse357 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse355 4)) (not (= (mod (+ (select .cse358 .cse26) 1) 4) 0)) (= (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse366 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (select .cse367 .cse26)) (.cse361 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse360 (select .cse361 .cse95)) (.cse365 (mod (+ .cse362 1) 4)) (.cse364 (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse360 (select .cse361 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse360)) (= .cse364 .cse365) (not (= (mod (+ (select .cse366 .cse26) 1) 4) 0)) (= .cse365 (+ .cse364 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse373 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse376 (select .cse373 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse377 (store .cse376 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4))) (let ((.cse375 (select (store .cse373 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse377 .cse26 (+ .cse372 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse368 (select .cse376 .cse26))) (let ((.cse371 (mod (+ .cse368 1) 4)) (.cse370 (select .cse376 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse374 (select .cse375 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (= .cse370 .cse371) (= .cse371 (+ .cse370 4)) (= .cse372 0) (not (= (select (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)) (= (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse384 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse381 (select .cse384 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse385 (store .cse381 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse378 (+ (select .cse385 .cse26) 1))) (let ((.cse383 (select (store .cse384 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse385 .cse26 (mod .cse378 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse380 (select .cse381 .cse26))) (let ((.cse379 (+ .cse380 1)) (.cse382 (select .cse383 .cse95))) (or (< .cse378 0) (< .cse379 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse380) (= (select .cse381 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse379 4)) (= .cse382 (select .cse383 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse382 (select (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse389 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse391 (select .cse389 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse393 (store .cse391 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse386 (+ (select .cse393 .cse26) 1))) (let ((.cse392 (select (store .cse389 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse393 .cse26 (mod .cse386 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse388 (select .cse391 .cse26))) (let ((.cse387 (+ .cse388 1)) (.cse390 (select .cse392 .cse6))) (or (< .cse386 0) (< .cse387 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse388) (not (= (select (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390)) (= (select .cse391 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse387 4)) (= (select .cse392 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390))))))))))))))) is different from true [2024-04-04 22:10:50,342 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse160 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse159 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse161 (select .cse160 .cse159))) (let ((.cse396 (mod (+ .cse161 1) 4))) (let ((.cse394 (+ .cse161 2)) (.cse395 (= .cse396 0)) (.cse397 (select .cse160 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse153 (and (<= .cse394 0) (not .cse395) (= .cse396 (+ 4 .cse397)))) (.cse154 (and (or (< 0 .cse394) .cse395) (= .cse396 .cse397))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse132 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse134 (select .cse132 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse135 (store .cse134 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse133 (select .cse134 .cse26)) (.cse129 (select (store .cse132 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse135 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse130 (select .cse129 .cse56)) (.cse131 (+ .cse133 1))) (or (= (select .cse129 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse130) (< .cse131 0) (not (= .cse130 (select (select .cse132 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse133) (= (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse131 4)) (not (= (mod (+ (select .cse135 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse140 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse140 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (select .cse138 .cse26))) (let ((.cse137 (mod (+ .cse136 1) 4))) (or (< 0 (+ 2 .cse136)) (= .cse137 0) (= .cse137 (+ (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse143 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse139 (+ (select .cse143 .cse26) 1))) (let ((.cse142 (select (store .cse140 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse143 .cse26 (mod .cse139 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse142 .cse6))) (or (< .cse139 0) (not (= (select (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141)) (= (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse141))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse148 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse146 (select .cse148 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse144 (select .cse146 .cse26))) (let ((.cse145 (mod (+ .cse144 1) 4))) (or (< 0 (+ 2 .cse144)) (= .cse145 0) (= .cse145 (+ (select .cse146 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse144) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse152 (store .cse146 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse149 (select .cse152 .cse26))) (let ((.cse151 (mod (+ .cse149 1) 4))) (let ((.cse150 (select (store .cse148 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse152 .cse26 (+ .cse151 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse147 (select .cse150 .cse56))) (or (not (= .cse147 (select (select .cse148 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse149 2)) (= .cse147 (select .cse150 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse151 0)))))))))))))))) (or .cse153 .cse154 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse158 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse157 (+ (select .cse158 .cse159) 1))) (let ((.cse155 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse158 .cse159 (mod .cse157 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse156 (select .cse155 .cse6))) (or (= (select .cse155 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse156) (< .cse157 0) (not (= .cse1 .cse156)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse162 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse164 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse162 .cse159 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse163 (select .cse164 .cse6))) (or (not (= (mod (+ (select .cse162 .cse159) 1) 4) 0)) (not (= .cse163 .cse1)) (= .cse163 (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse169 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (select .cse169 .cse159))) (let ((.cse168 (mod (+ .cse167 1) 4))) (let ((.cse166 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse169 .cse159 (+ .cse168 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse165 (select .cse166 .cse6))) (or (= .cse165 (select .cse166 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse165)) (< 0 (+ 2 .cse167)) (= .cse168 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse177 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse178 (store .cse177 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse170 (+ (select .cse178 .cse26) 1))) (let ((.cse171 (select .cse177 .cse26)) (.cse175 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse178 .cse26 (mod .cse170 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse174 (select .cse175 .cse95)) (.cse173 (mod (+ .cse171 1) 4)) (.cse172 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse170 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse171) (= .cse172 .cse173) (= .cse174 (select .cse175 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse174 (select (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse173 (+ .cse172 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse184 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse182 (select .cse184 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse187 (store .cse182 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse181 (select .cse187 .cse26))) (let ((.cse183 (mod (+ .cse181 1) 4))) (let ((.cse186 (select (store .cse184 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse187 .cse26 (+ .cse183 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse180 (select .cse182 .cse26))) (let ((.cse179 (+ .cse180 1)) (.cse185 (select .cse186 .cse6))) (or (< .cse179 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse180) (< 0 (+ .cse181 2)) (= (select .cse182 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse179 4)) (= .cse183 0) (not (= (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)) (= (select .cse186 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse189 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse193 (select .cse189 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (select .cse193 .cse26))) (let ((.cse194 (mod (+ .cse188 1) 4))) (or (< 0 (+ 2 .cse188)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse193 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store .cse189 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse191 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse190 (select .cse192 .cse6))) (or (not (= (select (select .cse189 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)) (not (= (mod (+ (select .cse191 .cse26) 1) 4) 0)) (= (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse190)))))) (= .cse194 0) (= .cse194 (+ (select .cse193 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse200 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse197 (select .cse200 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse195 (select .cse197 .cse26))) (let ((.cse196 (mod (+ .cse195 1) 4))) (or (< 0 (+ 2 .cse195)) (= .cse196 0) (= .cse196 (+ (select .cse197 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse201 (store .cse197 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (select (store .cse200 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse201 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse198 (select .cse199 .cse95))) (or (= .cse198 (select .cse199 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse198)) (not (= (mod (+ (select .cse201 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse203 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse207 (select .cse203 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse210 (store .cse207 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse206 (select .cse210 .cse26))) (let ((.cse209 (mod (+ .cse206 1) 4))) (let ((.cse208 (select (store .cse203 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse210 .cse26 (+ .cse209 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse205 (select .cse207 .cse26))) (let ((.cse204 (+ .cse205 1)) (.cse202 (select .cse208 .cse95))) (or (not (= .cse202 (select (select .cse203 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse204 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse205) (< 0 (+ .cse206 2)) (= (select .cse207 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse204 4)) (= (select .cse208 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse202) (= .cse209 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse211 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse218 (select .cse211 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse216 (store .cse218 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse217 (select (store .cse211 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse216 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse213 (select .cse218 .cse26))) (let ((.cse215 (mod (+ .cse213 1) 4)) (.cse214 (select .cse218 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse212 (select .cse217 .cse6))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse213) (= .cse214 .cse215) (not (= (mod (+ (select .cse216 .cse26) 1) 4) 0)) (= .cse215 (+ .cse214 4)) (= (select .cse217 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse212)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse225 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse221 (select .cse225 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse219 (select .cse221 .cse26))) (let ((.cse220 (mod (+ .cse219 1) 4))) (or (< 0 (+ 2 .cse219)) (= .cse220 0) (= .cse220 (+ (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse226 (store .cse221 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse222 (+ (select .cse226 .cse26) 1))) (let ((.cse224 (select (store .cse225 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse226 .cse26 (mod .cse222 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse223 (select .cse224 .cse56))) (or (< .cse222 0) (= .cse223 (select .cse224 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse223 (select (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse230 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse231 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse232 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse229 (+ (select .cse232 .cse159) 1))) (let ((.cse228 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse232 .cse159 (mod .cse229 4))))) (or (let ((.cse227 (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse227 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse227 .cse6))) (< .cse229 0) (not (= (select (select .cse228 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse234 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse233 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse234 .cse159 0)))) (or (not (= .cse231 (select (select .cse233 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230))) (not (= (mod (+ (select .cse234 .cse159) 1) 4) 0)) (let ((.cse235 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse235 .cse6) (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse240 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select .cse240 .cse159))) (let ((.cse239 (mod (+ .cse238 1) 4))) (let ((.cse237 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse240 .cse159 (+ .cse239 (- 4)))))) (or (let ((.cse236 (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse237 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse230) .cse231)) (< 0 (+ 2 .cse238)) (= .cse239 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse242 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse249 (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse250 (store .cse249 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select .cse250 .cse26))) (let ((.cse248 (mod (+ .cse244 1) 4))) (let ((.cse243 (select .cse249 .cse26)) (.cse247 (select (store .cse242 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse250 .cse26 (+ .cse248 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse241 (select .cse247 .cse95)) (.cse246 (mod (+ .cse243 1) 4)) (.cse245 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse241 (select (select .cse242 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse243) (< 0 (+ .cse244 2)) (= .cse245 .cse246) (= (select .cse247 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse241) (= .cse246 (+ .cse245 4)) (= .cse248 0)))))))))) (or (let ((.cse254 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse255 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse256 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse253 (+ (select .cse256 .cse159) 1))) (let ((.cse252 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse256 .cse159 (mod .cse253 4))))) (or (let ((.cse251 (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse251 .cse6))) (< .cse253 0) (not (= (select (select .cse252 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse261 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse259 (select .cse261 .cse159))) (let ((.cse260 (mod (+ .cse259 1) 4))) (let ((.cse258 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse261 .cse159 (+ .cse260 (- 4)))))) (or (let ((.cse257 (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse257 .cse6) (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse259)) (= .cse260 0) (not (= .cse255 (select (select .cse258 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse263 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse159 0)))) (or (not (= (mod (+ (select .cse262 .cse159) 1) 4) 0)) (not (= (select (select .cse263 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse254) .cse255)) (let ((.cse264 (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse264 .cse6) (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161))))) .cse153 .cse154) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse267 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse272 (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse271 (store .cse272 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse268 (select .cse272 .cse26)) (.cse265 (select (store .cse267 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse271 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse266 (select .cse265 .cse56)) (.cse270 (mod (+ .cse268 1) 4)) (.cse269 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse265 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse266) (not (= .cse266 (select (select .cse267 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse268) (= .cse269 .cse270) (not (= (mod (+ (select .cse271 .cse26) 1) 4) 0)) (= .cse270 (+ .cse269 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse277 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse278 (select .cse277 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse279 (store .cse278 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse273 (+ (select .cse279 .cse26) 1))) (let ((.cse276 (select (store .cse277 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse279 .cse26 (mod .cse273 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse275 (select .cse276 .cse95)) (.cse274 (select .cse278 .cse26))) (or (< .cse273 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse274) (= .cse275 (select .cse276 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse275 (select (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse274 1) 4) 0)) (= (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse284 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse285 (select .cse284 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse286 (store .cse285 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (+ (select .cse286 .cse26) 1))) (let ((.cse283 (select (store .cse284 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse286 .cse26 (mod .cse280 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse281 (select .cse285 .cse26)) (.cse282 (select .cse283 .cse56))) (or (< .cse280 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse281) (not (= (mod (+ .cse281 1) 4) 0)) (= .cse282 (select .cse283 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse282 (select (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse292 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse291 (store .cse292 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse287 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse291 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse288 (select .cse287 .cse56)) (.cse290 (select .cse292 .cse26))) (or (= (select .cse287 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse288) (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (not (= (mod (+ (select .cse291 .cse26) 1) 4) 0)) (not (= (mod (+ .cse290 1) 4) 0)) (= (select .cse292 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse295 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse300 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse293 (select .cse300 .cse26))) (let ((.cse301 (mod (+ .cse293 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse293) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse299 (store .cse300 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse296 (select .cse299 .cse26))) (let ((.cse298 (mod (+ .cse296 1) 4))) (let ((.cse297 (select (store .cse295 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse299 .cse26 (+ .cse298 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse294 (select .cse297 .cse95))) (or (not (= .cse294 (select (select .cse295 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse296 2)) (= (select .cse297 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse294) (= .cse298 0)))))))))) (< 0 (+ 2 .cse293)) (= .cse301 0) (= .cse301 (+ (select .cse300 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse307 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse304 (select .cse307 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse302 (select .cse304 .cse26))) (let ((.cse303 (mod (+ .cse302 1) 4))) (or (< 0 (+ 2 .cse302)) (= .cse303 0) (= .cse303 (+ (select .cse304 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse302) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse310 (store .cse304 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse310 .cse26))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse309 (select (store .cse307 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse310 .cse26 (+ .cse306 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse308 (select .cse309 .cse6))) (or (< 0 (+ .cse305 2)) (= .cse306 0) (not (= (select (select .cse307 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)) (= (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse308)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse317 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse313 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse311 (select .cse313 .cse26))) (let ((.cse312 (mod (+ .cse311 1) 4))) (or (< 0 (+ 2 .cse311)) (= .cse312 0) (= .cse312 (+ (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse318 (store .cse313 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (+ (select .cse318 .cse26) 1))) (let ((.cse316 (select (store .cse317 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse318 .cse26 (mod .cse314 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse315 (select .cse316 .cse95))) (or (< .cse314 0) (= .cse315 (select .cse316 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse315 (select (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse325 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse326 (store .cse325 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse320 (select .cse326 .cse26))) (let ((.cse321 (mod (+ .cse320 1) 4))) (let ((.cse324 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse326 .cse26 (+ .cse321 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse319 (select .cse325 .cse26)) (.cse323 (select .cse324 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse319) (< 0 (+ .cse320 2)) (not (= (mod (+ .cse319 1) 4) 0)) (= .cse321 0) (not (= (select (select .cse322 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323)) (= (select .cse324 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse323) (= (select .cse325 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse337 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse336 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse338 (select .cse337 .cse336))) (let ((.cse330 (mod (+ .cse338 1) 4))) (let ((.cse327 (+ 2 .cse338)) (.cse328 (= .cse330 0)) (.cse329 (select .cse337 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse327 0) (not .cse328) (= (+ .cse329 4) .cse330)) (and (or (< 0 .cse327) .cse328) (= .cse329 .cse330)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse335 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse334 (select .cse335 .cse336))) (let ((.cse331 (mod (+ .cse334 1) 4))) (let ((.cse333 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse335 .cse336 (+ (- 4) .cse331))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse332 (select .cse333 .cse6))) (or (= .cse331 0) (not (= .cse1 .cse332)) (= .cse332 (select .cse333 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse334))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse342 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse341 (+ (select .cse342 .cse336) 1))) (let ((.cse340 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse342 .cse336 (mod .cse341 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse339 (select .cse340 .cse6))) (or (not (= .cse1 .cse339)) (= .cse339 (select .cse340 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse341 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse345 (store .cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse344 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse345 .cse336 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse343 (select .cse344 .cse6))) (or (= .cse343 (select .cse344 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse343 .cse1)) (not (= (mod (+ (select .cse345 .cse336) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse350 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse351 (select .cse350 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse352 (store .cse351 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse349 (select .cse351 .cse26)) (.cse347 (select (store .cse350 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse352 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse346 (select .cse347 .cse95)) (.cse348 (+ .cse349 1))) (or (= .cse346 (select .cse347 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse348 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse349) (not (= (select (select .cse350 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse346)) (= (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse348 4)) (not (= (mod (+ (select .cse352 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse353 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse357 (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse358 (store .cse357 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse359 (select (store .cse353 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse358 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse356 (select .cse357 .cse26))) (let ((.cse355 (+ .cse356 1)) (.cse354 (select .cse359 .cse6))) (or (not (= (select (select .cse353 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)) (< .cse355 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse356) (= (select .cse357 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse355 4)) (not (= (mod (+ (select .cse358 .cse26) 1) 4) 0)) (= (select .cse359 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse354)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse363 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse367 (select .cse363 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse366 (store .cse367 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (select .cse367 .cse26)) (.cse361 (select (store .cse363 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse360 (select .cse361 .cse95)) (.cse365 (mod (+ .cse362 1) 4)) (.cse364 (select .cse367 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse360 (select .cse361 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse362) (not (= (select (select .cse363 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse360)) (= .cse364 .cse365) (not (= (mod (+ (select .cse366 .cse26) 1) 4) 0)) (= .cse365 (+ .cse364 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse373 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse376 (select .cse373 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse377 (store .cse376 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4))) (let ((.cse375 (select (store .cse373 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse377 .cse26 (+ .cse372 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse368 (select .cse376 .cse26))) (let ((.cse371 (mod (+ .cse368 1) 4)) (.cse370 (select .cse376 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse374 (select .cse375 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (= .cse370 .cse371) (= .cse371 (+ .cse370 4)) (= .cse372 0) (not (= (select (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)) (= (select .cse375 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse374)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse384 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse381 (select .cse384 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse385 (store .cse381 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse378 (+ (select .cse385 .cse26) 1))) (let ((.cse383 (select (store .cse384 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse385 .cse26 (mod .cse378 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse380 (select .cse381 .cse26))) (let ((.cse379 (+ .cse380 1)) (.cse382 (select .cse383 .cse95))) (or (< .cse378 0) (< .cse379 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse380) (= (select .cse381 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse379 4)) (= .cse382 (select .cse383 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse382 (select (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse389 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse391 (select .cse389 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse393 (store .cse391 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse386 (+ (select .cse393 .cse26) 1))) (let ((.cse392 (select (store .cse389 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse393 .cse26 (mod .cse386 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse388 (select .cse391 .cse26))) (let ((.cse387 (+ .cse388 1)) (.cse390 (select .cse392 .cse6))) (or (< .cse386 0) (< .cse387 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse388) (not (= (select (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390)) (= (select .cse391 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse387 4)) (= (select .cse392 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse390))))))))))))))) is different from true [2024-04-04 22:10:54,917 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse189 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse190 (select .cse189 .cse188))) (let ((.cse445 (mod (+ .cse190 1) 4))) (let ((.cse46 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse80 (* |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1| 4)) (.cse443 (+ .cse190 2)) (.cse444 (= .cse445 0)) (.cse446 (select .cse189 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse182 (and (<= .cse443 0) (not .cse444) (= .cse445 (+ 4 .cse446)))) (.cse183 (and (or (< 0 .cse443) .cse444) (= .cse445 .cse446))) (.cse42 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse45 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse47 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| .cse80 4)) (.cse257 (select .cse46 0)) (.cse64 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse123 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse44 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse44 .cse45) 1))) (let ((.cse41 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse44 .cse45 (mod .cse40 4))))) (or (< .cse40 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse41 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse43 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse43 .cse6)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse50 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse55 (select .cse50 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse56 (store .cse55 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse48 (+ (select .cse56 .cse26) 1))) (let ((.cse54 (select (store .cse50 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse56 .cse26 (mod .cse48 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse49 (select .cse55 .cse26))) (let ((.cse53 (mod (+ .cse49 1) 4)) (.cse52 (select .cse55 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse51 (select .cse54 .cse6))) (or (< .cse48 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse49) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51)) (= .cse52 .cse53) (= .cse53 (+ .cse52 4)) (= (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse62 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse59 (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse57 (select .cse59 .cse26))) (let ((.cse58 (mod (+ .cse57 1) 4))) (or (< 0 (+ 2 .cse57)) (= .cse58 0) (= .cse58 (+ (select .cse59 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse63 (store .cse59 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse60 (select (store .cse62 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse61 (select .cse60 .cse64))) (or (= (select .cse60 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse61) (not (= .cse61 (select (select .cse62 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse63 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse65 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse70 (select .cse65 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse68 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse69 (select (store .cse65 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse68 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse70 .cse26)) (.cse66 (select .cse69 .cse6))) (or (not (= (select (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse67) (not (= (mod (+ (select .cse68 .cse26) 1) 4) 0)) (not (= (mod (+ .cse67 1) 4) 0)) (= (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (= (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse74 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse76 (select .cse74 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse76 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse75 (select .cse79 .cse26))) (let ((.cse78 (mod (+ .cse75 1) 4))) (let ((.cse77 (select (store .cse74 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (+ .cse78 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse72 (select .cse76 .cse26))) (let ((.cse71 (+ .cse72 1)) (.cse73 (select .cse77 .cse64))) (or (< .cse71 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse72) (not (= .cse73 (select (select .cse74 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse75 2)) (= (select .cse76 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse71 4)) (= .cse73 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse78 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (store .cse46 (+ .cse80 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) 0)) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (let ((.cse88 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|)) (.cse87 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20))) (let ((.cse81 (select .cse88 .cse87))) (let ((.cse96 (mod (+ .cse81 1) 4))) (let ((.cse97 (select .cse88 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset|)) (.cse98 (+ .cse81 2)) (.cse99 (= .cse96 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (select .cse86 .cse87))) (let ((.cse82 (mod (+ .cse85 1) 4))) (let ((.cse84 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse86 .cse87 (+ (- 4) .cse82))))) (or (= .cse82 0) (let ((.cse83 (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse83 .cse6) (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse85 2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse84 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse90 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse89 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse90 .cse87 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse89 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (not (= (mod (+ (select .cse90 .cse87) 1) 4) 0)) (let ((.cse91 (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse91 .cse6))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse95 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (+ (select .cse95 .cse87) 1))) (let ((.cse92 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse95 .cse87 (mod .cse94 4))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse92 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse93 (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse93 .cse6))) (< .cse94 0))))))))) (and (= .cse96 .cse97) (or (< 0 .cse98) .cse99)) (and (= .cse96 (+ .cse97 4)) (<= .cse98 0) (not .cse99))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse103 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse107 (store .cse103 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse100 (+ (select .cse107 .cse26) 1))) (let ((.cse105 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse107 .cse26 (mod .cse100 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse102 (select .cse103 .cse26))) (let ((.cse101 (+ .cse102 1)) (.cse104 (select .cse105 .cse64))) (or (< .cse100 0) (< .cse101 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse102) (= (select .cse103 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse101 4)) (= .cse104 (select .cse105 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse104 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse115 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse116 (store .cse115 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse108 (+ (select .cse116 .cse26) 1))) (let ((.cse113 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse116 .cse26 (mod .cse108 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse109 (select .cse115 .cse26))) (let ((.cse111 (mod (+ .cse109 1) 4)) (.cse110 (select .cse115 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse112 (select .cse113 .cse64))) (or (< .cse108 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse109) (= .cse110 .cse111) (= .cse111 (+ .cse110 4)) (= .cse112 (select .cse113 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse112 (select (select .cse114 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse120 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse122 (select .cse120 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse122 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse118 (select (store .cse120 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse117 (select .cse118 .cse123)) (.cse119 (select .cse122 .cse26))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse117)) (not (= (mod (+ (select .cse121 .cse26) 1) 4) 0)) (not (= (mod (+ .cse119 1) 4) 0)) (= (select .cse122 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse125 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse130 (select .cse125 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse130 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse127 (select .cse131 .cse26))) (let ((.cse129 (mod (+ .cse127 1) 4))) (let ((.cse128 (select (store .cse125 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse26 (+ .cse129 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse124 (select .cse128 .cse123)) (.cse126 (select .cse130 .cse26))) (or (not (= .cse124 (select (select .cse125 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse126) (< 0 (+ .cse127 2)) (= (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse124) (not (= (mod (+ .cse126 1) 4) 0)) (= .cse129 0) (= (select .cse130 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse134 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse139 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse135 (select .cse139 .cse26))) (let ((.cse137 (mod (+ .cse135 1) 4))) (let ((.cse136 (select (store .cse134 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse139 .cse26 (+ .cse137 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse133 (select .cse136 .cse64)) (.cse132 (select .cse138 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse132) (not (= .cse133 (select (select .cse134 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse135 2)) (= .cse133 (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse132 1) 4) 0)) (= .cse137 0) (= (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse142 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse145 (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse146 (store .cse145 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse146 .cse26) 1))) (let ((.cse144 (select (store .cse142 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse146 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse143 (select .cse144 .cse6)) (.cse141 (select .cse145 .cse26))) (or (< .cse140 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse141) (not (= (select (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143)) (= (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143) (not (= (mod (+ .cse141 1) 4) 0)) (= (select .cse145 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse155 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse156 (store .cse155 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse156 .cse26))) (let ((.cse154 (mod (+ .cse150 1) 4))) (let ((.cse147 (select .cse155 .cse26)) (.cse153 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse156 .cse26 (+ .cse154 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse153 .cse64)) (.cse152 (mod (+ .cse147 1) 4)) (.cse151 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse147) (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse151 .cse152) (= .cse148 (select .cse153 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 (+ .cse151 4)) (= .cse154 0)))))))))) (let ((.cse157 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse157 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse157 (<= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 1)) (<= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1|)) (and (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 0)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse161 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse163 (select .cse161 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse164 (store .cse163 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse162 (select .cse163 .cse26)) (.cse158 (select (store .cse161 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse164 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse159 (select .cse158 .cse64)) (.cse160 (+ .cse162 1))) (or (= (select .cse158 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse159) (< .cse160 0) (not (= .cse159 (select (select .cse161 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162) (= (select .cse163 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse160 4)) (not (= (mod (+ (select .cse164 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse169 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse167 (select .cse169 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse165 (select .cse167 .cse26))) (let ((.cse166 (mod (+ .cse165 1) 4))) (or (< 0 (+ 2 .cse165)) (= .cse166 0) (= .cse166 (+ (select .cse167 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse172 (store .cse167 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (+ (select .cse172 .cse26) 1))) (let ((.cse171 (select (store .cse169 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse172 .cse26 (mod .cse168 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse170 (select .cse171 .cse6))) (or (< .cse168 0) (not (= (select (select .cse169 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170)) (= (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse175 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse173 (select .cse175 .cse26))) (let ((.cse174 (mod (+ .cse173 1) 4))) (or (< 0 (+ 2 .cse173)) (= .cse174 0) (= .cse174 (+ (select .cse175 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse181 (store .cse175 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse178 (select .cse181 .cse26))) (let ((.cse180 (mod (+ .cse178 1) 4))) (let ((.cse179 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse181 .cse26 (+ .cse180 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse176 (select .cse179 .cse64))) (or (not (= .cse176 (select (select .cse177 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse178 2)) (= .cse176 (select .cse179 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse180 0)))))))))))))))) (or .cse182 .cse183 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse187 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse186 (+ (select .cse187 .cse188) 1))) (let ((.cse184 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse187 .cse188 (mod .cse186 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (select .cse184 .cse6))) (or (= (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185) (< .cse186 0) (not (= .cse1 .cse185)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse191 .cse188 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse193 .cse6))) (or (not (= (mod (+ (select .cse191 .cse188) 1) 4) 0)) (not (= .cse192 .cse1)) (= .cse192 (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse198 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse196 (select .cse198 .cse188))) (let ((.cse197 (mod (+ .cse196 1) 4))) (let ((.cse195 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse198 .cse188 (+ .cse197 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse194 (select .cse195 .cse6))) (or (= .cse194 (select .cse195 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse194)) (< 0 (+ 2 .cse196)) (= .cse197 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse199 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse199 .cse188 0)))) (or (not (= (mod (+ (select .cse199 .cse188) 1) 4) 0)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (let ((.cse201 (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse201 .cse6) (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse206 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse204 (select .cse206 .cse188))) (let ((.cse205 (mod (+ .cse204 1) 4))) (let ((.cse202 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse206 .cse188 (+ .cse205 (- 4)))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse202 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse203 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse203 .cse6) (select .cse203 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse204)) (= .cse205 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse210 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (+ (select .cse210 .cse188) 1))) (let ((.cse208 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse210 .cse188 (mod .cse209 4))))) (or (let ((.cse207 (select .cse208 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse207 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse207 .cse6))) (< .cse209 0) (not (= (select (select .cse208 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190)))) .cse182 .cse183) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse215 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse214 (select .cse215 .cse45))) (let ((.cse212 (mod (+ .cse214 1) 4))) (let ((.cse211 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse215 .cse45 (+ .cse212 (- 4)))))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse212 0) (let ((.cse213 (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse213 .cse6) (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse214)))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse222 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse224 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse216 (+ (select .cse224 .cse26) 1))) (let ((.cse217 (select .cse223 .cse26)) (.cse221 (select (store .cse222 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse224 .cse26 (mod .cse216 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse220 (select .cse221 .cse123)) (.cse219 (mod (+ .cse217 1) 4)) (.cse218 (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse216 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse217) (= .cse218 .cse219) (= .cse220 (select .cse221 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse220 (select (select .cse222 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse219 (+ .cse218 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse228 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse233 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse227 (select .cse233 .cse26))) (let ((.cse229 (mod (+ .cse227 1) 4))) (let ((.cse232 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse233 .cse26 (+ .cse229 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse226 (select .cse228 .cse26))) (let ((.cse225 (+ .cse226 1)) (.cse231 (select .cse232 .cse6))) (or (< .cse225 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse226) (< 0 (+ .cse227 2)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse225 4)) (= .cse229 0) (not (= (select (select .cse230 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)) (= (select .cse232 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse1) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse235 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse239 (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse234 (select .cse239 .cse26))) (let ((.cse240 (mod (+ .cse234 1) 4))) (or (< 0 (+ 2 .cse234)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse237 (store .cse239 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select (store .cse235 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse237 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse236 (select .cse238 .cse6))) (or (not (= (select (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)) (not (= (mod (+ (select .cse237 .cse26) 1) 4) 0)) (= (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)))))) (= .cse240 0) (= .cse240 (+ (select .cse239 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse246 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse241 (select .cse243 .cse26))) (let ((.cse242 (mod (+ .cse241 1) 4))) (or (< 0 (+ 2 .cse241)) (= .cse242 0) (= .cse242 (+ (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse247 (store .cse243 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select (store .cse246 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse247 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse244 (select .cse245 .cse123))) (or (= .cse244 (select .cse245 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse246 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse244)) (not (= (mod (+ (select .cse247 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse249 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse253 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse256 (store .cse253 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (select .cse256 .cse26))) (let ((.cse255 (mod (+ .cse252 1) 4))) (let ((.cse254 (select (store .cse249 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse256 .cse26 (+ .cse255 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse251 (select .cse253 .cse26))) (let ((.cse250 (+ .cse251 1)) (.cse248 (select .cse254 .cse123))) (or (not (= .cse248 (select (select .cse249 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse250 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse251) (< 0 (+ .cse252 2)) (= (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse250 4)) (= (select .cse254 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse248) (= .cse255 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse257) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse265 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse263 (store .cse265 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse263 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse260 (select .cse265 .cse26))) (let ((.cse262 (mod (+ .cse260 1) 4)) (.cse261 (select .cse265 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse259 (select .cse264 .cse6))) (or (not (= (select (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 .cse262) (not (= (mod (+ (select .cse263 .cse26) 1) 4) 0)) (= .cse262 (+ .cse261 4)) (= (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse272 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse268 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse266 (select .cse268 .cse26))) (let ((.cse267 (mod (+ .cse266 1) 4))) (or (< 0 (+ 2 .cse266)) (= .cse267 0) (= .cse267 (+ (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse268 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (+ (select .cse273 .cse26) 1))) (let ((.cse271 (select (store .cse272 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (mod .cse269 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse270 (select .cse271 .cse64))) (or (< .cse269 0) (= .cse270 (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse270 (select (select .cse272 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse277 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse278 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse279 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse276 (+ (select .cse279 .cse188) 1))) (let ((.cse275 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse279 .cse188 (mod .cse276 4))))) (or (let ((.cse274 (select .cse275 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse274 .cse6))) (< .cse276 0) (not (= (select (select .cse275 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse281 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse281 .cse188 0)))) (or (not (= .cse278 (select (select .cse280 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277))) (not (= (mod (+ (select .cse281 .cse188) 1) 4) 0)) (let ((.cse282 (select .cse280 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse282 .cse6) (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse287 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse285 (select .cse287 .cse188))) (let ((.cse286 (mod (+ .cse285 1) 4))) (let ((.cse284 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse287 .cse188 (+ .cse286 (- 4)))))) (or (let ((.cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse283 .cse6) (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse284 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278)) (< 0 (+ 2 .cse285)) (= .cse286 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse296 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (store .cse296 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse297 .cse26))) (let ((.cse295 (mod (+ .cse291 1) 4))) (let ((.cse290 (select .cse296 .cse26)) (.cse294 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse297 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse288 (select .cse294 .cse123)) (.cse293 (mod (+ .cse290 1) 4)) (.cse292 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (< 0 (+ .cse291 2)) (= .cse292 .cse293) (= (select .cse294 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse288) (= .cse293 (+ .cse292 4)) (= .cse295 0)))))))))) (or (let ((.cse301 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse302 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse302 .cse188) 1))) (let ((.cse299 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse302 .cse188 (mod .cse300 4))))) (or (let ((.cse298 (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse298 .cse6))) (< .cse300 0) (not (= (select (select .cse299 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse307 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse307 .cse188))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse304 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse307 .cse188 (+ .cse306 (- 4)))))) (or (let ((.cse303 (select .cse304 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse303 .cse6) (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse305)) (= .cse306 0) (not (= .cse301 (select (select .cse304 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse308 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse309 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse308 .cse188 0)))) (or (not (= (mod (+ (select .cse308 .cse188) 1) 4) 0)) (not (= (select (select .cse309 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301)) (let ((.cse310 (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse310 .cse6) (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse313 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse318 (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse317 (store .cse318 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (select .cse318 .cse26)) (.cse311 (select (store .cse313 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse317 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse312 (select .cse311 .cse64)) (.cse316 (mod (+ .cse314 1) 4)) (.cse315 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse311 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse312) (not (= .cse312 (select (select .cse313 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse314) (= .cse315 .cse316) (not (= (mod (+ (select .cse317 .cse26) 1) 4) 0)) (= .cse316 (+ .cse315 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse324 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse325 (store .cse324 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse319 (+ (select .cse325 .cse26) 1))) (let ((.cse322 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse325 .cse26 (mod .cse319 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse321 (select .cse322 .cse123)) (.cse320 (select .cse324 .cse26))) (or (< .cse319 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (= .cse321 (select .cse322 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse321 (select (select .cse323 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse320 1) 4) 0)) (= (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse328 .cse45 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse326 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse327 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse327 .cse6))) (not (= (mod (+ (select .cse328 .cse45) 1) 4) 0)))))) (not (= .cse257 1)) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse333 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse334 (select .cse333 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse335 (store .cse334 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse329 (+ (select .cse335 .cse26) 1))) (let ((.cse332 (select (store .cse333 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse335 .cse26 (mod .cse329 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse330 (select .cse334 .cse26)) (.cse331 (select .cse332 .cse64))) (or (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (not (= (mod (+ .cse330 1) 4) 0)) (= .cse331 (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse331 (select (select .cse333 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse334 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse338 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select (store .cse338 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse337 (select .cse336 .cse64)) (.cse339 (select .cse341 .cse26))) (or (= (select .cse336 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse337) (not (= .cse337 (select (select .cse338 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (not (= (mod (+ .cse339 1) 4) 0)) (= (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse344 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse349 (select .cse344 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse342 (select .cse349 .cse26))) (let ((.cse350 (mod (+ .cse342 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse348 (store .cse349 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select .cse348 .cse26))) (let ((.cse347 (mod (+ .cse345 1) 4))) (let ((.cse346 (select (store .cse344 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse348 .cse26 (+ .cse347 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse343 (select .cse346 .cse123))) (or (not (= .cse343 (select (select .cse344 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse345 2)) (= (select .cse346 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse343) (= .cse347 0)))))))))) (< 0 (+ 2 .cse342)) (= .cse350 0) (= .cse350 (+ (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse356 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse356 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (select .cse353 .cse26))) (let ((.cse352 (mod (+ .cse351 1) 4))) (or (< 0 (+ 2 .cse351)) (= .cse352 0) (= .cse352 (+ (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse351) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse359 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse354 (select .cse359 .cse26))) (let ((.cse355 (mod (+ .cse354 1) 4))) (let ((.cse358 (select (store .cse356 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (+ .cse355 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse357 (select .cse358 .cse6))) (or (< 0 (+ .cse354 2)) (= .cse355 0) (not (= (select (select .cse356 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)) (= (select .cse358 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse366 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse366 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse360 (select .cse362 .cse26))) (let ((.cse361 (mod (+ .cse360 1) 4))) (or (< 0 (+ 2 .cse360)) (= .cse361 0) (= .cse361 (+ (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse367 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (+ (select .cse367 .cse26) 1))) (let ((.cse365 (select (store .cse366 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse363 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse364 (select .cse365 .cse123))) (or (< .cse363 0) (= .cse364 (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse364 (select (select .cse366 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse371 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse374 (select .cse371 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse375 (store .cse374 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse375 .cse26))) (let ((.cse370 (mod (+ .cse369 1) 4))) (let ((.cse373 (select (store .cse371 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse375 .cse26 (+ .cse370 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse368 (select .cse374 .cse26)) (.cse372 (select .cse373 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (not (= (mod (+ .cse368 1) 4) 0)) (= .cse370 0) (not (= (select (select .cse371 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372)) (= (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372) (= (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse386 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse387 (select .cse386 .cse385))) (let ((.cse379 (mod (+ .cse387 1) 4))) (let ((.cse376 (+ 2 .cse387)) (.cse377 (= .cse379 0)) (.cse378 (select .cse386 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse376 0) (not .cse377) (= (+ .cse378 4) .cse379)) (and (or (< 0 .cse376) .cse377) (= .cse378 .cse379)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse384 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse383 (select .cse384 .cse385))) (let ((.cse380 (mod (+ .cse383 1) 4))) (let ((.cse382 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse384 .cse385 (+ (- 4) .cse380))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse381 (select .cse382 .cse6))) (or (= .cse380 0) (not (= .cse1 .cse381)) (= .cse381 (select .cse382 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse383))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse391 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse390 (+ (select .cse391 .cse385) 1))) (let ((.cse389 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse391 .cse385 (mod .cse390 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse388 (select .cse389 .cse6))) (or (not (= .cse1 .cse388)) (= .cse388 (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse390 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse394 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse393 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse394 .cse385 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse392 (select .cse393 .cse6))) (or (= .cse392 (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse392 .cse1)) (not (= (mod (+ (select .cse394 .cse385) 1) 4) 0))))))))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| .cse1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse399 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse400 (select .cse399 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse401 (store .cse400 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse398 (select .cse400 .cse26)) (.cse396 (select (store .cse399 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse401 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse395 (select .cse396 .cse123)) (.cse397 (+ .cse398 1))) (or (= .cse395 (select .cse396 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse397 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse398) (not (= (select (select .cse399 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse395)) (= (select .cse400 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse397 4)) (not (= (mod (+ (select .cse401 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse402 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse406 (select .cse402 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse407 (store .cse406 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse408 (select (store .cse402 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse407 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse405 (select .cse406 .cse26))) (let ((.cse404 (+ .cse405 1)) (.cse403 (select .cse408 .cse6))) (or (not (= (select (select .cse402 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)) (< .cse404 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse405) (= (select .cse406 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse404 4)) (not (= (mod (+ (select .cse407 .cse26) 1) 4) 0)) (= (select .cse408 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse412 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse416 (select .cse412 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse415 (store .cse416 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse411 (select .cse416 .cse26)) (.cse410 (select (store .cse412 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse415 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse409 (select .cse410 .cse123)) (.cse414 (mod (+ .cse411 1) 4)) (.cse413 (select .cse416 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse409 (select .cse410 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse411) (not (= (select (select .cse412 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse409)) (= .cse413 .cse414) (not (= (mod (+ (select .cse415 .cse26) 1) 4) 0)) (= .cse414 (+ .cse413 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse422 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse425 (select .cse422 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse426 (store .cse425 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse418 (select .cse426 .cse26))) (let ((.cse421 (mod (+ .cse418 1) 4))) (let ((.cse424 (select (store .cse422 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse426 .cse26 (+ .cse421 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse417 (select .cse425 .cse26))) (let ((.cse420 (mod (+ .cse417 1) 4)) (.cse419 (select .cse425 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse423 (select .cse424 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse417) (< 0 (+ .cse418 2)) (= .cse419 .cse420) (= .cse420 (+ .cse419 4)) (= .cse421 0) (not (= (select (select .cse422 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)) (= (select .cse424 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse433 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse430 (select .cse433 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse434 (store .cse430 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse427 (+ (select .cse434 .cse26) 1))) (let ((.cse432 (select (store .cse433 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse434 .cse26 (mod .cse427 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse429 (select .cse430 .cse26))) (let ((.cse428 (+ .cse429 1)) (.cse431 (select .cse432 .cse123))) (or (< .cse427 0) (< .cse428 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse429) (= (select .cse430 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse428 4)) (= .cse431 (select .cse432 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse431 (select (select .cse433 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse438 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse440 (select .cse438 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse442 (store .cse440 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse435 (+ (select .cse442 .cse26) 1))) (let ((.cse441 (select (store .cse438 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse442 .cse26 (mod .cse435 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse437 (select .cse440 .cse26))) (let ((.cse436 (+ .cse437 1)) (.cse439 (select .cse441 .cse6))) (or (< .cse435 0) (< .cse436 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse437) (not (= (select (select .cse438 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439)) (= (select .cse440 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse436 4)) (= (select .cse441 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439))))))))))))))) is different from true [2024-04-04 22:10:59,097 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-04-04 22:11:03,540 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.43s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:11:04,817 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-04-04 22:11:06,059 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.19s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:11:09,072 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:11:16,497 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.21s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:11:17,761 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-04-04 22:11:38,054 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse161 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse162 (select .cse161 .cse160))) (let ((.cse397 (mod (+ .cse162 1) 4))) (let ((.cse395 (+ .cse162 2)) (.cse396 (= .cse397 0)) (.cse398 (select .cse161 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse154 (and (<= .cse395 0) (not .cse396) (= .cse397 (+ 4 .cse398)))) (.cse155 (and (or (< 0 .cse395) .cse396) (= .cse397 .cse398))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#res#1|) (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (let ((.cse129 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse129 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse129 (<= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 1)) (<= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1|)) (and (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 0)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse133 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse135 (select .cse133 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (store .cse135 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse134 (select .cse135 .cse26)) (.cse130 (select (store .cse133 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse136 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse131 (select .cse130 .cse56)) (.cse132 (+ .cse134 1))) (or (= (select .cse130 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse131) (< .cse132 0) (not (= .cse131 (select (select .cse133 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse134) (= (select .cse135 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse132 4)) (not (= (mod (+ (select .cse136 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse141 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse139 (select .cse141 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse137 (select .cse139 .cse26))) (let ((.cse138 (mod (+ .cse137 1) 4))) (or (< 0 (+ 2 .cse137)) (= .cse138 0) (= .cse138 (+ (select .cse139 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse144 (store .cse139 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse144 .cse26) 1))) (let ((.cse143 (select (store .cse141 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse144 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse142 (select .cse143 .cse6))) (or (< .cse140 0) (not (= (select (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142)) (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse147 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse145 (select .cse147 .cse26))) (let ((.cse146 (mod (+ .cse145 1) 4))) (or (< 0 (+ 2 .cse145)) (= .cse146 0) (= .cse146 (+ (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse145) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse153 (store .cse147 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse153 .cse26))) (let ((.cse152 (mod (+ .cse150 1) 4))) (let ((.cse151 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse153 .cse26 (+ .cse152 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse151 .cse56))) (or (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse148 (select .cse151 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 0)))))))))))))))) (or .cse154 .cse155 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse159 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse158 (+ (select .cse159 .cse160) 1))) (let ((.cse156 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse159 .cse160 (mod .cse158 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse157 (select .cse156 .cse6))) (or (= (select .cse156 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse157) (< .cse158 0) (not (= .cse1 .cse157)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse163 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse165 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse163 .cse160 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse164 (select .cse165 .cse6))) (or (not (= (mod (+ (select .cse163 .cse160) 1) 4) 0)) (not (= .cse164 .cse1)) (= .cse164 (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse170 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (select .cse170 .cse160))) (let ((.cse169 (mod (+ .cse168 1) 4))) (let ((.cse167 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse170 .cse160 (+ .cse169 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse166 (select .cse167 .cse6))) (or (= .cse166 (select .cse167 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse166)) (< 0 (+ 2 .cse168)) (= .cse169 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse178 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse179 (store .cse178 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (+ (select .cse179 .cse26) 1))) (let ((.cse172 (select .cse178 .cse26)) (.cse176 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse179 .cse26 (mod .cse171 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse175 (select .cse176 .cse95)) (.cse174 (mod (+ .cse172 1) 4)) (.cse173 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse171 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse172) (= .cse173 .cse174) (= .cse175 (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse175 (select (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse174 (+ .cse173 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse185 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse183 (select .cse185 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (store .cse183 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse182 (select .cse188 .cse26))) (let ((.cse184 (mod (+ .cse182 1) 4))) (let ((.cse187 (select (store .cse185 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse188 .cse26 (+ .cse184 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse181 (select .cse183 .cse26))) (let ((.cse180 (+ .cse181 1)) (.cse186 (select .cse187 .cse6))) (or (< .cse180 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse181) (< 0 (+ .cse182 2)) (= (select .cse183 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse180 4)) (= .cse184 0) (not (= (select (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)) (= (select .cse187 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse190 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse194 (select .cse190 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (select .cse194 .cse26))) (let ((.cse195 (mod (+ .cse189 1) 4))) (or (< 0 (+ 2 .cse189)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse192 (store .cse194 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store .cse190 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse192 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse193 .cse6))) (or (not (= (select (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)) (not (= (mod (+ (select .cse192 .cse26) 1) 4) 0)) (= (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)))))) (= .cse195 0) (= .cse195 (+ (select .cse194 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse201 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse198 (select .cse201 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse196 (select .cse198 .cse26))) (let ((.cse197 (mod (+ .cse196 1) 4))) (or (< 0 (+ 2 .cse196)) (= .cse197 0) (= .cse197 (+ (select .cse198 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse202 (store .cse198 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (select (store .cse201 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse202 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse199 (select .cse200 .cse95))) (or (= .cse199 (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse199)) (not (= (mod (+ (select .cse202 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse204 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse208 (select .cse204 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse211 (store .cse208 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse207 (select .cse211 .cse26))) (let ((.cse210 (mod (+ .cse207 1) 4))) (let ((.cse209 (select (store .cse204 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse211 .cse26 (+ .cse210 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse206 (select .cse208 .cse26))) (let ((.cse205 (+ .cse206 1)) (.cse203 (select .cse209 .cse95))) (or (not (= .cse203 (select (select .cse204 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse205 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse206) (< 0 (+ .cse207 2)) (= (select .cse208 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse205 4)) (= (select .cse209 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse203) (= .cse210 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse212 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse219 (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse217 (store .cse219 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse218 (select (store .cse212 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse217 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse214 (select .cse219 .cse26))) (let ((.cse216 (mod (+ .cse214 1) 4)) (.cse215 (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse213 (select .cse218 .cse6))) (or (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse214) (= .cse215 .cse216) (not (= (mod (+ (select .cse217 .cse26) 1) 4) 0)) (= .cse216 (+ .cse215 4)) (= (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse222 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse220 (select .cse222 .cse26))) (let ((.cse221 (mod (+ .cse220 1) 4))) (or (< 0 (+ 2 .cse220)) (= .cse221 0) (= .cse221 (+ (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse227 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse223 (+ (select .cse227 .cse26) 1))) (let ((.cse225 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse227 .cse26 (mod .cse223 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse224 (select .cse225 .cse56))) (or (< .cse223 0) (= .cse224 (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse224 (select (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse231 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse232 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse233 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse230 (+ (select .cse233 .cse160) 1))) (let ((.cse229 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse233 .cse160 (mod .cse230 4))))) (or (let ((.cse228 (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse228 .cse6))) (< .cse230 0) (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse235 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse234 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse235 .cse160 0)))) (or (not (= .cse232 (select (select .cse234 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231))) (not (= (mod (+ (select .cse235 .cse160) 1) 4) 0)) (let ((.cse236 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse241 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse239 (select .cse241 .cse160))) (let ((.cse240 (mod (+ .cse239 1) 4))) (let ((.cse238 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse241 .cse160 (+ .cse240 (- 4)))))) (or (let ((.cse237 (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse237 .cse6) (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse238 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232)) (< 0 (+ 2 .cse239)) (= .cse240 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse243 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse250 (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse251 (store .cse250 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select .cse251 .cse26))) (let ((.cse249 (mod (+ .cse245 1) 4))) (let ((.cse244 (select .cse250 .cse26)) (.cse248 (select (store .cse243 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse251 .cse26 (+ .cse249 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse242 (select .cse248 .cse95)) (.cse247 (mod (+ .cse244 1) 4)) (.cse246 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse242 (select (select .cse243 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse244) (< 0 (+ .cse245 2)) (= .cse246 .cse247) (= (select .cse248 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse242) (= .cse247 (+ .cse246 4)) (= .cse249 0)))))))))) (or (let ((.cse255 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse256 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse257 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse257 .cse160) 1))) (let ((.cse253 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse257 .cse160 (mod .cse254 4))))) (or (let ((.cse252 (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse252 .cse6))) (< .cse254 0) (not (= (select (select .cse253 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse260 (select .cse262 .cse160))) (let ((.cse261 (mod (+ .cse260 1) 4))) (let ((.cse259 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse160 (+ .cse261 (- 4)))))) (or (let ((.cse258 (select .cse259 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse258 .cse6) (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse260)) (= .cse261 0) (not (= .cse256 (select (select .cse259 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse263 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse263 .cse160 0)))) (or (not (= (mod (+ (select .cse263 .cse160) 1) 4) 0)) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256)) (let ((.cse265 (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse265 .cse6) (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse268 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse273 (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (select .cse273 .cse26)) (.cse266 (select (store .cse268 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse266 .cse56)) (.cse271 (mod (+ .cse269 1) 4)) (.cse270 (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse266 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse267) (not (= .cse267 (select (select .cse268 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse269) (= .cse270 .cse271) (not (= (mod (+ (select .cse272 .cse26) 1) 4) 0)) (= .cse271 (+ .cse270 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse278 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse279 (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse280 (store .cse279 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (+ (select .cse280 .cse26) 1))) (let ((.cse277 (select (store .cse278 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse280 .cse26 (mod .cse274 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse276 (select .cse277 .cse95)) (.cse275 (select .cse279 .cse26))) (or (< .cse274 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse275) (= .cse276 (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse276 (select (select .cse278 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse275 1) 4) 0)) (= (select .cse279 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse285 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse287 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse281 (+ (select .cse287 .cse26) 1))) (let ((.cse284 (select (store .cse285 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse287 .cse26 (mod .cse281 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse282 (select .cse286 .cse26)) (.cse283 (select .cse284 .cse56))) (or (< .cse281 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse282) (not (= (mod (+ .cse282 1) 4) 0)) (= .cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse283 (select (select .cse285 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse290 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse293 (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse292 (store .cse293 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (select (store .cse290 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse289 (select .cse288 .cse56)) (.cse291 (select .cse293 .cse26))) (or (= (select .cse288 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse289) (not (= .cse289 (select (select .cse290 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse291) (not (= (mod (+ (select .cse292 .cse26) 1) 4) 0)) (not (= (mod (+ .cse291 1) 4) 0)) (= (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse301 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse294 (select .cse301 .cse26))) (let ((.cse302 (mod (+ .cse294 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse294) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse300 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse297 (select .cse300 .cse26))) (let ((.cse299 (mod (+ .cse297 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse299 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse295 (select .cse298 .cse95))) (or (not (= .cse295 (select (select .cse296 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse297 2)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse295) (= .cse299 0)))))))))) (< 0 (+ 2 .cse294)) (= .cse302 0) (= .cse302 (+ (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse305 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse303 (select .cse305 .cse26))) (let ((.cse304 (mod (+ .cse303 1) 4))) (or (< 0 (+ 2 .cse303)) (= .cse304 0) (= .cse304 (+ (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse303) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse311 (store .cse305 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse311 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse311 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse310 .cse6))) (or (< 0 (+ .cse306 2)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse318 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse314 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (select .cse314 .cse26))) (let ((.cse313 (mod (+ .cse312 1) 4))) (or (< 0 (+ 2 .cse312)) (= .cse313 0) (= .cse313 (+ (select .cse314 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse314 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse319 .cse26) 1))) (let ((.cse317 (select (store .cse318 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse319 .cse26 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse316 (select .cse317 .cse95))) (or (< .cse315 0) (= .cse316 (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse316 (select (select .cse318 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse326 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse327 (store .cse326 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse321 (select .cse327 .cse26))) (let ((.cse322 (mod (+ .cse321 1) 4))) (let ((.cse325 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse327 .cse26 (+ .cse322 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse320 (select .cse326 .cse26)) (.cse324 (select .cse325 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (< 0 (+ .cse321 2)) (not (= (mod (+ .cse320 1) 4) 0)) (= .cse322 0) (not (= (select (select .cse323 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324)) (= (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324) (= (select .cse326 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse338 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse339 (select .cse338 .cse337))) (let ((.cse331 (mod (+ .cse339 1) 4))) (let ((.cse328 (+ 2 .cse339)) (.cse329 (= .cse331 0)) (.cse330 (select .cse338 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse328 0) (not .cse329) (= (+ .cse330 4) .cse331)) (and (or (< 0 .cse328) .cse329) (= .cse330 .cse331)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse336 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse336 .cse337))) (let ((.cse332 (mod (+ .cse335 1) 4))) (let ((.cse334 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse336 .cse337 (+ (- 4) .cse332))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse333 (select .cse334 .cse6))) (or (= .cse332 0) (not (= .cse1 .cse333)) (= .cse333 (select .cse334 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse335))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse343 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse342 (+ (select .cse343 .cse337) 1))) (let ((.cse341 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse343 .cse337 (mod .cse342 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse340 (select .cse341 .cse6))) (or (not (= .cse1 .cse340)) (= .cse340 (select .cse341 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse342 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse346 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse346 .cse337 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse344 (select .cse345 .cse6))) (or (= .cse344 (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse344 .cse1)) (not (= (mod (+ (select .cse346 .cse337) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse351 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse352 (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse353 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (select .cse352 .cse26)) (.cse348 (select (store .cse351 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse353 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse347 (select .cse348 .cse95)) (.cse349 (+ .cse350 1))) (or (= .cse347 (select .cse348 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse349 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse350) (not (= (select (select .cse351 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse347)) (= (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse349 4)) (not (= (mod (+ (select .cse353 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse354 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse358 (select .cse354 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse358 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (select (store .cse354 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse357 (select .cse358 .cse26))) (let ((.cse356 (+ .cse357 1)) (.cse355 (select .cse360 .cse6))) (or (not (= (select (select .cse354 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)) (< .cse356 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse357) (= (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse356 4)) (not (= (mod (+ (select .cse359 .cse26) 1) 4) 0)) (= (select .cse360 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse364 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse368 (select .cse364 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse368 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (select .cse368 .cse26)) (.cse362 (select (store .cse364 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse361 (select .cse362 .cse95)) (.cse366 (mod (+ .cse363 1) 4)) (.cse365 (select .cse368 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse361 (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse363) (not (= (select (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse361)) (= .cse365 .cse366) (not (= (mod (+ (select .cse367 .cse26) 1) 4) 0)) (= .cse366 (+ .cse365 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse374 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse378 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse370 (select .cse378 .cse26))) (let ((.cse373 (mod (+ .cse370 1) 4))) (let ((.cse376 (select (store .cse374 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse378 .cse26 (+ .cse373 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4)) (.cse371 (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse375 (select .cse376 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse369) (< 0 (+ .cse370 2)) (= .cse371 .cse372) (= .cse372 (+ .cse371 4)) (= .cse373 0) (not (= (select (select .cse374 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)) (= (select .cse376 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse385 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse382 (select .cse385 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse386 (store .cse382 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse379 (+ (select .cse386 .cse26) 1))) (let ((.cse384 (select (store .cse385 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse386 .cse26 (mod .cse379 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse381 (select .cse382 .cse26))) (let ((.cse380 (+ .cse381 1)) (.cse383 (select .cse384 .cse95))) (or (< .cse379 0) (< .cse380 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse381) (= (select .cse382 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse380 4)) (= .cse383 (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse383 (select (select .cse385 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse390 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse392 (select .cse390 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse394 (store .cse392 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse387 (+ (select .cse394 .cse26) 1))) (let ((.cse393 (select (store .cse390 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse394 .cse26 (mod .cse387 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse389 (select .cse392 .cse26))) (let ((.cse388 (+ .cse389 1)) (.cse391 (select .cse393 .cse6))) (or (< .cse387 0) (< .cse388 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse389) (not (= (select (select .cse390 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391)) (= (select .cse392 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse388 4)) (= (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391))))))))))))))) is different from true [2024-04-04 22:11:42,105 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse189 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse190 (select .cse189 .cse188))) (let ((.cse445 (mod (+ .cse190 1) 4))) (let ((.cse46 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse80 (* |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1| 4)) (.cse443 (+ .cse190 2)) (.cse444 (= .cse445 0)) (.cse446 (select .cse189 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse182 (and (<= .cse443 0) (not .cse444) (= .cse445 (+ 4 .cse446)))) (.cse183 (and (or (< 0 .cse443) .cse444) (= .cse445 .cse446))) (.cse42 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse45 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse47 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| .cse80 4)) (.cse257 (select .cse46 0)) (.cse64 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse123 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse44 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse44 .cse45) 1))) (let ((.cse41 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse44 .cse45 (mod .cse40 4))))) (or (< .cse40 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse41 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse43 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse43 .cse6)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse50 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse55 (select .cse50 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse56 (store .cse55 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse48 (+ (select .cse56 .cse26) 1))) (let ((.cse54 (select (store .cse50 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse56 .cse26 (mod .cse48 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse49 (select .cse55 .cse26))) (let ((.cse53 (mod (+ .cse49 1) 4)) (.cse52 (select .cse55 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse51 (select .cse54 .cse6))) (or (< .cse48 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse49) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51)) (= .cse52 .cse53) (= .cse53 (+ .cse52 4)) (= (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse62 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse59 (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse57 (select .cse59 .cse26))) (let ((.cse58 (mod (+ .cse57 1) 4))) (or (< 0 (+ 2 .cse57)) (= .cse58 0) (= .cse58 (+ (select .cse59 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse63 (store .cse59 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse60 (select (store .cse62 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse61 (select .cse60 .cse64))) (or (= (select .cse60 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse61) (not (= .cse61 (select (select .cse62 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse63 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse65 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse70 (select .cse65 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse68 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse69 (select (store .cse65 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse68 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse70 .cse26)) (.cse66 (select .cse69 .cse6))) (or (not (= (select (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse67) (not (= (mod (+ (select .cse68 .cse26) 1) 4) 0)) (not (= (mod (+ .cse67 1) 4) 0)) (= (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (= (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse74 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse76 (select .cse74 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse76 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse75 (select .cse79 .cse26))) (let ((.cse78 (mod (+ .cse75 1) 4))) (let ((.cse77 (select (store .cse74 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (+ .cse78 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse72 (select .cse76 .cse26))) (let ((.cse71 (+ .cse72 1)) (.cse73 (select .cse77 .cse64))) (or (< .cse71 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse72) (not (= .cse73 (select (select .cse74 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse75 2)) (= (select .cse76 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse71 4)) (= .cse73 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse78 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (store .cse46 (+ .cse80 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) 0)) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (let ((.cse88 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|)) (.cse87 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20))) (let ((.cse81 (select .cse88 .cse87))) (let ((.cse96 (mod (+ .cse81 1) 4))) (let ((.cse97 (select .cse88 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset|)) (.cse98 (+ .cse81 2)) (.cse99 (= .cse96 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (select .cse86 .cse87))) (let ((.cse82 (mod (+ .cse85 1) 4))) (let ((.cse84 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse86 .cse87 (+ (- 4) .cse82))))) (or (= .cse82 0) (let ((.cse83 (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse83 .cse6) (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse85 2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse84 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse90 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse89 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse90 .cse87 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse89 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (not (= (mod (+ (select .cse90 .cse87) 1) 4) 0)) (let ((.cse91 (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse91 .cse6))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse95 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (+ (select .cse95 .cse87) 1))) (let ((.cse92 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse95 .cse87 (mod .cse94 4))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse92 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse93 (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse93 .cse6))) (< .cse94 0))))))))) (and (= .cse96 .cse97) (or (< 0 .cse98) .cse99)) (and (= .cse96 (+ .cse97 4)) (<= .cse98 0) (not .cse99))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse103 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse107 (store .cse103 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse100 (+ (select .cse107 .cse26) 1))) (let ((.cse105 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse107 .cse26 (mod .cse100 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse102 (select .cse103 .cse26))) (let ((.cse101 (+ .cse102 1)) (.cse104 (select .cse105 .cse64))) (or (< .cse100 0) (< .cse101 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse102) (= (select .cse103 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse101 4)) (= .cse104 (select .cse105 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse104 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse115 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse116 (store .cse115 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse108 (+ (select .cse116 .cse26) 1))) (let ((.cse113 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse116 .cse26 (mod .cse108 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse109 (select .cse115 .cse26))) (let ((.cse111 (mod (+ .cse109 1) 4)) (.cse110 (select .cse115 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse112 (select .cse113 .cse64))) (or (< .cse108 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse109) (= .cse110 .cse111) (= .cse111 (+ .cse110 4)) (= .cse112 (select .cse113 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse112 (select (select .cse114 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse120 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse122 (select .cse120 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse122 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse118 (select (store .cse120 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse117 (select .cse118 .cse123)) (.cse119 (select .cse122 .cse26))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse117)) (not (= (mod (+ (select .cse121 .cse26) 1) 4) 0)) (not (= (mod (+ .cse119 1) 4) 0)) (= (select .cse122 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse125 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse130 (select .cse125 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse130 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse127 (select .cse131 .cse26))) (let ((.cse129 (mod (+ .cse127 1) 4))) (let ((.cse128 (select (store .cse125 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse26 (+ .cse129 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse124 (select .cse128 .cse123)) (.cse126 (select .cse130 .cse26))) (or (not (= .cse124 (select (select .cse125 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse126) (< 0 (+ .cse127 2)) (= (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse124) (not (= (mod (+ .cse126 1) 4) 0)) (= .cse129 0) (= (select .cse130 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse134 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse139 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse135 (select .cse139 .cse26))) (let ((.cse137 (mod (+ .cse135 1) 4))) (let ((.cse136 (select (store .cse134 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse139 .cse26 (+ .cse137 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse133 (select .cse136 .cse64)) (.cse132 (select .cse138 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse132) (not (= .cse133 (select (select .cse134 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse135 2)) (= .cse133 (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse132 1) 4) 0)) (= .cse137 0) (= (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse142 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse145 (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse146 (store .cse145 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse146 .cse26) 1))) (let ((.cse144 (select (store .cse142 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse146 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse143 (select .cse144 .cse6)) (.cse141 (select .cse145 .cse26))) (or (< .cse140 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse141) (not (= (select (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143)) (= (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143) (not (= (mod (+ .cse141 1) 4) 0)) (= (select .cse145 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse155 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse156 (store .cse155 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse156 .cse26))) (let ((.cse154 (mod (+ .cse150 1) 4))) (let ((.cse147 (select .cse155 .cse26)) (.cse153 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse156 .cse26 (+ .cse154 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse153 .cse64)) (.cse152 (mod (+ .cse147 1) 4)) (.cse151 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse147) (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse151 .cse152) (= .cse148 (select .cse153 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 (+ .cse151 4)) (= .cse154 0)))))))))) (let ((.cse157 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse157 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse157 (<= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 1)) (<= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1|)) (and (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 0)))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse161 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse163 (select .cse161 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse164 (store .cse163 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse162 (select .cse163 .cse26)) (.cse158 (select (store .cse161 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse164 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse159 (select .cse158 .cse64)) (.cse160 (+ .cse162 1))) (or (= (select .cse158 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse159) (< .cse160 0) (not (= .cse159 (select (select .cse161 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162) (= (select .cse163 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse160 4)) (not (= (mod (+ (select .cse164 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse169 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse167 (select .cse169 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse165 (select .cse167 .cse26))) (let ((.cse166 (mod (+ .cse165 1) 4))) (or (< 0 (+ 2 .cse165)) (= .cse166 0) (= .cse166 (+ (select .cse167 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse172 (store .cse167 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (+ (select .cse172 .cse26) 1))) (let ((.cse171 (select (store .cse169 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse172 .cse26 (mod .cse168 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse170 (select .cse171 .cse6))) (or (< .cse168 0) (not (= (select (select .cse169 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170)) (= (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse170))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse175 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse173 (select .cse175 .cse26))) (let ((.cse174 (mod (+ .cse173 1) 4))) (or (< 0 (+ 2 .cse173)) (= .cse174 0) (= .cse174 (+ (select .cse175 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse173) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse181 (store .cse175 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse178 (select .cse181 .cse26))) (let ((.cse180 (mod (+ .cse178 1) 4))) (let ((.cse179 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse181 .cse26 (+ .cse180 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse176 (select .cse179 .cse64))) (or (not (= .cse176 (select (select .cse177 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse178 2)) (= .cse176 (select .cse179 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse180 0)))))))))))))))) (or .cse182 .cse183 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse187 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse186 (+ (select .cse187 .cse188) 1))) (let ((.cse184 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse187 .cse188 (mod .cse186 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse185 (select .cse184 .cse6))) (or (= (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse185) (< .cse186 0) (not (= .cse1 .cse185)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse191 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse191 .cse188 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse192 (select .cse193 .cse6))) (or (not (= (mod (+ (select .cse191 .cse188) 1) 4) 0)) (not (= .cse192 .cse1)) (= .cse192 (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse198 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse196 (select .cse198 .cse188))) (let ((.cse197 (mod (+ .cse196 1) 4))) (let ((.cse195 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse198 .cse188 (+ .cse197 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse194 (select .cse195 .cse6))) (or (= .cse194 (select .cse195 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse194)) (< 0 (+ 2 .cse196)) (= .cse197 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse199 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse199 .cse188 0)))) (or (not (= (mod (+ (select .cse199 .cse188) 1) 4) 0)) (not (= (select (select .cse200 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (let ((.cse201 (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse201 .cse6) (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse206 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse204 (select .cse206 .cse188))) (let ((.cse205 (mod (+ .cse204 1) 4))) (let ((.cse202 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse206 .cse188 (+ .cse205 (- 4)))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse202 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse203 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse203 .cse6) (select .cse203 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse204)) (= .cse205 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse210 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse209 (+ (select .cse210 .cse188) 1))) (let ((.cse208 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse210 .cse188 (mod .cse209 4))))) (or (let ((.cse207 (select .cse208 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse207 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse207 .cse6))) (< .cse209 0) (not (= (select (select .cse208 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190)))) .cse182 .cse183) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse215 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse214 (select .cse215 .cse45))) (let ((.cse212 (mod (+ .cse214 1) 4))) (let ((.cse211 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse215 .cse45 (+ .cse212 (- 4)))))) (or (not (= (select (select .cse211 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse212 0) (let ((.cse213 (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse213 .cse6) (select .cse213 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse214)))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse222 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse223 (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse224 (store .cse223 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse216 (+ (select .cse224 .cse26) 1))) (let ((.cse217 (select .cse223 .cse26)) (.cse221 (select (store .cse222 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse224 .cse26 (mod .cse216 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse220 (select .cse221 .cse123)) (.cse219 (mod (+ .cse217 1) 4)) (.cse218 (select .cse223 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse216 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse217) (= .cse218 .cse219) (= .cse220 (select .cse221 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse220 (select (select .cse222 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse219 (+ .cse218 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse230 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse228 (select .cse230 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse233 (store .cse228 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse227 (select .cse233 .cse26))) (let ((.cse229 (mod (+ .cse227 1) 4))) (let ((.cse232 (select (store .cse230 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse233 .cse26 (+ .cse229 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse226 (select .cse228 .cse26))) (let ((.cse225 (+ .cse226 1)) (.cse231 (select .cse232 .cse6))) (or (< .cse225 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse226) (< 0 (+ .cse227 2)) (= (select .cse228 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse225 4)) (= .cse229 0) (not (= (select (select .cse230 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)) (= (select .cse232 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse231)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse1) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse235 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse239 (select .cse235 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse234 (select .cse239 .cse26))) (let ((.cse240 (mod (+ .cse234 1) 4))) (or (< 0 (+ 2 .cse234)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse237 (store .cse239 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse238 (select (store .cse235 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse237 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse236 (select .cse238 .cse6))) (or (not (= (select (select .cse235 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)) (not (= (mod (+ (select .cse237 .cse26) 1) 4) 0)) (= (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse236)))))) (= .cse240 0) (= .cse240 (+ (select .cse239 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse246 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse243 (select .cse246 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse241 (select .cse243 .cse26))) (let ((.cse242 (mod (+ .cse241 1) 4))) (or (< 0 (+ 2 .cse241)) (= .cse242 0) (= .cse242 (+ (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse247 (store .cse243 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select (store .cse246 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse247 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse244 (select .cse245 .cse123))) (or (= .cse244 (select .cse245 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse246 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse244)) (not (= (mod (+ (select .cse247 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse249 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse253 (select .cse249 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse256 (store .cse253 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse252 (select .cse256 .cse26))) (let ((.cse255 (mod (+ .cse252 1) 4))) (let ((.cse254 (select (store .cse249 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse256 .cse26 (+ .cse255 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse251 (select .cse253 .cse26))) (let ((.cse250 (+ .cse251 1)) (.cse248 (select .cse254 .cse123))) (or (not (= .cse248 (select (select .cse249 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse250 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse251) (< 0 (+ .cse252 2)) (= (select .cse253 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse250 4)) (= (select .cse254 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse248) (= .cse255 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse257) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse258 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse265 (select .cse258 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse263 (store .cse265 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (select (store .cse258 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse263 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse260 (select .cse265 .cse26))) (let ((.cse262 (mod (+ .cse260 1) 4)) (.cse261 (select .cse265 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse259 (select .cse264 .cse6))) (or (not (= (select (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse260) (= .cse261 .cse262) (not (= (mod (+ (select .cse263 .cse26) 1) 4) 0)) (= .cse262 (+ .cse261 4)) (= (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse259)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse272 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse268 (select .cse272 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse266 (select .cse268 .cse26))) (let ((.cse267 (mod (+ .cse266 1) 4))) (or (< 0 (+ 2 .cse266)) (= .cse267 0) (= .cse267 (+ (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse273 (store .cse268 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (+ (select .cse273 .cse26) 1))) (let ((.cse271 (select (store .cse272 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse273 .cse26 (mod .cse269 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse270 (select .cse271 .cse64))) (or (< .cse269 0) (= .cse270 (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse270 (select (select .cse272 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse277 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse278 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse279 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse276 (+ (select .cse279 .cse188) 1))) (let ((.cse275 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse279 .cse188 (mod .cse276 4))))) (or (let ((.cse274 (select .cse275 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse274 .cse6))) (< .cse276 0) (not (= (select (select .cse275 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse281 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse280 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse281 .cse188 0)))) (or (not (= .cse278 (select (select .cse280 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277))) (not (= (mod (+ (select .cse281 .cse188) 1) 4) 0)) (let ((.cse282 (select .cse280 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse282 .cse6) (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse287 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse285 (select .cse287 .cse188))) (let ((.cse286 (mod (+ .cse285 1) 4))) (let ((.cse284 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse287 .cse188 (+ .cse286 (- 4)))))) (or (let ((.cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse283 .cse6) (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse284 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse277) .cse278)) (< 0 (+ 2 .cse285)) (= .cse286 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse289 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse296 (select .cse289 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse297 (store .cse296 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse291 (select .cse297 .cse26))) (let ((.cse295 (mod (+ .cse291 1) 4))) (let ((.cse290 (select .cse296 .cse26)) (.cse294 (select (store .cse289 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse297 .cse26 (+ .cse295 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse288 (select .cse294 .cse123)) (.cse293 (mod (+ .cse290 1) 4)) (.cse292 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse288 (select (select .cse289 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse290) (< 0 (+ .cse291 2)) (= .cse292 .cse293) (= (select .cse294 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse288) (= .cse293 (+ .cse292 4)) (= .cse295 0)))))))))) (or (let ((.cse301 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse302 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse300 (+ (select .cse302 .cse188) 1))) (let ((.cse299 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse302 .cse188 (mod .cse300 4))))) (or (let ((.cse298 (select .cse299 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse298 .cse6))) (< .cse300 0) (not (= (select (select .cse299 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse307 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse305 (select .cse307 .cse188))) (let ((.cse306 (mod (+ .cse305 1) 4))) (let ((.cse304 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse307 .cse188 (+ .cse306 (- 4)))))) (or (let ((.cse303 (select .cse304 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse303 .cse6) (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse305)) (= .cse306 0) (not (= .cse301 (select (select .cse304 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse308 (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse309 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse308 .cse188 0)))) (or (not (= (mod (+ (select .cse308 .cse188) 1) 4) 0)) (not (= (select (select .cse309 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse301)) (let ((.cse310 (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse310 .cse6) (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse190))))) .cse182 .cse183) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse313 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse318 (select .cse313 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse317 (store .cse318 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse314 (select .cse318 .cse26)) (.cse311 (select (store .cse313 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse317 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse312 (select .cse311 .cse64)) (.cse316 (mod (+ .cse314 1) 4)) (.cse315 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse311 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse312) (not (= .cse312 (select (select .cse313 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse314) (= .cse315 .cse316) (not (= (mod (+ (select .cse317 .cse26) 1) 4) 0)) (= .cse316 (+ .cse315 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse324 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse325 (store .cse324 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse319 (+ (select .cse325 .cse26) 1))) (let ((.cse322 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse325 .cse26 (mod .cse319 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse321 (select .cse322 .cse123)) (.cse320 (select .cse324 .cse26))) (or (< .cse319 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (= .cse321 (select .cse322 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse321 (select (select .cse323 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse320 1) 4) 0)) (= (select .cse324 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse328 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse326 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse328 .cse45 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse326 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse327 (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse327 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse327 .cse6))) (not (= (mod (+ (select .cse328 .cse45) 1) 4) 0)))))) (not (= .cse257 1)) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse333 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse334 (select .cse333 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse335 (store .cse334 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse329 (+ (select .cse335 .cse26) 1))) (let ((.cse332 (select (store .cse333 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse335 .cse26 (mod .cse329 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse330 (select .cse334 .cse26)) (.cse331 (select .cse332 .cse64))) (or (< .cse329 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse330) (not (= (mod (+ .cse330 1) 4) 0)) (= .cse331 (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse331 (select (select .cse333 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse334 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse338 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse341 (select .cse338 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse340 (store .cse341 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse336 (select (store .cse338 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse340 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse337 (select .cse336 .cse64)) (.cse339 (select .cse341 .cse26))) (or (= (select .cse336 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse337) (not (= .cse337 (select (select .cse338 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (not (= (mod (+ (select .cse340 .cse26) 1) 4) 0)) (not (= (mod (+ .cse339 1) 4) 0)) (= (select .cse341 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse344 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse349 (select .cse344 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse342 (select .cse349 .cse26))) (let ((.cse350 (mod (+ .cse342 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse342) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse348 (store .cse349 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select .cse348 .cse26))) (let ((.cse347 (mod (+ .cse345 1) 4))) (let ((.cse346 (select (store .cse344 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse348 .cse26 (+ .cse347 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse343 (select .cse346 .cse123))) (or (not (= .cse343 (select (select .cse344 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse345 2)) (= (select .cse346 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse343) (= .cse347 0)))))))))) (< 0 (+ 2 .cse342)) (= .cse350 0) (= .cse350 (+ (select .cse349 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse356 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse353 (select .cse356 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse351 (select .cse353 .cse26))) (let ((.cse352 (mod (+ .cse351 1) 4))) (or (< 0 (+ 2 .cse351)) (= .cse352 0) (= .cse352 (+ (select .cse353 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse351) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse359 (store .cse353 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse354 (select .cse359 .cse26))) (let ((.cse355 (mod (+ .cse354 1) 4))) (let ((.cse358 (select (store .cse356 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 (+ .cse355 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse357 (select .cse358 .cse6))) (or (< 0 (+ .cse354 2)) (= .cse355 0) (not (= (select (select .cse356 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)) (= (select .cse358 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse357)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse366 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse362 (select .cse366 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse360 (select .cse362 .cse26))) (let ((.cse361 (mod (+ .cse360 1) 4))) (or (< 0 (+ 2 .cse360)) (= .cse361 0) (= .cse361 (+ (select .cse362 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse367 (store .cse362 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (+ (select .cse367 .cse26) 1))) (let ((.cse365 (select (store .cse366 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 (mod .cse363 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse364 (select .cse365 .cse123))) (or (< .cse363 0) (= .cse364 (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse364 (select (select .cse366 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse371 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse374 (select .cse371 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse375 (store .cse374 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse369 (select .cse375 .cse26))) (let ((.cse370 (mod (+ .cse369 1) 4))) (let ((.cse373 (select (store .cse371 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse375 .cse26 (+ .cse370 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse368 (select .cse374 .cse26)) (.cse372 (select .cse373 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse368) (< 0 (+ .cse369 2)) (not (= (mod (+ .cse368 1) 4) 0)) (= .cse370 0) (not (= (select (select .cse371 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372)) (= (select .cse373 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse372) (= (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse386 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse387 (select .cse386 .cse385))) (let ((.cse379 (mod (+ .cse387 1) 4))) (let ((.cse376 (+ 2 .cse387)) (.cse377 (= .cse379 0)) (.cse378 (select .cse386 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse376 0) (not .cse377) (= (+ .cse378 4) .cse379)) (and (or (< 0 .cse376) .cse377) (= .cse378 .cse379)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse384 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse383 (select .cse384 .cse385))) (let ((.cse380 (mod (+ .cse383 1) 4))) (let ((.cse382 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse384 .cse385 (+ (- 4) .cse380))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse381 (select .cse382 .cse6))) (or (= .cse380 0) (not (= .cse1 .cse381)) (= .cse381 (select .cse382 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse383))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse391 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse390 (+ (select .cse391 .cse385) 1))) (let ((.cse389 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse391 .cse385 (mod .cse390 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse388 (select .cse389 .cse6))) (or (not (= .cse1 .cse388)) (= .cse388 (select .cse389 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse390 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse387) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse394 (store .cse386 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse393 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse394 .cse385 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse392 (select .cse393 .cse6))) (or (= .cse392 (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse392 .cse1)) (not (= (mod (+ (select .cse394 .cse385) 1) 4) 0))))))))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| .cse1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse399 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse400 (select .cse399 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse401 (store .cse400 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse398 (select .cse400 .cse26)) (.cse396 (select (store .cse399 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse401 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse395 (select .cse396 .cse123)) (.cse397 (+ .cse398 1))) (or (= .cse395 (select .cse396 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse397 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse398) (not (= (select (select .cse399 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse395)) (= (select .cse400 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse397 4)) (not (= (mod (+ (select .cse401 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse402 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse406 (select .cse402 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse407 (store .cse406 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse408 (select (store .cse402 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse407 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse405 (select .cse406 .cse26))) (let ((.cse404 (+ .cse405 1)) (.cse403 (select .cse408 .cse6))) (or (not (= (select (select .cse402 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)) (< .cse404 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse405) (= (select .cse406 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse404 4)) (not (= (mod (+ (select .cse407 .cse26) 1) 4) 0)) (= (select .cse408 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse403)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse412 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse416 (select .cse412 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse415 (store .cse416 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse411 (select .cse416 .cse26)) (.cse410 (select (store .cse412 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse415 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse409 (select .cse410 .cse123)) (.cse414 (mod (+ .cse411 1) 4)) (.cse413 (select .cse416 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse409 (select .cse410 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse411) (not (= (select (select .cse412 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse409)) (= .cse413 .cse414) (not (= (mod (+ (select .cse415 .cse26) 1) 4) 0)) (= .cse414 (+ .cse413 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse422 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse425 (select .cse422 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse426 (store .cse425 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse418 (select .cse426 .cse26))) (let ((.cse421 (mod (+ .cse418 1) 4))) (let ((.cse424 (select (store .cse422 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse426 .cse26 (+ .cse421 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse417 (select .cse425 .cse26))) (let ((.cse420 (mod (+ .cse417 1) 4)) (.cse419 (select .cse425 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse423 (select .cse424 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse417) (< 0 (+ .cse418 2)) (= .cse419 .cse420) (= .cse420 (+ .cse419 4)) (= .cse421 0) (not (= (select (select .cse422 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)) (= (select .cse424 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse423)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse433 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse430 (select .cse433 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse434 (store .cse430 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse427 (+ (select .cse434 .cse26) 1))) (let ((.cse432 (select (store .cse433 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse434 .cse26 (mod .cse427 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse429 (select .cse430 .cse26))) (let ((.cse428 (+ .cse429 1)) (.cse431 (select .cse432 .cse123))) (or (< .cse427 0) (< .cse428 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse429) (= (select .cse430 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse428 4)) (= .cse431 (select .cse432 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse431 (select (select .cse433 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse438 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse440 (select .cse438 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse442 (store .cse440 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse435 (+ (select .cse442 .cse26) 1))) (let ((.cse441 (select (store .cse438 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse442 .cse26 (mod .cse435 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse437 (select .cse440 .cse26))) (let ((.cse436 (+ .cse437 1)) (.cse439 (select .cse441 .cse6))) (or (< .cse435 0) (< .cse436 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse437) (not (= (select (select .cse438 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439)) (= (select .cse440 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse436 4)) (= (select .cse441 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse439))))))))))))))) is different from true [2024-04-04 22:11:44,387 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse161 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse160 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse162 (select .cse161 .cse160))) (let ((.cse397 (mod (+ .cse162 1) 4))) (let ((.cse395 (+ .cse162 2)) (.cse396 (= .cse397 0)) (.cse398 (select .cse161 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse154 (and (<= .cse395 0) (not .cse396) (= .cse397 (+ 4 .cse398)))) (.cse155 (and (or (< 0 .cse395) .cse396) (= .cse397 .cse398))) (.cse56 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse95 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse42 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse47 (select .cse42 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse48 (store .cse47 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse48 .cse26) 1))) (let ((.cse46 (select (store .cse42 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse48 .cse26 (mod .cse40 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse41 (select .cse47 .cse26))) (let ((.cse45 (mod (+ .cse41 1) 4)) (.cse44 (select .cse47 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse43 (select .cse46 .cse6))) (or (< .cse40 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse41) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43)) (= .cse44 .cse45) (= .cse45 (+ .cse44 4)) (= (select .cse46 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse43))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse54 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse51 (select .cse54 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse49 (select .cse51 .cse26))) (let ((.cse50 (mod (+ .cse49 1) 4))) (or (< 0 (+ 2 .cse49)) (= .cse50 0) (= .cse50 (+ (select .cse51 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse55 (store .cse51 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse52 (select (store .cse54 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse55 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse53 (select .cse52 .cse56))) (or (= (select .cse52 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse53) (not (= .cse53 (select (select .cse54 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse55 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse57 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse62 (select .cse57 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse60 (store .cse62 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse61 (select (store .cse57 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse60 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse59 (select .cse62 .cse26)) (.cse58 (select .cse61 .cse6))) (or (not (= (select (select .cse57 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse59) (not (= (mod (+ (select .cse60 .cse26) 1) 4) 0)) (not (= (mod (+ .cse59 1) 4) 0)) (= (select .cse61 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse58) (= (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse66 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse68 (select .cse66 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse71 (store .cse68 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse67 (select .cse71 .cse26))) (let ((.cse70 (mod (+ .cse67 1) 4))) (let ((.cse69 (select (store .cse66 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse71 .cse26 (+ .cse70 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse64 (select .cse68 .cse26))) (let ((.cse63 (+ .cse64 1)) (.cse65 (select .cse69 .cse56))) (or (< .cse63 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse64) (not (= .cse65 (select (select .cse66 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse67 2)) (= (select .cse68 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse63 4)) (= .cse65 (select .cse69 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse70 0)))))))))) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse78 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse75 (select .cse78 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse75 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse72 (+ (select .cse79 .cse26) 1))) (let ((.cse77 (select (store .cse78 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (mod .cse72 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse74 (select .cse75 .cse26))) (let ((.cse73 (+ .cse74 1)) (.cse76 (select .cse77 .cse56))) (or (< .cse72 0) (< .cse73 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse74) (= (select .cse75 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse73 4)) (= .cse76 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse76 (select (select .cse78 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse86 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse87 (select .cse86 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse88 (store .cse87 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse80 (+ (select .cse88 .cse26) 1))) (let ((.cse85 (select (store .cse86 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse88 .cse26 (mod .cse80 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse81 (select .cse87 .cse26))) (let ((.cse83 (mod (+ .cse81 1) 4)) (.cse82 (select .cse87 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse84 (select .cse85 .cse56))) (or (< .cse80 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (= .cse82 .cse83) (= .cse83 (+ .cse82 4)) (= .cse84 (select .cse85 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse84 (select (select .cse86 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse92 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse94 (select .cse92 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse93 (store .cse94 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse90 (select (store .cse92 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse93 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse89 (select .cse90 .cse95)) (.cse91 (select .cse94 .cse26))) (or (= .cse89 (select .cse90 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse91) (not (= (select (select .cse92 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse89)) (not (= (mod (+ (select .cse93 .cse26) 1) 4) 0)) (not (= (mod (+ .cse91 1) 4) 0)) (= (select .cse94 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse97 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse102 (select .cse97 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse103 (store .cse102 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse99 (select .cse103 .cse26))) (let ((.cse101 (mod (+ .cse99 1) 4))) (let ((.cse100 (select (store .cse97 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse103 .cse26 (+ .cse101 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse96 (select .cse100 .cse95)) (.cse98 (select .cse102 .cse26))) (or (not (= .cse96 (select (select .cse97 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse98) (< 0 (+ .cse99 2)) (= (select .cse100 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse96) (not (= (mod (+ .cse98 1) 4) 0)) (= .cse101 0) (= (select .cse102 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse110 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse111 (store .cse110 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse107 (select .cse111 .cse26))) (let ((.cse109 (mod (+ .cse107 1) 4))) (let ((.cse108 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse111 .cse26 (+ .cse109 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse105 (select .cse108 .cse56)) (.cse104 (select .cse110 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse104) (not (= .cse105 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse107 2)) (= .cse105 (select .cse108 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse104 1) 4) 0)) (= .cse109 0) (= (select .cse110 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse117 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse118 (store .cse117 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse112 (+ (select .cse118 .cse26) 1))) (let ((.cse116 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse118 .cse26 (mod .cse112 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse115 (select .cse116 .cse6)) (.cse113 (select .cse117 .cse26))) (or (< .cse112 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse113) (not (= (select (select .cse114 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115)) (= (select .cse116 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse115) (not (= (mod (+ .cse113 1) 4) 0)) (= (select .cse117 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse121 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse127 (select .cse121 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse128 (store .cse127 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse122 (select .cse128 .cse26))) (let ((.cse126 (mod (+ .cse122 1) 4))) (let ((.cse119 (select .cse127 .cse26)) (.cse125 (select (store .cse121 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse128 .cse26 (+ .cse126 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse120 (select .cse125 .cse56)) (.cse124 (mod (+ .cse119 1) 4)) (.cse123 (select .cse127 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= .cse120 (select (select .cse121 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse122 2)) (= .cse123 .cse124) (= .cse120 (select .cse125 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse124 (+ .cse123 4)) (= .cse126 0)))))))))) (let ((.cse129 (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (or (and .cse129 (<= 0 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3)) (<= (+ |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 1) 0)) (and .cse129 (<= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 3) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 1)) (<= 1 |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1|)) (and (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| 0) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem12#1| 0)))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse133 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse135 (select .cse133 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse136 (store .cse135 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse134 (select .cse135 .cse26)) (.cse130 (select (store .cse133 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse136 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse131 (select .cse130 .cse56)) (.cse132 (+ .cse134 1))) (or (= (select .cse130 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse131) (< .cse132 0) (not (= .cse131 (select (select .cse133 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse134) (= (select .cse135 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse132 4)) (not (= (mod (+ (select .cse136 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse141 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse139 (select .cse141 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse137 (select .cse139 .cse26))) (let ((.cse138 (mod (+ .cse137 1) 4))) (or (< 0 (+ 2 .cse137)) (= .cse138 0) (= .cse138 (+ (select .cse139 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse144 (store .cse139 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse144 .cse26) 1))) (let ((.cse143 (select (store .cse141 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse144 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse142 (select .cse143 .cse6))) (or (< .cse140 0) (not (= (select (select .cse141 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142)) (= (select .cse143 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse142))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse147 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse145 (select .cse147 .cse26))) (let ((.cse146 (mod (+ .cse145 1) 4))) (or (< 0 (+ 2 .cse145)) (= .cse146 0) (= .cse146 (+ (select .cse147 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse145) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse153 (store .cse147 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse153 .cse26))) (let ((.cse152 (mod (+ .cse150 1) 4))) (let ((.cse151 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse153 .cse26 (+ .cse152 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse151 .cse56))) (or (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse148 (select .cse151 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 0)))))))))))))))) (or .cse154 .cse155 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse159 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse158 (+ (select .cse159 .cse160) 1))) (let ((.cse156 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse159 .cse160 (mod .cse158 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse157 (select .cse156 .cse6))) (or (= (select .cse156 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse157) (< .cse158 0) (not (= .cse1 .cse157)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse163 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse165 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse163 .cse160 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse164 (select .cse165 .cse6))) (or (not (= (mod (+ (select .cse163 .cse160) 1) 4) 0)) (not (= .cse164 .cse1)) (= .cse164 (select .cse165 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse170 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse168 (select .cse170 .cse160))) (let ((.cse169 (mod (+ .cse168 1) 4))) (let ((.cse167 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse170 .cse160 (+ .cse169 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse166 (select .cse167 .cse6))) (or (= .cse166 (select .cse167 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse166)) (< 0 (+ 2 .cse168)) (= .cse169 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse177 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse178 (select .cse177 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse179 (store .cse178 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse171 (+ (select .cse179 .cse26) 1))) (let ((.cse172 (select .cse178 .cse26)) (.cse176 (select (store .cse177 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse179 .cse26 (mod .cse171 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse175 (select .cse176 .cse95)) (.cse174 (mod (+ .cse172 1) 4)) (.cse173 (select .cse178 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse171 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse172) (= .cse173 .cse174) (= .cse175 (select .cse176 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse175 (select (select .cse177 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse174 (+ .cse173 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse185 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse183 (select .cse185 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse188 (store .cse183 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse182 (select .cse188 .cse26))) (let ((.cse184 (mod (+ .cse182 1) 4))) (let ((.cse187 (select (store .cse185 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse188 .cse26 (+ .cse184 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse181 (select .cse183 .cse26))) (let ((.cse180 (+ .cse181 1)) (.cse186 (select .cse187 .cse6))) (or (< .cse180 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse181) (< 0 (+ .cse182 2)) (= (select .cse183 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse180 4)) (= .cse184 0) (not (= (select (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)) (= (select .cse187 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse186)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse190 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse194 (select .cse190 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse189 (select .cse194 .cse26))) (let ((.cse195 (mod (+ .cse189 1) 4))) (or (< 0 (+ 2 .cse189)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse192 (store .cse194 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse193 (select (store .cse190 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse192 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse193 .cse6))) (or (not (= (select (select .cse190 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)) (not (= (mod (+ (select .cse192 .cse26) 1) 4) 0)) (= (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse191)))))) (= .cse195 0) (= .cse195 (+ (select .cse194 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse201 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse198 (select .cse201 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse196 (select .cse198 .cse26))) (let ((.cse197 (mod (+ .cse196 1) 4))) (or (< 0 (+ 2 .cse196)) (= .cse197 0) (= .cse197 (+ (select .cse198 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse202 (store .cse198 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse200 (select (store .cse201 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse202 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse199 (select .cse200 .cse95))) (or (= .cse199 (select .cse200 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse201 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse199)) (not (= (mod (+ (select .cse202 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse204 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse208 (select .cse204 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse211 (store .cse208 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse207 (select .cse211 .cse26))) (let ((.cse210 (mod (+ .cse207 1) 4))) (let ((.cse209 (select (store .cse204 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse211 .cse26 (+ .cse210 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse206 (select .cse208 .cse26))) (let ((.cse205 (+ .cse206 1)) (.cse203 (select .cse209 .cse95))) (or (not (= .cse203 (select (select .cse204 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse205 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse206) (< 0 (+ .cse207 2)) (= (select .cse208 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse205 4)) (= (select .cse209 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse203) (= .cse210 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse212 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse219 (select .cse212 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse217 (store .cse219 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse218 (select (store .cse212 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse217 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse214 (select .cse219 .cse26))) (let ((.cse216 (mod (+ .cse214 1) 4)) (.cse215 (select .cse219 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse213 (select .cse218 .cse6))) (or (not (= (select (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse214) (= .cse215 .cse216) (not (= (mod (+ (select .cse217 .cse26) 1) 4) 0)) (= .cse216 (+ .cse215 4)) (= (select .cse218 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse213)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse226 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse222 (select .cse226 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse220 (select .cse222 .cse26))) (let ((.cse221 (mod (+ .cse220 1) 4))) (or (< 0 (+ 2 .cse220)) (= .cse221 0) (= .cse221 (+ (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse227 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse223 (+ (select .cse227 .cse26) 1))) (let ((.cse225 (select (store .cse226 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse227 .cse26 (mod .cse223 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse224 (select .cse225 .cse56))) (or (< .cse223 0) (= .cse224 (select .cse225 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse224 (select (select .cse226 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse231 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse232 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse233 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse230 (+ (select .cse233 .cse160) 1))) (let ((.cse229 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse233 .cse160 (mod .cse230 4))))) (or (let ((.cse228 (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse228 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse228 .cse6))) (< .cse230 0) (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse235 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse234 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse235 .cse160 0)))) (or (not (= .cse232 (select (select .cse234 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231))) (not (= (mod (+ (select .cse235 .cse160) 1) 4) 0)) (let ((.cse236 (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse236 .cse6) (select .cse236 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse241 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse239 (select .cse241 .cse160))) (let ((.cse240 (mod (+ .cse239 1) 4))) (let ((.cse238 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse241 .cse160 (+ .cse240 (- 4)))))) (or (let ((.cse237 (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse237 .cse6) (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse238 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse231) .cse232)) (< 0 (+ 2 .cse239)) (= .cse240 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse243 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse250 (select .cse243 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse251 (store .cse250 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse245 (select .cse251 .cse26))) (let ((.cse249 (mod (+ .cse245 1) 4))) (let ((.cse244 (select .cse250 .cse26)) (.cse248 (select (store .cse243 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse251 .cse26 (+ .cse249 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse242 (select .cse248 .cse95)) (.cse247 (mod (+ .cse244 1) 4)) (.cse246 (select .cse250 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse242 (select (select .cse243 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse244) (< 0 (+ .cse245 2)) (= .cse246 .cse247) (= (select .cse248 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse242) (= .cse247 (+ .cse246 4)) (= .cse249 0)))))))))) (or (let ((.cse255 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse256 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse257 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse254 (+ (select .cse257 .cse160) 1))) (let ((.cse253 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse257 .cse160 (mod .cse254 4))))) (or (let ((.cse252 (select .cse253 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse252 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse252 .cse6))) (< .cse254 0) (not (= (select (select .cse253 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse262 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse260 (select .cse262 .cse160))) (let ((.cse261 (mod (+ .cse260 1) 4))) (let ((.cse259 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse262 .cse160 (+ .cse261 (- 4)))))) (or (let ((.cse258 (select .cse259 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse258 .cse6) (select .cse258 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse260)) (= .cse261 0) (not (= .cse256 (select (select .cse259 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse263 (store .cse161 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse264 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse263 .cse160 0)))) (or (not (= (mod (+ (select .cse263 .cse160) 1) 4) 0)) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse255) .cse256)) (let ((.cse265 (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse265 .cse6) (select .cse265 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse162))))) .cse154 .cse155) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse268 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse273 (select .cse268 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse272 (store .cse273 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse269 (select .cse273 .cse26)) (.cse266 (select (store .cse268 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse267 (select .cse266 .cse56)) (.cse271 (mod (+ .cse269 1) 4)) (.cse270 (select .cse273 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse266 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse267) (not (= .cse267 (select (select .cse268 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse269) (= .cse270 .cse271) (not (= (mod (+ (select .cse272 .cse26) 1) 4) 0)) (= .cse271 (+ .cse270 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse278 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse279 (select .cse278 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse280 (store .cse279 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse274 (+ (select .cse280 .cse26) 1))) (let ((.cse277 (select (store .cse278 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse280 .cse26 (mod .cse274 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse276 (select .cse277 .cse95)) (.cse275 (select .cse279 .cse26))) (or (< .cse274 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse275) (= .cse276 (select .cse277 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse276 (select (select .cse278 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse275 1) 4) 0)) (= (select .cse279 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse285 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse286 (select .cse285 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse287 (store .cse286 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse281 (+ (select .cse287 .cse26) 1))) (let ((.cse284 (select (store .cse285 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse287 .cse26 (mod .cse281 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse282 (select .cse286 .cse26)) (.cse283 (select .cse284 .cse56))) (or (< .cse281 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse282) (not (= (mod (+ .cse282 1) 4) 0)) (= .cse283 (select .cse284 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse283 (select (select .cse285 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse286 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse290 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse293 (select .cse290 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse292 (store .cse293 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse288 (select (store .cse290 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse292 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse289 (select .cse288 .cse56)) (.cse291 (select .cse293 .cse26))) (or (= (select .cse288 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse289) (not (= .cse289 (select (select .cse290 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse291) (not (= (mod (+ (select .cse292 .cse26) 1) 4) 0)) (not (= (mod (+ .cse291 1) 4) 0)) (= (select .cse293 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse296 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse301 (select .cse296 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse294 (select .cse301 .cse26))) (let ((.cse302 (mod (+ .cse294 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse294) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse300 (store .cse301 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse297 (select .cse300 .cse26))) (let ((.cse299 (mod (+ .cse297 1) 4))) (let ((.cse298 (select (store .cse296 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse300 .cse26 (+ .cse299 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse295 (select .cse298 .cse95))) (or (not (= .cse295 (select (select .cse296 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse297 2)) (= (select .cse298 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse295) (= .cse299 0)))))))))) (< 0 (+ 2 .cse294)) (= .cse302 0) (= .cse302 (+ (select .cse301 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse308 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse305 (select .cse308 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse303 (select .cse305 .cse26))) (let ((.cse304 (mod (+ .cse303 1) 4))) (or (< 0 (+ 2 .cse303)) (= .cse304 0) (= .cse304 (+ (select .cse305 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse303) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse311 (store .cse305 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse306 (select .cse311 .cse26))) (let ((.cse307 (mod (+ .cse306 1) 4))) (let ((.cse310 (select (store .cse308 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse311 .cse26 (+ .cse307 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse309 (select .cse310 .cse6))) (or (< 0 (+ .cse306 2)) (= .cse307 0) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)) (= (select .cse310 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse309)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse318 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse314 (select .cse318 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse312 (select .cse314 .cse26))) (let ((.cse313 (mod (+ .cse312 1) 4))) (or (< 0 (+ 2 .cse312)) (= .cse313 0) (= .cse313 (+ (select .cse314 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse319 (store .cse314 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse315 (+ (select .cse319 .cse26) 1))) (let ((.cse317 (select (store .cse318 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse319 .cse26 (mod .cse315 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse316 (select .cse317 .cse95))) (or (< .cse315 0) (= .cse316 (select .cse317 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse316 (select (select .cse318 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse323 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse326 (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse327 (store .cse326 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse321 (select .cse327 .cse26))) (let ((.cse322 (mod (+ .cse321 1) 4))) (let ((.cse325 (select (store .cse323 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse327 .cse26 (+ .cse322 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse320 (select .cse326 .cse26)) (.cse324 (select .cse325 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse320) (< 0 (+ .cse321 2)) (not (= (mod (+ .cse320 1) 4) 0)) (= .cse322 0) (not (= (select (select .cse323 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324)) (= (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse324) (= (select .cse326 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse338 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse337 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse339 (select .cse338 .cse337))) (let ((.cse331 (mod (+ .cse339 1) 4))) (let ((.cse328 (+ 2 .cse339)) (.cse329 (= .cse331 0)) (.cse330 (select .cse338 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse328 0) (not .cse329) (= (+ .cse330 4) .cse331)) (and (or (< 0 .cse328) .cse329) (= .cse330 .cse331)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse336 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select .cse336 .cse337))) (let ((.cse332 (mod (+ .cse335 1) 4))) (let ((.cse334 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse336 .cse337 (+ (- 4) .cse332))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse333 (select .cse334 .cse6))) (or (= .cse332 0) (not (= .cse1 .cse333)) (= .cse333 (select .cse334 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse335))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse343 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse342 (+ (select .cse343 .cse337) 1))) (let ((.cse341 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse343 .cse337 (mod .cse342 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse340 (select .cse341 .cse6))) (or (not (= .cse1 .cse340)) (= .cse340 (select .cse341 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse342 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse339) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse346 (store .cse338 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse345 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse346 .cse337 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse344 (select .cse345 .cse6))) (or (= .cse344 (select .cse345 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse344 .cse1)) (not (= (mod (+ (select .cse346 .cse337) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse351 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse352 (select .cse351 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse353 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse350 (select .cse352 .cse26)) (.cse348 (select (store .cse351 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse353 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse347 (select .cse348 .cse95)) (.cse349 (+ .cse350 1))) (or (= .cse347 (select .cse348 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse349 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse350) (not (= (select (select .cse351 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse347)) (= (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse349 4)) (not (= (mod (+ (select .cse353 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse354 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse358 (select .cse354 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (store .cse358 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse360 (select (store .cse354 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse359 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse357 (select .cse358 .cse26))) (let ((.cse356 (+ .cse357 1)) (.cse355 (select .cse360 .cse6))) (or (not (= (select (select .cse354 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)) (< .cse356 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse357) (= (select .cse358 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse356 4)) (not (= (mod (+ (select .cse359 .cse26) 1) 4) 0)) (= (select .cse360 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse355)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse364 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse368 (select .cse364 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse367 (store .cse368 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse363 (select .cse368 .cse26)) (.cse362 (select (store .cse364 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse367 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse361 (select .cse362 .cse95)) (.cse366 (mod (+ .cse363 1) 4)) (.cse365 (select .cse368 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse361 (select .cse362 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse363) (not (= (select (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse361)) (= .cse365 .cse366) (not (= (mod (+ (select .cse367 .cse26) 1) 4) 0)) (= .cse366 (+ .cse365 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse374 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse377 (select .cse374 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse378 (store .cse377 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse370 (select .cse378 .cse26))) (let ((.cse373 (mod (+ .cse370 1) 4))) (let ((.cse376 (select (store .cse374 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse378 .cse26 (+ .cse373 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse369 (select .cse377 .cse26))) (let ((.cse372 (mod (+ .cse369 1) 4)) (.cse371 (select .cse377 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse375 (select .cse376 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse369) (< 0 (+ .cse370 2)) (= .cse371 .cse372) (= .cse372 (+ .cse371 4)) (= .cse373 0) (not (= (select (select .cse374 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)) (= (select .cse376 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse375)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse385 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse382 (select .cse385 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse386 (store .cse382 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse379 (+ (select .cse386 .cse26) 1))) (let ((.cse384 (select (store .cse385 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse386 .cse26 (mod .cse379 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse381 (select .cse382 .cse26))) (let ((.cse380 (+ .cse381 1)) (.cse383 (select .cse384 .cse95))) (or (< .cse379 0) (< .cse380 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse381) (= (select .cse382 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse380 4)) (= .cse383 (select .cse384 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse383 (select (select .cse385 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse390 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse392 (select .cse390 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse394 (store .cse392 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse387 (+ (select .cse394 .cse26) 1))) (let ((.cse393 (select (store .cse390 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse394 .cse26 (mod .cse387 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse389 (select .cse392 .cse26))) (let ((.cse388 (+ .cse389 1)) (.cse391 (select .cse393 .cse6))) (or (< .cse387 0) (< .cse388 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse389) (not (= (select (select .cse390 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391)) (= (select .cse392 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse388 4)) (= (select .cse393 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse391))))))))))))))) is different from true [2024-04-04 22:11:48,215 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse188 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base|)) (.cse187 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20))) (let ((.cse189 (select .cse188 .cse187))) (let ((.cse444 (mod (+ .cse189 1) 4))) (let ((.cse46 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse80 (* |c_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1| 4)) (.cse442 (+ .cse189 2)) (.cse443 (= .cse444 0)) (.cse445 (select .cse188 |c_writer_fnThread1of1ForFork1_~r~1#1.offset|))) (let ((.cse181 (and (<= .cse442 0) (not .cse443) (= .cse444 (+ 4 .cse445)))) (.cse182 (and (or (< 0 .cse442) .cse443) (= .cse444 .cse445))) (.cse42 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse45 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20)) (.cse47 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| .cse80 4)) (.cse256 (select .cse46 0)) (.cse64 (+ 20 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (.cse1 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse123 (+ |c_reader_twoThread1of1ForFork0_#in~arg#1.offset| 20)) (.cse6 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse26 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| 20))) (and (let ((.cse7 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base|)) (.cse5 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| 20))) (let ((.cse0 (select .cse7 .cse5))) (let ((.cse20 (mod (+ .cse0 1) 4))) (let ((.cse17 (+ 2 .cse0)) (.cse19 (select .cse7 |c_writer_fnThread1of1ForFork1_~arg#1.offset|)) (.cse18 (= .cse20 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse4 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse3 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse4 .cse5 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse2 (select .cse3 .cse6))) (or (not (= .cse1 .cse2)) (= .cse2 (select .cse3 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse4 .cse5) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse11 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse8 (+ (select .cse11 .cse5) 1))) (let ((.cse10 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse11 .cse5 (mod .cse8 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse9 (select .cse10 .cse6))) (or (< .cse8 0) (not (= .cse9 .cse1)) (= .cse9 (select .cse10 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse0) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse16 (store .cse7 (+ |c_writer_fnThread1of1ForFork1_~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse14 (select .cse16 .cse5))) (let ((.cse12 (mod (+ .cse14 1) 4))) (let ((.cse15 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~arg#1.base| (store .cse16 .cse5 (+ .cse12 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse13 (select .cse15 .cse6))) (or (= .cse12 0) (not (= .cse1 .cse13)) (< 0 (+ 2 .cse14)) (= (select .cse15 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse13))))))))))) (and (or (< 0 .cse17) .cse18) (= .cse19 .cse20)) (and (<= .cse17 0) (= (+ .cse19 4) .cse20) (not .cse18))))))) (= |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 0) (let ((.cse27 (select |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse28 (select .cse27 .cse26))) (let ((.cse38 (mod (+ .cse28 1) 4))) (let ((.cse36 (+ .cse28 2)) (.cse39 (= .cse38 0)) (.cse37 (select .cse27 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse25 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse24 (select .cse25 .cse26))) (let ((.cse22 (mod (+ .cse24 1) 4))) (let ((.cse23 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse25 .cse26 (+ .cse22 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse21 (select .cse23 .cse6))) (or (not (= .cse1 .cse21)) (= .cse22 0) (= (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse21) (< 0 (+ 2 .cse24))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse31 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse30 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse31 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse29 (select .cse30 .cse6))) (or (not (= .cse29 .cse1)) (= .cse29 (select .cse30 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= (mod (+ (select .cse31 .cse26) 1) 4) 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse35 (store .cse27 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse34 (+ (select .cse35 .cse26) 1))) (let ((.cse32 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse35 .cse26 (mod .cse34 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse33 (select .cse32 .cse6))) (or (= (select .cse32 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse33) (< .cse34 0) (not (= .cse1 .cse33)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse28)))) (and (<= .cse36 0) (= (+ .cse37 4) .cse38) (not .cse39)) (and (or (< 0 .cse36) .cse39) (= .cse37 .cse38))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse44 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse40 (+ (select .cse44 .cse45) 1))) (let ((.cse41 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse44 .cse45 (mod .cse40 4))))) (or (< .cse40 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse41 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse43 (select .cse41 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse43 .cse6)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse50 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse55 (select .cse50 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse56 (store .cse55 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse48 (+ (select .cse56 .cse26) 1))) (let ((.cse54 (select (store .cse50 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse56 .cse26 (mod .cse48 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse49 (select .cse55 .cse26))) (let ((.cse53 (mod (+ .cse49 1) 4)) (.cse52 (select .cse55 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse51 (select .cse54 .cse6))) (or (< .cse48 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse49) (not (= (select (select .cse50 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51)) (= .cse52 .cse53) (= .cse53 (+ .cse52 4)) (= (select .cse54 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse51))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse62 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse59 (select .cse62 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse57 (select .cse59 .cse26))) (let ((.cse58 (mod (+ .cse57 1) 4))) (or (< 0 (+ 2 .cse57)) (= .cse58 0) (= .cse58 (+ (select .cse59 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse63 (store .cse59 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse60 (select (store .cse62 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse63 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse61 (select .cse60 .cse64))) (or (= (select .cse60 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse61) (not (= .cse61 (select (select .cse62 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (not (= (mod (+ (select .cse63 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse65 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse70 (select .cse65 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse68 (store .cse70 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse69 (select (store .cse65 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse68 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse70 .cse26)) (.cse66 (select .cse69 .cse6))) (or (not (= (select (select .cse65 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse67) (not (= (mod (+ (select .cse68 .cse26) 1) 4) 0)) (not (= (mod (+ .cse67 1) 4) 0)) (= (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse66) (= (select .cse70 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse74 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse76 (select .cse74 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse79 (store .cse76 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse75 (select .cse79 .cse26))) (let ((.cse78 (mod (+ .cse75 1) 4))) (let ((.cse77 (select (store .cse74 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse79 .cse26 (+ .cse78 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse72 (select .cse76 .cse26))) (let ((.cse71 (+ .cse72 1)) (.cse73 (select .cse77 .cse64))) (or (< .cse71 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse72) (not (= .cse73 (select (select .cse74 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse75 2)) (= (select .cse76 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse71 4)) (= .cse73 (select .cse77 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse78 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (store .cse46 (+ .cse80 4) |c_writer_fnThread1of1ForFork1_ring_enqueue_~x#1|) 0)) (= (select |c_#valid| |c_ULTIMATE.start_main_~#writer~0#1.base|) 1) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset| 0) (let ((.cse88 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base|)) (.cse87 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 20))) (let ((.cse81 (select .cse88 .cse87))) (let ((.cse96 (mod (+ .cse81 1) 4))) (let ((.cse97 (select .cse88 |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset|)) (.cse98 (+ .cse81 2)) (.cse99 (= .cse96 0))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse86 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse85 (select .cse86 .cse87))) (let ((.cse82 (mod (+ .cse85 1) 4))) (let ((.cse84 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse86 .cse87 (+ (- 4) .cse82))))) (or (= .cse82 0) (let ((.cse83 (select .cse84 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse83 .cse6) (select .cse83 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse85 2)) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse84 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse90 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse89 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse90 .cse87 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse89 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (not (= (mod (+ (select .cse90 .cse87) 1) 4) 0)) (let ((.cse91 (select .cse89 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse91 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse91 .cse6))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse81) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse95 (store .cse88 (+ (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.offset| 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse94 (+ (select .cse95 .cse87) 1))) (let ((.cse92 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_#in~r#1.base| (store .cse95 .cse87 (mod .cse94 4))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse92 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse93 (select .cse92 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse93 .cse6))) (< .cse94 0))))))))) (and (= .cse96 .cse97) (or (< 0 .cse98) .cse99)) (and (= .cse96 (+ .cse97 4)) (<= .cse98 0) (not .cse99))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse106 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse103 (select .cse106 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse107 (store .cse103 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse100 (+ (select .cse107 .cse26) 1))) (let ((.cse105 (select (store .cse106 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse107 .cse26 (mod .cse100 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse102 (select .cse103 .cse26))) (let ((.cse101 (+ .cse102 1)) (.cse104 (select .cse105 .cse64))) (or (< .cse100 0) (< .cse101 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse102) (= (select .cse103 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse101 4)) (= .cse104 (select .cse105 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse104 (select (select .cse106 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse114 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse115 (select .cse114 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse116 (store .cse115 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse108 (+ (select .cse116 .cse26) 1))) (let ((.cse113 (select (store .cse114 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse116 .cse26 (mod .cse108 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|)) (.cse109 (select .cse115 .cse26))) (let ((.cse111 (mod (+ .cse109 1) 4)) (.cse110 (select .cse115 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse112 (select .cse113 .cse64))) (or (< .cse108 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse109) (= .cse110 .cse111) (= .cse111 (+ .cse110 4)) (= .cse112 (select .cse113 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse112 (select (select .cse114 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse120 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse122 (select .cse120 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse121 (store .cse122 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse118 (select (store .cse120 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse121 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse117 (select .cse118 .cse123)) (.cse119 (select .cse122 .cse26))) (or (= .cse117 (select .cse118 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse119) (not (= (select (select .cse120 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse117)) (not (= (mod (+ (select .cse121 .cse26) 1) 4) 0)) (not (= (mod (+ .cse119 1) 4) 0)) (= (select .cse122 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse125 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse130 (select .cse125 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse131 (store .cse130 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse127 (select .cse131 .cse26))) (let ((.cse129 (mod (+ .cse127 1) 4))) (let ((.cse128 (select (store .cse125 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse131 .cse26 (+ .cse129 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse124 (select .cse128 .cse123)) (.cse126 (select .cse130 .cse26))) (or (not (= .cse124 (select (select .cse125 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse126) (< 0 (+ .cse127 2)) (= (select .cse128 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse124) (not (= (mod (+ .cse126 1) 4) 0)) (= .cse129 0) (= (select .cse130 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse134 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse138 (select .cse134 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse139 (store .cse138 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse135 (select .cse139 .cse26))) (let ((.cse137 (mod (+ .cse135 1) 4))) (let ((.cse136 (select (store .cse134 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse139 .cse26 (+ .cse137 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse133 (select .cse136 .cse64)) (.cse132 (select .cse138 .cse26))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse132) (not (= .cse133 (select (select .cse134 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse135 2)) (= .cse133 (select .cse136 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= (mod (+ .cse132 1) 4) 0)) (= .cse137 0) (= (select .cse138 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse142 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse145 (select .cse142 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse146 (store .cse145 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse140 (+ (select .cse146 .cse26) 1))) (let ((.cse144 (select (store .cse142 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse146 .cse26 (mod .cse140 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse143 (select .cse144 .cse6)) (.cse141 (select .cse145 .cse26))) (or (< .cse140 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse141) (not (= (select (select .cse142 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143)) (= (select .cse144 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse143) (not (= (mod (+ .cse141 1) 4) 0)) (= (select .cse145 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse149 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse155 (select .cse149 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse156 (store .cse155 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse150 (select .cse156 .cse26))) (let ((.cse154 (mod (+ .cse150 1) 4))) (let ((.cse147 (select .cse155 .cse26)) (.cse153 (select (store .cse149 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse156 .cse26 (+ .cse154 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse148 (select .cse153 .cse64)) (.cse152 (mod (+ .cse147 1) 4)) (.cse151 (select .cse155 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse147) (not (= .cse148 (select (select .cse149 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse150 2)) (= .cse151 .cse152) (= .cse148 (select .cse153 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse152 (+ .cse151 4)) (= .cse154 0)))))))))) (= |c_reader_twoThread1of1ForFork0_~r~2#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse160 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse162 (select .cse160 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse163 (store .cse162 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse161 (select .cse162 .cse26)) (.cse157 (select (store .cse160 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse163 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse158 (select .cse157 .cse64)) (.cse159 (+ .cse161 1))) (or (= (select .cse157 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse158) (< .cse159 0) (not (= .cse158 (select (select .cse160 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse161) (= (select .cse162 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse159 4)) (not (= (mod (+ (select .cse163 .cse26) 1) 4) 0))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse168 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse166 (select .cse168 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse164 (select .cse166 .cse26))) (let ((.cse165 (mod (+ .cse164 1) 4))) (or (< 0 (+ 2 .cse164)) (= .cse165 0) (= .cse165 (+ (select .cse166 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse171 (store .cse166 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse167 (+ (select .cse171 .cse26) 1))) (let ((.cse170 (select (store .cse168 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse171 .cse26 (mod .cse167 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse169 (select .cse170 .cse6))) (or (< .cse167 0) (not (= (select (select .cse168 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse169)) (= (select .cse170 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse169))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse176 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse174 (select .cse176 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse172 (select .cse174 .cse26))) (let ((.cse173 (mod (+ .cse172 1) 4))) (or (< 0 (+ 2 .cse172)) (= .cse173 0) (= .cse173 (+ (select .cse174 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse172) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse180 (store .cse174 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse177 (select .cse180 .cse26))) (let ((.cse179 (mod (+ .cse177 1) 4))) (let ((.cse178 (select (store .cse176 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse180 .cse26 (+ .cse179 (- 4)))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse175 (select .cse178 .cse64))) (or (not (= .cse175 (select (select .cse176 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< 0 (+ .cse177 2)) (= .cse175 (select .cse178 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (= .cse179 0)))))))))))))))) (or .cse181 .cse182 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse186 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse185 (+ (select .cse186 .cse187) 1))) (let ((.cse183 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse186 .cse187 (mod .cse185 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse184 (select .cse183 .cse6))) (or (= (select .cse183 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse184) (< .cse185 0) (not (= .cse1 .cse184)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse190 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse192 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse190 .cse187 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse191 (select .cse192 .cse6))) (or (not (= (mod (+ (select .cse190 .cse187) 1) 4) 0)) (not (= .cse191 .cse1)) (= .cse191 (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse197 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse195 (select .cse197 .cse187))) (let ((.cse196 (mod (+ .cse195 1) 4))) (let ((.cse194 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse197 .cse187 (+ .cse196 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse193 (select .cse194 .cse6))) (or (= .cse193 (select .cse194 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse1 .cse193)) (< 0 (+ 2 .cse195)) (= .cse196 0)))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))))) (or (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse198 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse199 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse198 .cse187 0)))) (or (not (= (mod (+ (select .cse198 .cse187) 1) 4) 0)) (not (= (select (select .cse199 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (let ((.cse200 (select .cse199 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse200 .cse6) (select .cse200 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse205 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse203 (select .cse205 .cse187))) (let ((.cse204 (mod (+ .cse203 1) 4))) (let ((.cse201 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse205 .cse187 (+ .cse204 (- 4)))))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse201 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse202 (select .cse201 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse202 .cse6) (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse203)) (= .cse204 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse209 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse208 (+ (select .cse209 .cse187) 1))) (let ((.cse207 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse209 .cse187 (mod .cse208 4))))) (or (let ((.cse206 (select .cse207 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse206 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse206 .cse6))) (< .cse208 0) (not (= (select (select .cse207 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189)))) .cse181 .cse182) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse214 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse213 (select .cse214 .cse45))) (let ((.cse211 (mod (+ .cse213 1) 4))) (let ((.cse210 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse214 .cse45 (+ .cse211 (- 4)))))) (or (not (= (select (select .cse210 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|)) (= .cse211 0) (let ((.cse212 (select .cse210 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse212 .cse6) (select .cse212 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse213)))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse221 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse222 (select .cse221 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse223 (store .cse222 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse215 (+ (select .cse223 .cse26) 1))) (let ((.cse216 (select .cse222 .cse26)) (.cse220 (select (store .cse221 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse223 .cse26 (mod .cse215 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse219 (select .cse220 .cse123)) (.cse218 (mod (+ .cse216 1) 4)) (.cse217 (select .cse222 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (< .cse215 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse216) (= .cse217 .cse218) (= .cse219 (select .cse220 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse219 (select (select .cse221 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (= .cse218 (+ .cse217 4)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse229 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse227 (select .cse229 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse232 (store .cse227 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse226 (select .cse232 .cse26))) (let ((.cse228 (mod (+ .cse226 1) 4))) (let ((.cse231 (select (store .cse229 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse232 .cse26 (+ .cse228 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse225 (select .cse227 .cse26))) (let ((.cse224 (+ .cse225 1)) (.cse230 (select .cse231 .cse6))) (or (< .cse224 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse225) (< 0 (+ .cse226 2)) (= (select .cse227 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse224 4)) (= .cse228 0) (not (= (select (select .cse229 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse230)) (= (select .cse231 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse230)))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse234 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse238 (select .cse234 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse233 (select .cse238 .cse26))) (let ((.cse239 (mod (+ .cse233 1) 4))) (or (< 0 (+ 2 .cse233)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse236 (store .cse238 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse237 (select (store .cse234 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse236 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse235 (select .cse237 .cse6))) (or (not (= (select (select .cse234 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse235)) (not (= (mod (+ (select .cse236 .cse26) 1) 4) 0)) (= (select .cse237 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse235)))))) (= .cse239 0) (= .cse239 (+ (select .cse238 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse245 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse242 (select .cse245 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse240 (select .cse242 .cse26))) (let ((.cse241 (mod (+ .cse240 1) 4))) (or (< 0 (+ 2 .cse240)) (= .cse241 0) (= .cse241 (+ (select .cse242 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse246 (store .cse242 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse244 (select (store .cse245 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse246 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse243 (select .cse244 .cse123))) (or (= .cse243 (select .cse244 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= (select (select .cse245 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse243)) (not (= (mod (+ (select .cse246 .cse26) 1) 4) 0))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse248 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse252 (select .cse248 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse255 (store .cse252 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse251 (select .cse255 .cse26))) (let ((.cse254 (mod (+ .cse251 1) 4))) (let ((.cse253 (select (store .cse248 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse255 .cse26 (+ .cse254 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse250 (select .cse252 .cse26))) (let ((.cse249 (+ .cse250 1)) (.cse247 (select .cse253 .cse123))) (or (not (= .cse247 (select (select .cse248 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< .cse249 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse250) (< 0 (+ .cse251 2)) (= (select .cse252 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse249 4)) (= (select .cse253 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse247) (= .cse254 0)))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| .cse256) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse257 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse264 (select .cse257 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse262 (store .cse264 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse263 (select (store .cse257 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse262 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse259 (select .cse264 .cse26))) (let ((.cse261 (mod (+ .cse259 1) 4)) (.cse260 (select .cse264 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse258 (select .cse263 .cse6))) (or (not (= (select (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse258)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse259) (= .cse260 .cse261) (not (= (mod (+ (select .cse262 .cse26) 1) 4) 0)) (= .cse261 (+ .cse260 4)) (= (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse258)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse271 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse267 (select .cse271 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse265 (select .cse267 .cse26))) (let ((.cse266 (mod (+ .cse265 1) 4))) (or (< 0 (+ 2 .cse265)) (= .cse266 0) (= .cse266 (+ (select .cse267 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse272 (store .cse267 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse268 (+ (select .cse272 .cse26) 1))) (let ((.cse270 (select (store .cse271 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse272 .cse26 (mod .cse268 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse269 (select .cse270 .cse64))) (or (< .cse268 0) (= .cse269 (select .cse270 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse269 (select (select .cse271 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))))))))))))))) (or (let ((.cse276 (+ |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset| 20)) (.cse277 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse278 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse275 (+ (select .cse278 .cse187) 1))) (let ((.cse274 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse278 .cse187 (mod .cse275 4))))) (or (let ((.cse273 (select .cse274 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse273 .cse6))) (< .cse275 0) (not (= (select (select .cse274 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse276) .cse277))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse280 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse279 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse280 .cse187 0)))) (or (not (= .cse277 (select (select .cse279 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse276))) (not (= (mod (+ (select .cse280 .cse187) 1) 4) 0)) (let ((.cse281 (select .cse279 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse281 .cse6) (select .cse281 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse286 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse284 (select .cse286 .cse187))) (let ((.cse285 (mod (+ .cse284 1) 4))) (let ((.cse283 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse286 .cse187 (+ .cse285 (- 4)))))) (or (let ((.cse282 (select .cse283 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse282 .cse6) (select .cse282 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (not (= (select (select .cse283 |c_reader_twoThread1of1ForFork0_ring_empty_#in~r#1.base|) .cse276) .cse277)) (< 0 (+ 2 .cse284)) (= .cse285 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))))) .cse181 .cse182) (= |c_ULTIMATE.start_main_~#r~3#1.offset| 0) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse288 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse295 (select .cse288 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse296 (store .cse295 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse290 (select .cse296 .cse26))) (let ((.cse294 (mod (+ .cse290 1) 4))) (let ((.cse289 (select .cse295 .cse26)) (.cse293 (select (store .cse288 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse296 .cse26 (+ .cse294 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse287 (select .cse293 .cse123)) (.cse292 (mod (+ .cse289 1) 4)) (.cse291 (select .cse295 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (not (= .cse287 (select (select .cse288 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse289) (< 0 (+ .cse290 2)) (= .cse291 .cse292) (= (select .cse293 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse287) (= .cse292 (+ .cse291 4)) (= .cse294 0)))))))))) (or (let ((.cse300 (select (select |c_#memory_int| |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse301 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse299 (+ (select .cse301 .cse187) 1))) (let ((.cse298 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse301 .cse187 (mod .cse299 4))))) (or (let ((.cse297 (select .cse298 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse297 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse297 .cse6))) (< .cse299 0) (not (= (select (select .cse298 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse300))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse306 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse304 (select .cse306 .cse187))) (let ((.cse305 (mod (+ .cse304 1) 4))) (let ((.cse303 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse306 .cse187 (+ .cse305 (- 4)))))) (or (let ((.cse302 (select .cse303 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse302 .cse6) (select .cse302 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ 2 .cse304)) (= .cse305 0) (not (= .cse300 (select (select .cse303 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse307 (store .cse188 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse308 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_~r~1#1.base| (store .cse307 .cse187 0)))) (or (not (= (mod (+ (select .cse307 .cse187) 1) 4) 0)) (not (= (select (select .cse308 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42) .cse300)) (let ((.cse309 (select .cse308 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse309 .cse6) (select .cse309 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse189))))) .cse181 .cse182) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse312 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse317 (select .cse312 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse316 (store .cse317 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse313 (select .cse317 .cse26)) (.cse310 (select (store .cse312 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse316 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse311 (select .cse310 .cse64)) (.cse315 (mod (+ .cse313 1) 4)) (.cse314 (select .cse317 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= (select .cse310 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse311) (not (= .cse311 (select (select .cse312 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse313) (= .cse314 .cse315) (not (= (mod (+ (select .cse316 .cse26) 1) 4) 0)) (= .cse315 (+ .cse314 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse322 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse323 (select .cse322 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse324 (store .cse323 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse318 (+ (select .cse324 .cse26) 1))) (let ((.cse321 (select (store .cse322 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse324 .cse26 (mod .cse318 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse320 (select .cse321 .cse123)) (.cse319 (select .cse323 .cse26))) (or (< .cse318 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse319) (= .cse320 (select .cse321 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse320 (select (select .cse322 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (not (= (mod (+ .cse319 1) 4) 0)) (= (select .cse323 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse327 (store .cse46 .cse47 |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse325 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse327 .cse45 0)))) (or (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse325 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse42))) (let ((.cse326 (select .cse325 |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (= (select .cse326 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) (select .cse326 .cse6))) (not (= (mod (+ (select .cse327 .cse45) 1) 4) 0)))))) (not (= .cse256 1)) (= 1 (select |c_#valid| |c_ULTIMATE.start_main_~#reader~0#1.base|)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse332 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse333 (select .cse332 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse334 (store .cse333 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse328 (+ (select .cse334 .cse26) 1))) (let ((.cse331 (select (store .cse332 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse334 .cse26 (mod .cse328 4))) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse329 (select .cse333 .cse26)) (.cse330 (select .cse331 .cse64))) (or (< .cse328 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse329) (not (= (mod (+ .cse329 1) 4) 0)) (= .cse330 (select .cse331 |c_reader_twoThread1of1ForFork0_~arg#1.offset|)) (not (= .cse330 (select (select .cse332 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (= (select .cse333 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0))))))))) (= |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse337 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse340 (select .cse337 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse339 (store .cse340 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse335 (select (store .cse337 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse339 .cse26 0)) |c_reader_twoThread1of1ForFork0_~arg#1.base|))) (let ((.cse336 (select .cse335 .cse64)) (.cse338 (select .cse340 .cse26))) (or (= (select .cse335 |c_reader_twoThread1of1ForFork0_~arg#1.offset|) .cse336) (not (= .cse336 (select (select .cse337 |c_reader_twoThread1of1ForFork0_~arg#1.base|) |c_reader_twoThread1of1ForFork0_~arg#1.offset|))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse338) (not (= (mod (+ (select .cse339 .cse26) 1) 4) 0)) (not (= (mod (+ .cse338 1) 4) 0)) (= (select .cse340 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse343 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse348 (select .cse343 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse341 (select .cse348 .cse26))) (let ((.cse349 (mod (+ .cse341 1) 4))) (or (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse341) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse347 (store .cse348 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse344 (select .cse347 .cse26))) (let ((.cse346 (mod (+ .cse344 1) 4))) (let ((.cse345 (select (store .cse343 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse347 .cse26 (+ .cse346 (- 4)))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse342 (select .cse345 .cse123))) (or (not (= .cse342 (select (select .cse343 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))) (< 0 (+ .cse344 2)) (= (select .cse345 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse342) (= .cse346 0)))))))))) (< 0 (+ 2 .cse341)) (= .cse349 0) (= .cse349 (+ (select .cse348 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse355 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse352 (select .cse355 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse350 (select .cse352 .cse26))) (let ((.cse351 (mod (+ .cse350 1) 4))) (or (< 0 (+ 2 .cse350)) (= .cse351 0) (= .cse351 (+ (select .cse352 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse350) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse358 (store .cse352 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse353 (select .cse358 .cse26))) (let ((.cse354 (mod (+ .cse353 1) 4))) (let ((.cse357 (select (store .cse355 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse358 .cse26 (+ .cse354 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse356 (select .cse357 .cse6))) (or (< 0 (+ .cse353 2)) (= .cse354 0) (not (= (select (select .cse355 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse356)) (= (select .cse357 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse356)))))))))))))))) (forall ((v_ArrVal_156 (Array Int Int))) (let ((.cse365 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse361 (select .cse365 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse359 (select .cse361 .cse26))) (let ((.cse360 (mod (+ .cse359 1) 4))) (or (< 0 (+ 2 .cse359)) (= .cse360 0) (= .cse360 (+ (select .cse361 |c_ULTIMATE.start_main_~#r~3#1.offset|) 4)) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse366 (store .cse361 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse362 (+ (select .cse366 .cse26) 1))) (let ((.cse364 (select (store .cse365 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse366 .cse26 (mod .cse362 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse363 (select .cse364 .cse123))) (or (< .cse362 0) (= .cse363 (select .cse364 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse363 (select (select .cse365 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse370 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse373 (select .cse370 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse374 (store .cse373 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse368 (select .cse374 .cse26))) (let ((.cse369 (mod (+ .cse368 1) 4))) (let ((.cse372 (select (store .cse370 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse374 .cse26 (+ .cse369 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse367 (select .cse373 .cse26)) (.cse371 (select .cse372 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse367) (< 0 (+ .cse368 2)) (not (= (mod (+ .cse367 1) 4) 0)) (= .cse369 0) (not (= (select (select .cse370 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse371)) (= (select .cse372 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse371) (= (select .cse373 |c_ULTIMATE.start_main_~#r~3#1.offset|) 0)))))))))) (not (= |c_ULTIMATE.start_main_~#r~3#1.base| |c_ULTIMATE.start_main_~#writer~0#1.base|)) (let ((.cse385 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base|)) (.cse384 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| 20))) (let ((.cse386 (select .cse385 .cse384))) (let ((.cse378 (mod (+ .cse386 1) 4))) (let ((.cse375 (+ 2 .cse386)) (.cse376 (= .cse378 0)) (.cse377 (select .cse385 |c_writer_fnThread1of1ForFork1_#in~arg#1.offset|))) (or (and (<= .cse375 0) (not .cse376) (= (+ .cse377 4) .cse378)) (and (or (< 0 .cse375) .cse376) (= .cse377 .cse378)) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse383 (store .cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse382 (select .cse383 .cse384))) (let ((.cse379 (mod (+ .cse382 1) 4))) (let ((.cse381 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse383 .cse384 (+ (- 4) .cse379))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse380 (select .cse381 .cse6))) (or (= .cse379 0) (not (= .cse1 .cse380)) (= .cse380 (select .cse381 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< 0 (+ 2 .cse382))))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse386))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse390 (store .cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse389 (+ (select .cse390 .cse384) 1))) (let ((.cse388 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse390 .cse384 (mod .cse389 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse387 (select .cse388 .cse6))) (or (not (= .cse1 .cse387)) (= .cse387 (select .cse388 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (< .cse389 0))))))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse386))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int)) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse386) (forall ((|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int)) (let ((.cse393 (store .cse385 (+ |c_writer_fnThread1of1ForFork1_#in~arg#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse392 (select (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_#in~arg#1.base| (store .cse393 .cse384 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse391 (select .cse392 .cse6))) (or (= .cse391 (select .cse392 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (not (= .cse391 .cse1)) (not (= (mod (+ (select .cse393 .cse384) 1) 4) 0))))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse398 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse399 (select .cse398 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse400 (store .cse399 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse397 (select .cse399 .cse26)) (.cse395 (select (store .cse398 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse400 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse394 (select .cse395 .cse123)) (.cse396 (+ .cse397 1))) (or (= .cse394 (select .cse395 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< .cse396 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse397) (not (= (select (select .cse398 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse394)) (= (select .cse399 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse396 4)) (not (= (mod (+ (select .cse400 .cse26) 1) 4) 0))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse401 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse405 (select .cse401 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse406 (store .cse405 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse407 (select (store .cse401 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse406 .cse26 0)) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse404 (select .cse405 .cse26))) (let ((.cse403 (+ .cse404 1)) (.cse402 (select .cse407 .cse6))) (or (not (= (select (select .cse401 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse402)) (< .cse403 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse404) (= (select .cse405 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse403 4)) (not (= (mod (+ (select .cse406 .cse26) 1) 4) 0)) (= (select .cse407 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse402)))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse411 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse415 (select .cse411 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse414 (store .cse415 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse410 (select .cse415 .cse26)) (.cse409 (select (store .cse411 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse414 .cse26 0)) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|))) (let ((.cse408 (select .cse409 .cse123)) (.cse413 (mod (+ .cse410 1) 4)) (.cse412 (select .cse415 |c_ULTIMATE.start_main_~#r~3#1.offset|))) (or (= .cse408 (select .cse409 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse410) (not (= (select (select .cse411 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|) .cse408)) (= .cse412 .cse413) (not (= (mod (+ (select .cse414 .cse26) 1) 4) 0)) (= .cse413 (+ .cse412 4))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse421 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse424 (select .cse421 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse425 (store .cse424 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse417 (select .cse425 .cse26))) (let ((.cse420 (mod (+ .cse417 1) 4))) (let ((.cse423 (select (store .cse421 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse425 .cse26 (+ .cse420 (- 4)))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse416 (select .cse424 .cse26))) (let ((.cse419 (mod (+ .cse416 1) 4)) (.cse418 (select .cse424 |c_ULTIMATE.start_main_~#r~3#1.offset|)) (.cse422 (select .cse423 .cse6))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse416) (< 0 (+ .cse417 2)) (= .cse418 .cse419) (= .cse419 (+ .cse418 4)) (= .cse420 0) (not (= (select (select .cse421 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse422)) (= (select .cse423 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse422)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse432 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse429 (select .cse432 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse433 (store .cse429 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse426 (+ (select .cse433 .cse26) 1))) (let ((.cse431 (select (store .cse432 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse433 .cse26 (mod .cse426 4))) |c_reader_twoThread1of1ForFork0_#in~arg#1.base|)) (.cse428 (select .cse429 .cse26))) (let ((.cse427 (+ .cse428 1)) (.cse430 (select .cse431 .cse123))) (or (< .cse426 0) (< .cse427 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse428) (= (select .cse429 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse427 4)) (= .cse430 (select .cse431 |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|)) (not (= .cse430 (select (select .cse432 |c_reader_twoThread1of1ForFork0_#in~arg#1.base|) |c_reader_twoThread1of1ForFork0_#in~arg#1.offset|))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| Int) (|writer_fnThread1of1ForFork1_ring_enqueue_~x#1| Int) (v_ArrVal_156 (Array Int Int))) (let ((.cse437 (store |c_#memory_int| |c_ULTIMATE.start_main_~#writer~0#1.base| v_ArrVal_156))) (let ((.cse439 (select .cse437 |c_ULTIMATE.start_main_~#r~3#1.base|))) (let ((.cse441 (store .cse439 (+ |c_ULTIMATE.start_main_~#r~3#1.offset| (* 4 |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18|) 4) |writer_fnThread1of1ForFork1_ring_enqueue_~x#1|))) (let ((.cse434 (+ (select .cse441 .cse26) 1))) (let ((.cse440 (select (store .cse437 |c_ULTIMATE.start_main_~#r~3#1.base| (store .cse441 .cse26 (mod .cse434 4))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|)) (.cse436 (select .cse439 .cse26))) (let ((.cse435 (+ .cse436 1)) (.cse438 (select .cse440 .cse6))) (or (< .cse434 0) (< .cse435 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_#t~mem6#1_18| .cse436) (not (= (select (select .cse437 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse438)) (= (select .cse439 |c_ULTIMATE.start_main_~#r~3#1.offset|) (mod .cse435 4)) (= (select .cse440 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|) .cse438))))))))))))))) is different from true [2024-04-04 22:12:38,559 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.52s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:12:42,584 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:12:43,799 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.16s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:12:57,475 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:12:59,563 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.19s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:01,266 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.58s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:03,160 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.21s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:05,783 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:06,872 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.03s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:25,890 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.04s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:27,797 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.77s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:29,660 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-04-04 22:13:34,220 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.55s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:39,487 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-04-04 22:13:48,952 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:13:52,410 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.03s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:14:00,438 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:14:06,793 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.56s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:14:25,114 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:14:48,740 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.25s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:14:49,946 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-04-04 22:14:51,286 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-04-04 22:14:59,858 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:15:09,281 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-04-04 22:15:17,095 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:15:31,471 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:15:33,701 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.11s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:15:35,822 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-04-04 22:15:37,428 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.40s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:15:38,732 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.18s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:16:01,381 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.07s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:16:03,396 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-04-04 22:16:17,662 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.65s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:16:19,509 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-04-04 22:16:20,818 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.19s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:16:22,553 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.61s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:16:24,187 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.58s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-04-04 22:16:24,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-04-04 22:16:24,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-04-04 22:16:24,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 84 states. [2024-04-04 22:16:24,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 109 states. [2024-04-04 22:16:24,261 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-04-04 22:16:24,456 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-04 22:16:24,457 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION === [reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION, reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (and 7 more)] === [2024-04-04 22:16:24,457 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-04 22:16:24,457 INFO L85 PathProgramCache]: Analyzing trace with hash 330082998, now seen corresponding path program 1 times [2024-04-04 22:16:24,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-04 22:16:24,458 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946041957] [2024-04-04 22:16:24,458 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:16:24,458 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-04 22:16:24,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:16:28,234 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 75 proven. 12 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2024-04-04 22:16:28,234 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-04 22:16:28,234 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946041957] [2024-04-04 22:16:28,234 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1946041957] provided 0 perfect and 1 imperfect interpolant sequences [2024-04-04 22:16:28,234 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1144965489] [2024-04-04 22:16:28,234 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-04 22:16:28,235 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-04 22:16:28,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-04 22:16:28,236 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-04-04 22:16:28,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-04-04 22:16:28,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-04 22:16:28,404 INFO L262 TraceCheckSpWp]: Trace formula consists of 503 conjuncts, 163 conjunts are in the unsatisfiable core [2024-04-04 22:16:28,411 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-04 22:16:33,248 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-04 22:16:33,331 INFO L349 Elim1Store]: treesize reduction 26, result has 49.0 percent of original size [2024-04-04 22:16:33,331 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 30 treesize of output 42 [2024-04-04 22:16:34,307 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 128 treesize of output 102 [2024-04-04 22:16:34,426 INFO L349 Elim1Store]: treesize reduction 61, result has 26.5 percent of original size [2024-04-04 22:16:34,426 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 4 case distinctions, treesize of input 102 treesize of output 127 [2024-04-04 22:16:34,989 INFO L173 IndexEqualityManager]: detected equality via solver [2024-04-04 22:16:34,994 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 11 [2024-04-04 22:16:35,084 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 23 [2024-04-04 22:16:35,184 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 62 treesize of output 49 [2024-04-04 22:16:47,440 INFO L349 Elim1Store]: treesize reduction 90, result has 29.7 percent of original size [2024-04-04 22:16:47,441 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 6 select indices, 6 select index equivalence classes, 1 disjoint index pairs (out of 15 index pairs), introduced 4 new quantified variables, introduced 11 case distinctions, treesize of input 170 treesize of output 122 [2024-04-04 22:16:48,961 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 220 treesize of output 175 [2024-04-04 22:16:49,060 INFO L349 Elim1Store]: treesize reduction 61, result has 26.5 percent of original size [2024-04-04 22:16:49,060 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 4 case distinctions, treesize of input 168 treesize of output 167 [2024-04-04 22:16:49,402 INFO L349 Elim1Store]: treesize reduction 20, result has 54.5 percent of original size [2024-04-04 22:16:49,403 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 77 treesize of output 80 [2024-04-04 22:16:55,206 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 84 proven. 16 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-04-04 22:16:55,206 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-04 22:19:49,608 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse16 (select |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base|)) (.cse17 (+ |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.offset| 20))) (let ((.cse95 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 0)))) (let ((.cse97 (select .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base|)) (.cse15 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 20))) (let ((.cse99 (select .cse97 .cse15))) (let ((.cse119 (+ .cse99 1)) (.cse5 (+ 2 |c_writer_fnThread1of1ForFork1_~i~1#1|)) (.cse91 (select (select .cse95 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse7 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 20)) (.cse13 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 20)) (.cse98 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse99 4) 4))) (let ((.cse153 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_ArrVal_237 Int)) (let ((.cse275 (store .cse97 .cse98 v_ArrVal_237))) (let ((.cse270 (+ 1 (select .cse275 .cse15)))) (let ((.cse273 (store .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse275 .cse15 (mod .cse270 4))))) (let ((.cse271 (select (store .cse273 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse274 (select .cse273 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse274 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse274 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse272 (select .cse271 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< .cse270 0) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (< 0 (select .cse271 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse272 4) 4))) (not (= .cse91 (select (select .cse273 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (= .cse272 (select .cse271 .cse7)))))))))) (.cse10 (+ 20 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.offset|)) (.cse158 (select .cse97 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse247 (mod .cse119 4))) (let ((.cse64 (= .cse247 0)) (.cse118 (= .cse247 .cse158)) (.cse120 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse263 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse265 (select .cse263 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse266 (select .cse265 .cse15))) (let ((.cse269 (store .cse265 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse266 4)) v_ArrVal_237))) (let ((.cse267 (select .cse269 .cse15))) (let ((.cse262 (mod (+ .cse267 1) 4))) (let ((.cse264 (store .cse263 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse269 .cse15 (+ (- 4) .cse262))))) (let ((.cse260 (select (store .cse264 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse268 (select .cse264 |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_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse261 (select .cse260 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse260 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse261 4) 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse260 .cse7) .cse261) (= v_z_32 3) (= .cse262 0) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse263 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse264 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse263 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse265 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse266 1) 4)) (< 3 v_z_32) (< 0 (+ .cse267 2)))))))))))))) (.cse117 (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_ArrVal_237 Int)) (let ((.cse254 (store .cse97 .cse98 v_ArrVal_237))) (let ((.cse252 (select .cse254 .cse15))) (let ((.cse248 (mod (+ 1 .cse252) 4))) (let ((.cse249 (store .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse254 .cse15 (+ (- 4) .cse248))))) (let ((.cse251 (select (store .cse249 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse253 (select .cse249 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse253 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse253 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse250 (select .cse251 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse248 0) (not (= (select (select .cse249 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) .cse91)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= .cse250 (select .cse251 .cse7)) (< 0 (select .cse251 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse250 4)))) (< 0 (+ 2 .cse252)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_ArrVal_237 Int)) (let ((.cse258 (store .cse97 .cse98 v_ArrVal_237))) (let ((.cse257 (store .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse258 .cse15 0)))) (let ((.cse255 (select (store .cse257 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse259 (select .cse257 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse259 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse259 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse256 (select .cse255 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse255 .cse7) .cse256) (not (= .cse91 (select (select .cse257 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (not (= (mod (+ 1 (select .cse258 .cse15)) 4) 0)) (< 0 (select .cse255 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse256) 4))))))))) .cse153)) (.cse62 (not (= (select (select .cse95 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10) |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1|))) (.cse65 (= .cse247 (+ .cse158 4))) (.cse11 (select .cse16 .cse17))) (and (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse8 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse4 (select .cse8 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse3 (select .cse4 .cse15))) (let ((.cse14 (store .cse4 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse3 4) 4) v_ArrVal_237))) (let ((.cse2 (mod (+ (select .cse14 .cse15) 1) 4))) (let ((.cse6 (store .cse8 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse14 .cse15 (+ (- 4) .cse2))))) (let ((.cse0 (select (store .cse6 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse12 (select .cse6 |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_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse1 (select .cse0 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse9 (* v_y_33 4))) (or (< 0 (select .cse0 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 .cse1)))) (= .cse2 0) (= (mod (+ .cse3 1) 4) (+ 4 (select .cse4 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (= v_z_33 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (select (select .cse6 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse8 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 0 (+ .cse3 2)) (< v_z_33 0) (< 0 (+ .cse9 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse8 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (= (select .cse0 .cse7) .cse1) (< (+ .cse9 v_z_33) .cse11))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| 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 ((.cse24 (select .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse26 (select .cse24 .cse15))) (let ((.cse28 (store .cse24 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse26 4)) v_ArrVal_237))) (let ((.cse25 (select .cse28 .cse15))) (let ((.cse20 (mod (+ .cse25 1) 4))) (let ((.cse23 (store .cse21 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse28 .cse15 (+ (- 4) .cse20))))) (let ((.cse18 (select (store .cse23 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse27 (select .cse23 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse27 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse27 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse19 (select .cse18 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse22 (+ .cse26 1))) (or (< 0 (select .cse18 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse19 4) 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse18 .cse7) .cse19) (= v_z_32 3) (= .cse20 0) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse21 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< .cse22 0) (not (= (select (select .cse23 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse21 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (select .cse24 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse22 4)) (< 3 v_z_32) (< 0 (+ .cse25 2))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse34 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse38 (select .cse34 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse37 (select .cse38 .cse15))) (let ((.cse40 (store .cse38 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse37 4)) v_ArrVal_237))) (let ((.cse36 (select .cse40 .cse15))) (let ((.cse33 (mod (+ .cse36 1) 4))) (let ((.cse35 (store .cse34 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse40 .cse15 (+ (- 4) .cse33))))) (let ((.cse29 (select (store .cse35 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse39 (select .cse35 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse39 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse39 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse30 (select .cse29 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse31 (select .cse38 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse32 (mod (+ .cse37 1) 4))) (or (< 0 (select .cse29 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse30 4) 4))) (= (+ .cse31 4) .cse32) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse29 .cse7) .cse30) (= v_z_32 3) (= .cse33 0) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse34 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse35 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse34 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse31 .cse32) (< 3 v_z_32) (< 0 (+ .cse36 2))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse43 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse47 (select .cse43 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse48 (select .cse47 .cse15))) (let ((.cse41 (store .cse47 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse48 4)) v_ArrVal_237))) (let ((.cse42 (store .cse43 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse41 .cse15 0)))) (let ((.cse45 (select (store .cse42 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse49 (select .cse42 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse49 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse49 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse46 (select .cse45 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse44 (+ .cse48 1))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (mod (+ (select .cse41 .cse15) 1) 4) 0)) (not (= (select (select .cse42 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse43 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse43 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< .cse44 0) (= (select .cse45 .cse7) .cse46) (< 0 (select .cse45 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse46 4) 4))) (= (select .cse47 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod .cse44 4)) (< 3 v_z_32)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse55 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse58 (select .cse55 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse59 (select .cse58 .cse15))) (let ((.cse61 (store .cse58 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse59 4) 4) v_ArrVal_237))) (let ((.cse57 (+ (select .cse61 .cse15) 1))) (let ((.cse56 (store .cse55 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse61 .cse15 (mod .cse57 4))))) (let ((.cse52 (select (store .cse56 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse60 (select .cse56 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse60 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse60 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse54 (* v_y_33 4)) (.cse50 (mod (+ .cse59 1) 4)) (.cse51 (select .cse58 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse53 (select .cse52 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse50 (+ 4 .cse51)) (= v_z_33 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (< 0 (select .cse52 (+ (* .cse53 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< 0 (+ .cse54 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse55 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< (+ .cse54 v_z_33) .cse11) (not (= (select (select .cse56 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse55 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse50 .cse51) (< .cse57 0) (= (select .cse52 .cse7) .cse53))))))))))) (or (let ((.cse63 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_ArrVal_237 Int)) (let ((.cse90 (store .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse96 (store .cse97 .cse98 v_ArrVal_237))) (store .cse96 .cse15 (+ (- 4) (mod (+ 1 (select .cse96 .cse15)) 4))))))) (let ((.cse93 (select (store .cse90 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse94 (select .cse90 |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_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse92 (select .cse93 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (not (= (select (select .cse90 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) .cse91)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= .cse92 (select .cse93 .cse7)) (< 0 (select .cse93 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse92 4))))))))))) (and (or .cse62 .cse63 .cse64 .cse65) (or .cse64 (and (or (and (or .cse62 .cse63) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse68 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse69 (store .cse68 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse71 (let ((.cse72 (select .cse68 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (store .cse72 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* (select .cse72 .cse15) 4)) v_ArrVal_237)))) (store .cse71 .cse15 (+ (- 4) (mod (+ (select .cse71 .cse15) 1) 4))))))) (let ((.cse66 (select (store .cse69 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse70 (select .cse69 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse70 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse70 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse67 (select .cse66 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse66 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse67 4) 4))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse66 .cse7) .cse67) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse68 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse69 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse68 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32)))))))) .cse65) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse77 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse75 (select .cse77 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse76 (select .cse75 .cse15))) (let ((.cse78 (store .cse77 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse80 (store .cse75 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse76 4)) v_ArrVal_237))) (store .cse80 .cse15 (+ (- 4) (mod (+ (select .cse80 .cse15) 1) 4))))))) (let ((.cse73 (select (store .cse78 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse79 (select .cse78 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse79 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse79 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse74 (select .cse73 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse73 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse74 4) 4))) (= (+ (select .cse75 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) (mod (+ .cse76 1) 4)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse73 .cse7) .cse74) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse77 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse78 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse77 |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_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse85 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse84 (select .cse85 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse87 (select .cse84 .cse15))) (let ((.cse86 (store .cse85 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse89 (store .cse84 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse87 4)) v_ArrVal_237))) (store .cse89 .cse15 (+ (- 4) (mod (+ (select .cse89 .cse15) 1) 4))))))) (let ((.cse81 (select (store .cse86 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse88 (select .cse86 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse88 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse88 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse83 (mod (+ .cse87 1) 4)) (.cse82 (select .cse81 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse81 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse82 4) 4))) (= .cse83 0) (= (+ (select .cse84 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse83) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse81 .cse7) .cse82) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse85 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse86 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse85 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32))))))))))) (< 0 (+ 2 .cse99))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse102 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse105 (select .cse102 |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| 4 (* .cse106 4)) v_ArrVal_237))) (let ((.cse104 (+ (select .cse108 .cse15) 1))) (let ((.cse103 (store .cse102 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse108 .cse15 (mod .cse104 4))))) (let ((.cse101 (select (store .cse103 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse107 (select .cse103 |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_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse100 (select .cse101 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse100 (select .cse101 .cse7)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse102 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse103 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse102 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse104 0) (= (select .cse105 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse106 1) 4)) (< 3 v_z_32) (< 0 (select .cse101 (+ (* .cse100 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse110 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse115 (select .cse110 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse113 (select .cse115 .cse15))) (let ((.cse109 (store .cse110 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse115 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse113 4) 4) v_ArrVal_237) .cse15 0)))) (let ((.cse112 (select (store .cse109 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse116 (select .cse109 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse116 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse116 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse111 (select .cse112 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse114 (* v_y_33 4))) (or (not (= (select (select .cse109 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse110 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse111 (select .cse112 .cse7)) (= v_z_33 3) (< 0 (select .cse112 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse111 4)))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (mod (+ .cse113 1) 4) 0)) (< v_z_33 0) (< 0 (+ .cse114 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse110 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< (+ .cse114 v_z_33) .cse11) (= 0 (select .cse115 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)))))))))) (or .cse117 .cse118 .cse62 .cse65) (or (< .cse119 0) (and .cse120 (or .cse117 .cse118 .cse62) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse123 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse126 (select .cse123 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse127 (select .cse126 .cse15))) (let ((.cse121 (store .cse126 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse127 4)) v_ArrVal_237))) (let ((.cse122 (store .cse123 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse121 .cse15 0)))) (let ((.cse124 (select (store .cse122 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse128 (select .cse122 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse128 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse128 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse125 (select .cse124 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (mod (+ (select .cse121 .cse15) 1) 4) 0)) (not (= (select (select .cse122 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse123 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse123 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (= (select .cse124 .cse7) .cse125) (< 0 (select .cse124 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse125 4) 4))) (= (select .cse126 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) (mod (+ .cse127 1) 4)) (< 3 v_z_32)))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse132 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse137 (select .cse132 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse138 (select .cse137 .cse15))) (let ((.cse136 (store .cse137 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse138 4) 4) v_ArrVal_237))) (let ((.cse131 (store .cse132 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse136 .cse15 0)))) (let ((.cse134 (select (store .cse131 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse139 (select .cse131 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse139 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse139 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse133 (select .cse134 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse135 (* v_y_33 4)) (.cse129 (mod (+ .cse138 1) 4)) (.cse130 (select .cse137 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (= .cse129 (+ 4 .cse130)) (not (= (select (select .cse131 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse132 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse133 (select .cse134 .cse7)) (= v_z_33 3) (< 0 (select .cse134 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse133 4)))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (< v_z_33 0) (< 0 (+ .cse135 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse132 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< (+ .cse135 v_z_33) .cse11) (= .cse129 .cse130) (not (= (mod (+ (select .cse136 .cse15) 1) 4) 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse146 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse149 (select .cse146 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse150 (select .cse149 .cse15))) (let ((.cse152 (store .cse149 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse150 4) 4) v_ArrVal_237))) (let ((.cse148 (select .cse152 .cse15))) (let ((.cse142 (mod (+ .cse148 1) 4))) (let ((.cse145 (store .cse146 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse152 .cse15 (+ (- 4) .cse142))))) (let ((.cse140 (select (store .cse145 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse151 (select .cse145 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse151 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse151 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse141 (select .cse140 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse147 (* v_y_33 4)) (.cse143 (mod (+ .cse150 1) 4)) (.cse144 (select .cse149 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))) (or (< 0 (select .cse140 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 .cse141)))) (= .cse142 0) (= .cse143 (+ 4 .cse144)) (= v_z_33 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (select (select .cse145 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse146 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< 0 (+ .cse147 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse146 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (= (select .cse140 .cse7) .cse141) (< (+ .cse147 v_z_33) .cse11) (< 0 (+ 2 .cse148)) (= .cse143 .cse144)))))))))))) (or (and .cse153 (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_ArrVal_237 Int)) (let ((.cse156 (store .cse95 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse97 .cse98 v_ArrVal_237) .cse15 0)))) (let ((.cse154 (select (store .cse156 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse157 (select .cse156 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse157 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse157 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse155 (select .cse154 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse154 .cse7) .cse155) (not (= .cse91 (select (select .cse156 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7))) (< 0 (select .cse154 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* 4 .cse155) 4))))))))) (not .cse64) .cse62 (= .cse158 0)) (or .cse118 (and .cse120 (or .cse117 .cse62)) .cse65) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse164 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse167 (select .cse164 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse168 (select .cse167 .cse15))) (let ((.cse170 (store .cse167 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse168 4) 4) v_ArrVal_237))) (let ((.cse166 (select .cse170 .cse15))) (let ((.cse162 (mod (+ .cse166 1) 4))) (let ((.cse163 (store .cse164 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse170 .cse15 (+ (- 4) .cse162))))) (let ((.cse159 (select (store .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse169 (select .cse163 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse169 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| 4 (* (select .cse169 .cse13) 4)) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse160 (select .cse159 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse165 (* v_y_33 4)) (.cse161 (+ .cse168 1))) (or (< 0 (select .cse159 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* 4 .cse160)))) (< .cse161 0) (= .cse162 0) (= v_z_33 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (select (select .cse163 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse164 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< v_z_33 0) (< 0 (+ .cse165 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse164 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (= (select .cse159 .cse7) .cse160) (< (+ .cse165 v_z_33) .cse11) (< 0 (+ 2 .cse166)) (= (mod .cse161 4) (select .cse167 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse175 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse177 (select .cse175 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse173 (select .cse177 .cse15))) (let ((.cse180 (store .cse177 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse173 4) 4) v_ArrVal_237))) (let ((.cse178 (+ (select .cse180 .cse15) 1))) (let ((.cse176 (store .cse175 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse180 .cse15 (mod .cse178 4))))) (let ((.cse171 (select (store .cse176 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse179 (select .cse176 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse179 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse179 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse174 (* v_y_33 4)) (.cse172 (select .cse171 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= v_z_33 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (< 0 (select .cse171 (+ (* .cse172 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (not (= (mod (+ .cse173 1) 4) 0)) (< v_z_33 0) (< 0 (+ .cse174 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse175 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< (+ .cse174 v_z_33) .cse11) (not (= (select (select .cse176 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse175 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= 0 (select .cse177 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse178 0) (= (select .cse171 .cse7) .cse172))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse184 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse187 (select .cse184 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse186 (select .cse187 .cse15))) (let ((.cse190 (store .cse187 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse186 4) 4) v_ArrVal_237))) (let ((.cse188 (+ (select .cse190 .cse15) 1))) (let ((.cse185 (store .cse184 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse190 .cse15 (mod .cse188 4))))) (let ((.cse181 (select (store .cse185 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse189 (select .cse185 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse189 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse189 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse183 (* v_y_33 4)) (.cse182 (select .cse181 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= v_z_33 3) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (< 0 (select .cse181 (+ (* .cse182 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))) (< v_z_33 0) (< 0 (+ .cse183 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse184 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< (+ .cse183 v_z_33) .cse11) (not (= (select (select .cse185 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse184 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= (mod (+ .cse186 1) 4) (select .cse187 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (< .cse188 0) (= (select .cse181 .cse7) .cse182))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_33 Int) (v_ArrVal_237 Int) (v_y_33 Int)) (let ((.cse193 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_33 (- 3)))))) (let ((.cse197 (select .cse193 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse199 (select .cse197 .cse15))) (let ((.cse198 (store .cse197 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| (* .cse199 4) 4) v_ArrVal_237))) (let ((.cse192 (store .cse193 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse198 .cse15 0)))) (let ((.cse195 (select (store .cse192 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse200 (select .cse192 |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_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse194 (select .cse195 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse196 (* v_y_33 4)) (.cse191 (+ .cse199 1))) (or (< .cse191 0) (not (= (select (select .cse192 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse193 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= .cse194 (select .cse195 .cse7)) (= v_z_33 3) (< 0 (select .cse195 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4 (* .cse194 4)))) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (< v_z_33 0) (< 0 (+ .cse196 v_z_33 2)) (< 3 v_z_33) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse193 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (< (+ .cse196 v_z_33) .cse11) (= (mod .cse191 4) (select .cse197 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (not (= (mod (+ (select .cse198 .cse15) 1) 4) 0))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse203 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse206 (select .cse203 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse207 (select .cse206 .cse15))) (let ((.cse209 (store .cse206 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse207 4)) v_ArrVal_237))) (let ((.cse205 (+ (select .cse209 .cse15) 1))) (let ((.cse204 (store .cse203 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse209 .cse15 (mod .cse205 4))))) (let ((.cse202 (select (store .cse204 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse208 (select .cse204 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse208 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse208 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse201 (select .cse202 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse201 (select .cse202 .cse7)) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse203 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse204 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse203 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse205 0) (= (select .cse206 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse207 1) 4) 0)) (< 3 v_z_32) (< 0 (select .cse202 (+ (* .cse201 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse214 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse218 (select .cse214 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse217 (select .cse218 .cse15))) (let ((.cse220 (store .cse218 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse217 4)) v_ArrVal_237))) (let ((.cse216 (+ (select .cse220 .cse15) 1))) (let ((.cse215 (store .cse214 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse220 .cse15 (mod .cse216 4))))) (let ((.cse211 (select (store .cse215 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse219 (select .cse215 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse219 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* (select .cse219 .cse13) 4) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse212 (select .cse218 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse213 (mod (+ .cse217 1) 4)) (.cse210 (select .cse211 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (= .cse210 (select .cse211 .cse7)) (= (+ .cse212 4) .cse213) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse214 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse215 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse214 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< .cse216 0) (= .cse212 .cse213) (< 3 v_z_32) (< 0 (select .cse211 (+ (* .cse210 4) |c_reader_twoThread1of1ForFork0_~r~2#1.offset| 4))))))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse225 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse229 (select .cse225 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse228 (select .cse229 .cse15))) (let ((.cse223 (store .cse229 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse228 4)) v_ArrVal_237))) (let ((.cse224 (store .cse225 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store .cse223 .cse15 0)))) (let ((.cse226 (select (store .cse224 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse230 (select .cse224 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse230 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse230 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse227 (select .cse226 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|)) (.cse221 (select .cse229 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|)) (.cse222 (mod (+ .cse228 1) 4))) (or (= (+ .cse221 4) .cse222) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (mod (+ (select .cse223 .cse15) 1) 4) 0)) (not (= (select (select .cse224 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse225 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse225 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (= (select .cse226 .cse7) .cse227) (< 0 (select .cse226 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse227 4) 4))) (= .cse221 .cse222) (< 3 v_z_32)))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse232 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse235 (select .cse232 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse236 (select .cse235 .cse15))) (let ((.cse231 (store .cse232 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (store (store .cse235 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse236 4)) v_ArrVal_237) .cse15 0)))) (let ((.cse233 (select (store .cse231 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse237 (select .cse231 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse237 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse237 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse234 (select .cse233 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (not (= (select (select .cse231 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse232 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse232 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (= (select .cse233 .cse7) .cse234) (< 0 (select .cse233 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse234 4) 4))) (= (select .cse235 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 0) (not (= (mod (+ .cse236 1) 4) 0)) (< 3 v_z_32))))))))) (forall ((|v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| Int) (v_z_32 Int) (v_ArrVal_237 Int)) (let ((.cse242 (store |c_#memory_int| |c_writer_fnThread1of1ForFork1_ring_enqueue_~r#1.base| (store .cse16 .cse17 (+ v_z_32 1))))) (let ((.cse241 (select .cse242 |c_ULTIMATE.start_writer_fn_~r~1#1.base|))) (let ((.cse244 (select .cse241 .cse15))) (let ((.cse243 (store .cse242 |c_ULTIMATE.start_writer_fn_~r~1#1.base| (let ((.cse246 (store .cse241 (+ |c_ULTIMATE.start_writer_fn_~r~1#1.offset| 4 (* .cse244 4)) v_ArrVal_237))) (store .cse246 .cse15 (+ (- 4) (mod (+ (select .cse246 .cse15) 1) 4))))))) (let ((.cse238 (select (store .cse243 |c_writer_fnThread1of1ForFork1_~r~1#1.base| (let ((.cse245 (select .cse243 |c_writer_fnThread1of1ForFork1_~r~1#1.base|))) (store .cse245 (+ |c_writer_fnThread1of1ForFork1_~r~1#1.offset| (* 4 (select .cse245 .cse13)) 4) |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19|))) |c_reader_twoThread1of1ForFork0_~r~2#1.base|))) (let ((.cse240 (mod (+ .cse244 1) 4)) (.cse239 (select .cse238 |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (or (< 0 (select .cse238 (+ |c_reader_twoThread1of1ForFork0_~r~2#1.offset| (* .cse239 4) 4))) (= .cse240 0) (= (+ (select .cse241 |c_ULTIMATE.start_writer_fn_~r~1#1.offset|) 4) .cse240) (< |v_writer_fnThread1of1ForFork1_ring_enqueue_~x#1_19| .cse5) (= (select .cse238 .cse7) .cse239) (= v_z_32 3) (< v_z_32 0) (not (= |c_reader_twoThread1of1ForFork0_ring_empty_#t~mem11#1| (select (select .cse242 |c_reader_twoThread1of1ForFork0_ring_empty_~r#1.base|) .cse10))) (not (= (select (select .cse243 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) .cse7) (select (select .cse242 |c_reader_twoThread1of1ForFork0_~r~2#1.base|) |c_reader_twoThread1of1ForFork0_~r~2#1.offset|))) (< 3 v_z_32) (< 0 (+ 2 .cse244)))))))))))))))))) is different from true Received shutdown request... [2024-04-04 22:19:52,430 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-04-04 22:19:52,437 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-04-04 22:19:52,437 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-04-04 22:19:52,573 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (9 of 10 remaining) [2024-04-04 22:19:52,578 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2024-04-04 22:19:52,773 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-04 22:19:52,774 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 ∨-12-1 term,while PolyPacSimplificationTermWalker was simplifying 12 xjuncts wrt. a ATOM-1 context. [2024-04-04 22:19:52,775 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr0ASSERT_VIOLATIONERROR_FUNCTION (8 of 10 remaining) [2024-04-04 22:19:52,775 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (7 of 10 remaining) [2024-04-04 22:19:52,775 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (6 of 10 remaining) [2024-04-04 22:19:52,775 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (5 of 10 remaining) [2024-04-04 22:19:52,776 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (4 of 10 remaining) [2024-04-04 22:19:52,776 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (3 of 10 remaining) [2024-04-04 22:19:52,776 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr1ASSERT_VIOLATIONERROR_FUNCTION (2 of 10 remaining) [2024-04-04 22:19:52,776 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr2ASSERT_VIOLATIONERROR_FUNCTION (1 of 10 remaining) [2024-04-04 22:19:52,776 INFO L805 garLoopResultBuilder]: Registering result TIMEOUT for location reader_twoErr3ASSERT_VIOLATIONERROR_FUNCTION (0 of 10 remaining) [2024-04-04 22:19:52,779 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2024-04-04 22:19:52,783 INFO L228 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-04-04 22:19:52,783 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2024-04-04 22:19:52,784 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 04.04 10:19:52 BasicIcfg [2024-04-04 22:19:52,784 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-04-04 22:19:52,785 INFO L158 Benchmark]: Toolchain (without parser) took 857066.60ms. Allocated memory was 164.6MB in the beginning and 2.0GB in the end (delta: 1.9GB). Free memory was 97.7MB in the beginning and 1.4GB in the end (delta: -1.3GB). Peak memory consumption was 1.2GB. Max. memory is 8.0GB. [2024-04-04 22:19:52,785 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 164.6MB. Free memory is still 104.6MB. There was no memory consumed. Max. memory is 8.0GB. [2024-04-04 22:19:52,785 INFO L158 Benchmark]: CACSL2BoogieTranslator took 570.52ms. Allocated memory is still 164.6MB. Free memory was 97.5MB in the beginning and 116.8MB in the end (delta: -19.3MB). Peak memory consumption was 19.2MB. Max. memory is 8.0GB. [2024-04-04 22:19:52,785 INFO L158 Benchmark]: Boogie Procedure Inliner took 61.80ms. Allocated memory is still 164.6MB. Free memory was 116.8MB in the beginning and 113.6MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. [2024-04-04 22:19:52,785 INFO L158 Benchmark]: Boogie Preprocessor took 48.60ms. Allocated memory is still 164.6MB. Free memory was 113.1MB in the beginning and 111.0MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2024-04-04 22:19:52,786 INFO L158 Benchmark]: RCFGBuilder took 528.90ms. Allocated memory is still 164.6MB. Free memory was 111.0MB in the beginning and 86.4MB in the end (delta: 24.6MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. [2024-04-04 22:19:52,786 INFO L158 Benchmark]: TraceAbstraction took 855852.01ms. Allocated memory was 164.6MB in the beginning and 2.0GB in the end (delta: 1.9GB). Free memory was 85.3MB in the beginning and 1.4GB in the end (delta: -1.4GB). Peak memory consumption was 1.2GB. Max. memory is 8.0GB. [2024-04-04 22:19:52,787 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 164.6MB. Free memory is still 104.6MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 570.52ms. Allocated memory is still 164.6MB. Free memory was 97.5MB in the beginning and 116.8MB in the end (delta: -19.3MB). Peak memory consumption was 19.2MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 61.80ms. Allocated memory is still 164.6MB. Free memory was 116.8MB in the beginning and 113.6MB in the end (delta: 3.1MB). Peak memory consumption was 3.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 48.60ms. Allocated memory is still 164.6MB. Free memory was 113.1MB in the beginning and 111.0MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 528.90ms. Allocated memory is still 164.6MB. Free memory was 111.0MB in the beginning and 86.4MB in the end (delta: 24.6MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. * TraceAbstraction took 855852.01ms. Allocated memory was 164.6MB in the beginning and 2.0GB in the end (delta: 1.9GB). Free memory was 85.3MB in the beginning and 1.4GB in the end (delta: -1.4GB). 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: 400967, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 18105, dependent conditional: 18080, dependent unconditional: 25, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 384516, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 1654, dependent conditional: 1654, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ ConditionTransformingIndependenceRelation.Independence Queries: [ total: 384516, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 1654, dependent conditional: 1654, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 384516, independent: 382862, independent conditional: 382725, independent unconditional: 137, dependent: 1654, dependent conditional: 1654, dependent unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 1330, independent unconditional: 381532, dependent: 5631, dependent conditional: 2277, dependent unconditional: 3354, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 4600, independent: 4383, independent conditional: 203, independent unconditional: 4180, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 4600, independent: 4363, independent conditional: 0, independent unconditional: 4363, dependent: 237, dependent conditional: 0, dependent unconditional: 237, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 703, independent: 91, independent conditional: 85, independent unconditional: 6, dependent: 612, dependent conditional: 438, dependent unconditional: 174, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 388493, independent: 378479, independent conditional: 690, independent unconditional: 377789, dependent: 5414, dependent conditional: 654, dependent unconditional: 4760, unknown: 4600, unknown conditional: 365, unknown unconditional: 4235] , Statistics on independence cache: Total cache size (in pairs): 4600, Positive cache size: 4383, Positive conditional cache size: 203, Positive unconditional cache size: 4180, Negative cache size: 217, Negative conditional cache size: 162, Negative unconditional cache size: 55, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 1898, Maximal queried relation: 4, ConditionTransformingIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 1330, independent unconditional: 381532, dependent: 5631, dependent conditional: 2277, dependent unconditional: 3354, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 388493, independent: 382862, independent conditional: 893, independent unconditional: 381969, dependent: 5631, dependent conditional: 816, dependent unconditional: 4815, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 4600, independent: 4383, independent conditional: 203, independent unconditional: 4180, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 4600, independent: 4363, independent conditional: 0, independent unconditional: 4363, dependent: 237, dependent conditional: 0, dependent unconditional: 237, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 237, independent: 20, independent conditional: 16, independent unconditional: 4, dependent: 217, dependent conditional: 162, dependent unconditional: 55, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 703, independent: 91, independent conditional: 85, independent unconditional: 6, dependent: 612, dependent conditional: 438, dependent unconditional: 174, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 388493, independent: 378479, independent conditional: 690, independent unconditional: 377789, dependent: 5414, dependent conditional: 654, dependent unconditional: 4760, unknown: 4600, unknown conditional: 365, unknown unconditional: 4235] , Statistics on independence cache: Total cache size (in pairs): 4600, Positive cache size: 4383, Positive conditional cache size: 203, Positive unconditional cache size: 4180, Negative cache size: 217, Negative conditional cache size: 162, Negative unconditional cache size: 55, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 1898 ], Independence queries for same thread: 16451 - TimeoutResultAtElement [Line: 1060]: Timeout (TraceAbstraction) Unable to prove that a call to reach_error is unreachable Cancelled while PartialOrderCegarLoop was analyzing trace of length 214 with TraceHistMax 4,while TraceCheckSpWp was constructing backward predicates,while PolyPacSimplificationTermWalker was simplifying a ∨-12-1 term,while PolyPacSimplificationTermWalker was simplifying 12 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 ∨-12-1 term,while PolyPacSimplificationTermWalker was simplifying 12 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 ∨-12-1 term,while PolyPacSimplificationTermWalker was simplifying 12 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 ∨-12-1 term,while PolyPacSimplificationTermWalker was simplifying 12 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 ∨-12-1 term,while PolyPacSimplificationTermWalker was simplifying 12 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 ∨-12-1 term,while PolyPacSimplificationTermWalker was simplifying 12 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: 855.7s, OverallIterations: 5, TraceHistogramMax: 0, PathProgramHistogramMax: 1, EmptinessCheckTime: 519.3s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: , PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=0occurred in iteration=0, InterpolantAutomatonStates: 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.4s SatisfiabilityAnalysisTime, 126.6s InterpolantComputationTime, 791 NumberOfCodeBlocks, 791 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 1056 ConstructedInterpolants, 129 QuantifiedInterpolants, 98781 SizeOfPredicates, 91 NumberOfNonLiveVariables, 689 ConjunctsInSsa, 206 ConjunctsInUnsatCore, 8 InterpolantComputations, 2 PerfectInterpolantSequences, 16/98 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown