./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 803cd42f Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 41874b69ed787f1d4b0fd199a95bb437bfc8aab0f734c194621d2ef33cc65cc9 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.dk.eval-assert-order-craig-803cd42-m [2024-11-22 13:53:02,233 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-22 13:53:02,281 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-11-22 13:53:02,286 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-22 13:53:02,289 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-22 13:53:02,310 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-22 13:53:02,310 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-22 13:53:02,310 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-22 13:53:02,311 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-22 13:53:02,311 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-22 13:53:02,311 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-22 13:53:02,312 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-22 13:53:02,312 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-22 13:53:02,312 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-22 13:53:02,313 INFO L153 SettingsManager]: * Use SBE=true [2024-11-22 13:53:02,313 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-22 13:53:02,313 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-22 13:53:02,315 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-22 13:53:02,315 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-22 13:53:02,315 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-22 13:53:02,316 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-22 13:53:02,316 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-22 13:53:02,316 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-22 13:53:02,317 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-22 13:53:02,317 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-22 13:53:02,317 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-22 13:53:02,320 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-22 13:53:02,320 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-22 13:53:02,320 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-22 13:53:02,320 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-22 13:53:02,320 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-11-22 13:53:02,320 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-22 13:53:02,321 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-22 13:53:02,321 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-22 13:53:02,321 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-22 13:53:02,321 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-22 13:53:02,321 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-22 13:53:02,321 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-22 13:53:02,321 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-22 13:53:02,321 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-22 13:53:02,322 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-22 13:53:02,322 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-22 13:53:02,322 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 41874b69ed787f1d4b0fd199a95bb437bfc8aab0f734c194621d2ef33cc65cc9 [2024-11-22 13:53:02,498 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-22 13:53:02,516 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-22 13:53:02,519 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-22 13:53:02,520 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-22 13:53:02,520 INFO L274 PluginConnector]: CDTParser initialized [2024-11-22 13:53:02,521 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c [2024-11-22 13:53:03,745 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-22 13:53:03,900 INFO L384 CDTParser]: Found 1 translation units. [2024-11-22 13:53:03,901 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c [2024-11-22 13:53:03,910 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a571a0f98/65264cc8f56d473993f13106bc9e0099/FLAGf1572a0da [2024-11-22 13:53:04,304 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a571a0f98/65264cc8f56d473993f13106bc9e0099 [2024-11-22 13:53:04,305 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-22 13:53:04,306 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-22 13:53:04,307 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-22 13:53:04,307 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-22 13:53:04,311 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-22 13:53:04,312 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,312 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@47ce8b0e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04, skipping insertion in model container [2024-11-22 13:53:04,312 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,334 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-22 13:53:04,527 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c[4059,4072] [2024-11-22 13:53:04,538 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-22 13:53:04,548 INFO L200 MainTranslator]: Completed pre-run [2024-11-22 13:53:04,577 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c[4059,4072] [2024-11-22 13:53:04,580 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-22 13:53:04,596 INFO L204 MainTranslator]: Completed translation [2024-11-22 13:53:04,596 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04 WrapperNode [2024-11-22 13:53:04,596 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-22 13:53:04,597 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-22 13:53:04,597 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-22 13:53:04,597 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-22 13:53:04,603 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,610 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,630 INFO L138 Inliner]: procedures = 25, calls = 53, calls flagged for inlining = 15, calls inlined = 17, statements flattened = 256 [2024-11-22 13:53:04,630 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-22 13:53:04,631 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-22 13:53:04,631 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-22 13:53:04,631 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-22 13:53:04,640 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,640 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,643 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,659 INFO L175 MemorySlicer]: Split 8 memory accesses to 2 slices as follows [2, 6]. 75 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 2 writes are split as follows [0, 2]. [2024-11-22 13:53:04,659 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,659 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,671 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,674 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,676 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,677 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,679 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-22 13:53:04,684 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-22 13:53:04,684 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-22 13:53:04,684 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-22 13:53:04,685 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (1/1) ... [2024-11-22 13:53:04,694 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-22 13:53:04,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:53:04,725 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-11-22 13:53:04,727 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-11-22 13:53:04,784 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-22 13:53:04,784 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-11-22 13:53:04,784 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-11-22 13:53:04,784 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-11-22 13:53:04,784 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-11-22 13:53:04,785 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-11-22 13:53:04,785 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-11-22 13:53:04,785 INFO L130 BoogieDeclarations]: Found specification of procedure thread4 [2024-11-22 13:53:04,785 INFO L138 BoogieDeclarations]: Found implementation of procedure thread4 [2024-11-22 13:53:04,785 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-22 13:53:04,785 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-22 13:53:04,785 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-22 13:53:04,785 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-22 13:53:04,786 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-11-22 13:53:04,786 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-11-22 13:53:04,786 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-22 13:53:04,786 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-22 13:53:04,786 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-22 13:53:04,786 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-22 13:53:04,786 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-22 13:53:04,787 WARN L207 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-22 13:53:04,877 INFO L238 CfgBuilder]: Building ICFG [2024-11-22 13:53:04,879 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-22 13:53:05,177 INFO L283 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-22 13:53:05,178 INFO L287 CfgBuilder]: Performing block encoding [2024-11-22 13:53:05,359 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-22 13:53:05,359 INFO L316 CfgBuilder]: Removed 5 assume(true) statements. [2024-11-22 13:53:05,359 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 01:53:05 BoogieIcfgContainer [2024-11-22 13:53:05,359 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-22 13:53:05,361 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-22 13:53:05,362 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-22 13:53:05,364 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-22 13:53:05,364 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 01:53:04" (1/3) ... [2024-11-22 13:53:05,365 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@69d40dd1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 01:53:05, skipping insertion in model container [2024-11-22 13:53:05,365 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:04" (2/3) ... [2024-11-22 13:53:05,365 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@69d40dd1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 01:53:05, skipping insertion in model container [2024-11-22 13:53:05,366 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 01:53:05" (3/3) ... [2024-11-22 13:53:05,367 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-prod-cons3.wvr.c [2024-11-22 13:53:05,381 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-22 13:53:05,381 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-11-22 13:53:05,382 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-22 13:53:05,432 INFO L143 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2024-11-22 13:53:05,460 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 58 places, 51 transitions, 130 flow [2024-11-22 13:53:05,483 INFO L124 PetriNetUnfolderBase]: 6/47 cut-off events. [2024-11-22 13:53:05,484 INFO L125 PetriNetUnfolderBase]: For 4/4 co-relation queries the response was YES. [2024-11-22 13:53:05,486 INFO L83 FinitePrefix]: Finished finitePrefix Result has 64 conditions, 47 events. 6/47 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 93 event pairs, 0 based on Foata normal form. 0/40 useless extension candidates. Maximal degree in co-relation 41. Up to 2 conditions per place. [2024-11-22 13:53:05,487 INFO L82 GeneralOperation]: Start removeDead. Operand has 58 places, 51 transitions, 130 flow [2024-11-22 13:53:05,489 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 46 transitions, 116 flow [2024-11-22 13:53:05,495 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-22 13:53:05,499 INFO L333 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, mAutomataTypeConcurrency=PETRI_NET, 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;@4a6ae3d0, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-22 13:53:05,499 INFO L334 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2024-11-22 13:53:05,511 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-22 13:53:05,511 INFO L124 PetriNetUnfolderBase]: 6/45 cut-off events. [2024-11-22 13:53:05,511 INFO L125 PetriNetUnfolderBase]: For 4/4 co-relation queries the response was YES. [2024-11-22 13:53:05,511 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:05,512 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:05,512 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:05,516 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:05,516 INFO L85 PathProgramCache]: Analyzing trace with hash -811056868, now seen corresponding path program 1 times [2024-11-22 13:53:05,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:05,523 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [894419367] [2024-11-22 13:53:05,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:53:05,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:05,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:53:06,132 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-22 13:53:06,132 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:06,132 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [894419367] [2024-11-22 13:53:06,133 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [894419367] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:53:06,133 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:53:06,134 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-22 13:53:06,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1992993619] [2024-11-22 13:53:06,136 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:53:06,142 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-22 13:53:06,147 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:06,168 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-22 13:53:06,168 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-22 13:53:06,202 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 17 out of 51 [2024-11-22 13:53:06,205 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 46 transitions, 116 flow. Second operand has 5 states, 5 states have (on average 22.0) internal successors, (110), 5 states have internal predecessors, (110), 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-11-22 13:53:06,205 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:06,205 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 17 of 51 [2024-11-22 13:53:06,206 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:07,049 INFO L124 PetriNetUnfolderBase]: 6160/9047 cut-off events. [2024-11-22 13:53:07,050 INFO L125 PetriNetUnfolderBase]: For 530/530 co-relation queries the response was YES. [2024-11-22 13:53:07,068 INFO L83 FinitePrefix]: Finished finitePrefix Result has 17724 conditions, 9047 events. 6160/9047 cut-off events. For 530/530 co-relation queries the response was YES. Maximal size of possible extension queue 488. Compared 55076 event pairs, 2221 based on Foata normal form. 2/8840 useless extension candidates. Maximal degree in co-relation 16284. Up to 3674 conditions per place. [2024-11-22 13:53:07,101 INFO L140 encePairwiseOnDemand]: 46/51 looper letters, 65 selfloop transitions, 4 changer transitions 3/85 dead transitions. [2024-11-22 13:53:07,102 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 57 places, 85 transitions, 365 flow [2024-11-22 13:53:07,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-22 13:53:07,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-22 13:53:07,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 159 transitions. [2024-11-22 13:53:07,113 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6235294117647059 [2024-11-22 13:53:07,114 INFO L175 Difference]: Start difference. First operand has 53 places, 46 transitions, 116 flow. Second operand 5 states and 159 transitions. [2024-11-22 13:53:07,115 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 57 places, 85 transitions, 365 flow [2024-11-22 13:53:07,135 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 49 places, 85 transitions, 331 flow, removed 0 selfloop flow, removed 8 redundant places. [2024-11-22 13:53:07,139 INFO L231 Difference]: Finished difference. Result has 51 places, 48 transitions, 124 flow [2024-11-22 13:53:07,141 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=100, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=42, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=124, PETRI_PLACES=51, PETRI_TRANSITIONS=48} [2024-11-22 13:53:07,144 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, -2 predicate places. [2024-11-22 13:53:07,145 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 48 transitions, 124 flow [2024-11-22 13:53:07,145 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 22.0) internal successors, (110), 5 states have internal predecessors, (110), 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-11-22 13:53:07,145 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:07,146 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:07,146 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-22 13:53:07,147 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:07,148 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:07,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1082259351, now seen corresponding path program 1 times [2024-11-22 13:53:07,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:07,148 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1924667020] [2024-11-22 13:53:07,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:53:07,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:07,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:53:07,237 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-22 13:53:07,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:07,238 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1924667020] [2024-11-22 13:53:07,238 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1924667020] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:53:07,239 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:53:07,239 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-22 13:53:07,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1172296306] [2024-11-22 13:53:07,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:53:07,240 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-22 13:53:07,241 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:07,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-22 13:53:07,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-22 13:53:07,242 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 19 out of 51 [2024-11-22 13:53:07,242 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 48 transitions, 124 flow. Second operand has 3 states, 3 states have (on average 27.333333333333332) internal successors, (82), 3 states have internal predecessors, (82), 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-11-22 13:53:07,243 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:07,243 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 19 of 51 [2024-11-22 13:53:07,243 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:07,721 INFO L124 PetriNetUnfolderBase]: 3414/5580 cut-off events. [2024-11-22 13:53:07,721 INFO L125 PetriNetUnfolderBase]: For 193/193 co-relation queries the response was YES. [2024-11-22 13:53:07,731 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10821 conditions, 5580 events. 3414/5580 cut-off events. For 193/193 co-relation queries the response was YES. Maximal size of possible extension queue 263. Compared 36080 event pairs, 1305 based on Foata normal form. 90/5519 useless extension candidates. Maximal degree in co-relation 6911. Up to 3076 conditions per place. [2024-11-22 13:53:07,747 INFO L140 encePairwiseOnDemand]: 48/51 looper letters, 46 selfloop transitions, 2 changer transitions 3/68 dead transitions. [2024-11-22 13:53:07,747 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 68 transitions, 272 flow [2024-11-22 13:53:07,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-22 13:53:07,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-22 13:53:07,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 109 transitions. [2024-11-22 13:53:07,749 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.7124183006535948 [2024-11-22 13:53:07,749 INFO L175 Difference]: Start difference. First operand has 51 places, 48 transitions, 124 flow. Second operand 3 states and 109 transitions. [2024-11-22 13:53:07,749 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 68 transitions, 272 flow [2024-11-22 13:53:07,750 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 68 transitions, 268 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-11-22 13:53:07,751 INFO L231 Difference]: Finished difference. Result has 52 places, 49 transitions, 132 flow [2024-11-22 13:53:07,751 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=120, PETRI_DIFFERENCE_MINUEND_PLACES=49, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=48, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=132, PETRI_PLACES=52, PETRI_TRANSITIONS=49} [2024-11-22 13:53:07,752 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, -1 predicate places. [2024-11-22 13:53:07,752 INFO L471 AbstractCegarLoop]: Abstraction has has 52 places, 49 transitions, 132 flow [2024-11-22 13:53:07,752 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 27.333333333333332) internal successors, (82), 3 states have internal predecessors, (82), 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-11-22 13:53:07,752 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:07,752 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:07,752 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-22 13:53:07,753 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:07,753 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:07,753 INFO L85 PathProgramCache]: Analyzing trace with hash -342713442, now seen corresponding path program 1 times [2024-11-22 13:53:07,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:07,753 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2012425877] [2024-11-22 13:53:07,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:53:07,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:07,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:53:07,801 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-22 13:53:07,802 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:07,802 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2012425877] [2024-11-22 13:53:07,802 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2012425877] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:53:07,802 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:53:07,802 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-22 13:53:07,802 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [479642340] [2024-11-22 13:53:07,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:53:07,803 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-22 13:53:07,803 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:07,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-22 13:53:07,804 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-22 13:53:07,804 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 19 out of 51 [2024-11-22 13:53:07,804 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 52 places, 49 transitions, 132 flow. Second operand has 3 states, 3 states have (on average 28.0) internal successors, (84), 3 states have internal predecessors, (84), 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-11-22 13:53:07,804 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:07,804 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 19 of 51 [2024-11-22 13:53:07,804 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:08,163 INFO L124 PetriNetUnfolderBase]: 3423/5576 cut-off events. [2024-11-22 13:53:08,163 INFO L125 PetriNetUnfolderBase]: For 431/431 co-relation queries the response was YES. [2024-11-22 13:53:08,172 INFO L83 FinitePrefix]: Finished finitePrefix Result has 11291 conditions, 5576 events. 3423/5576 cut-off events. For 431/431 co-relation queries the response was YES. Maximal size of possible extension queue 211. Compared 34201 event pairs, 1395 based on Foata normal form. 74/5462 useless extension candidates. Maximal degree in co-relation 7957. Up to 3744 conditions per place. [2024-11-22 13:53:08,181 INFO L140 encePairwiseOnDemand]: 48/51 looper letters, 42 selfloop transitions, 2 changer transitions 7/68 dead transitions. [2024-11-22 13:53:08,182 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 68 transitions, 279 flow [2024-11-22 13:53:08,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-22 13:53:08,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-22 13:53:08,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 108 transitions. [2024-11-22 13:53:08,183 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.7058823529411765 [2024-11-22 13:53:08,183 INFO L175 Difference]: Start difference. First operand has 52 places, 49 transitions, 132 flow. Second operand 3 states and 108 transitions. [2024-11-22 13:53:08,183 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 68 transitions, 279 flow [2024-11-22 13:53:08,184 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 53 places, 68 transitions, 277 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-22 13:53:08,185 INFO L231 Difference]: Finished difference. Result has 54 places, 50 transitions, 142 flow [2024-11-22 13:53:08,185 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=130, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=49, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=47, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=142, PETRI_PLACES=54, PETRI_TRANSITIONS=50} [2024-11-22 13:53:08,186 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, 1 predicate places. [2024-11-22 13:53:08,186 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 50 transitions, 142 flow [2024-11-22 13:53:08,187 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 28.0) internal successors, (84), 3 states have internal predecessors, (84), 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-11-22 13:53:08,187 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:08,187 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:08,187 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-22 13:53:08,187 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:08,188 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:08,188 INFO L85 PathProgramCache]: Analyzing trace with hash 1374563807, now seen corresponding path program 1 times [2024-11-22 13:53:08,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:08,188 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1109654399] [2024-11-22 13:53:08,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:53:08,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:08,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:53:08,298 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-22 13:53:08,298 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:08,298 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1109654399] [2024-11-22 13:53:08,298 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1109654399] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:53:08,298 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:53:08,298 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-22 13:53:08,298 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1153903181] [2024-11-22 13:53:08,299 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:53:08,299 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-22 13:53:08,299 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:08,299 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-22 13:53:08,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-22 13:53:08,300 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 19 out of 51 [2024-11-22 13:53:08,300 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 50 transitions, 142 flow. Second operand has 4 states, 4 states have (on average 26.25) internal successors, (105), 4 states have internal predecessors, (105), 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-11-22 13:53:08,300 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:08,300 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 19 of 51 [2024-11-22 13:53:08,300 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:08,826 INFO L124 PetriNetUnfolderBase]: 3940/6563 cut-off events. [2024-11-22 13:53:08,827 INFO L125 PetriNetUnfolderBase]: For 1135/1149 co-relation queries the response was YES. [2024-11-22 13:53:08,843 INFO L83 FinitePrefix]: Finished finitePrefix Result has 13831 conditions, 6563 events. 3940/6563 cut-off events. For 1135/1149 co-relation queries the response was YES. Maximal size of possible extension queue 208. Compared 42176 event pairs, 3357 based on Foata normal form. 58/6346 useless extension candidates. Maximal degree in co-relation 9911. Up to 4556 conditions per place. [2024-11-22 13:53:08,862 INFO L140 encePairwiseOnDemand]: 45/51 looper letters, 32 selfloop transitions, 2 changer transitions 25/76 dead transitions. [2024-11-22 13:53:08,863 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 76 transitions, 324 flow [2024-11-22 13:53:08,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-22 13:53:08,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-22 13:53:08,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 153 transitions. [2024-11-22 13:53:08,865 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6 [2024-11-22 13:53:08,866 INFO L175 Difference]: Start difference. First operand has 54 places, 50 transitions, 142 flow. Second operand 5 states and 153 transitions. [2024-11-22 13:53:08,866 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 76 transitions, 324 flow [2024-11-22 13:53:08,869 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 57 places, 76 transitions, 322 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-22 13:53:08,870 INFO L231 Difference]: Finished difference. Result has 60 places, 51 transitions, 158 flow [2024-11-22 13:53:08,870 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=140, PETRI_DIFFERENCE_MINUEND_PLACES=53, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=50, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=48, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=158, PETRI_PLACES=60, PETRI_TRANSITIONS=51} [2024-11-22 13:53:08,871 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, 7 predicate places. [2024-11-22 13:53:08,871 INFO L471 AbstractCegarLoop]: Abstraction has has 60 places, 51 transitions, 158 flow [2024-11-22 13:53:08,871 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 26.25) internal successors, (105), 4 states have internal predecessors, (105), 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-11-22 13:53:08,871 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:08,872 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:08,872 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-11-22 13:53:08,872 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:08,872 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:08,872 INFO L85 PathProgramCache]: Analyzing trace with hash 1858947521, now seen corresponding path program 1 times [2024-11-22 13:53:08,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:08,873 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593917859] [2024-11-22 13:53:08,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:53:08,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:08,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:53:08,996 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-22 13:53:08,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:08,997 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [593917859] [2024-11-22 13:53:08,997 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [593917859] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:53:08,997 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:53:08,997 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-22 13:53:08,997 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [353872355] [2024-11-22 13:53:08,998 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:53:08,998 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-22 13:53:08,998 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:08,999 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-22 13:53:09,000 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-22 13:53:09,000 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 19 out of 51 [2024-11-22 13:53:09,001 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 60 places, 51 transitions, 158 flow. Second operand has 4 states, 4 states have (on average 26.5) internal successors, (106), 4 states have internal predecessors, (106), 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-11-22 13:53:09,001 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:09,001 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 19 of 51 [2024-11-22 13:53:09,001 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:09,456 INFO L124 PetriNetUnfolderBase]: 4848/8041 cut-off events. [2024-11-22 13:53:09,456 INFO L125 PetriNetUnfolderBase]: For 1636/1650 co-relation queries the response was YES. [2024-11-22 13:53:09,477 INFO L83 FinitePrefix]: Finished finitePrefix Result has 16962 conditions, 8041 events. 4848/8041 cut-off events. For 1636/1650 co-relation queries the response was YES. Maximal size of possible extension queue 296. Compared 54038 event pairs, 4151 based on Foata normal form. 86/7726 useless extension candidates. Maximal degree in co-relation 16943. Up to 4557 conditions per place. [2024-11-22 13:53:09,492 INFO L140 encePairwiseOnDemand]: 47/51 looper letters, 33 selfloop transitions, 2 changer transitions 25/77 dead transitions. [2024-11-22 13:53:09,493 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 61 places, 77 transitions, 352 flow [2024-11-22 13:53:09,493 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-22 13:53:09,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-11-22 13:53:09,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 133 transitions. [2024-11-22 13:53:09,494 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6519607843137255 [2024-11-22 13:53:09,494 INFO L175 Difference]: Start difference. First operand has 60 places, 51 transitions, 158 flow. Second operand 4 states and 133 transitions. [2024-11-22 13:53:09,494 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 61 places, 77 transitions, 352 flow [2024-11-22 13:53:09,498 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 77 transitions, 336 flow, removed 7 selfloop flow, removed 3 redundant places. [2024-11-22 13:53:09,499 INFO L231 Difference]: Finished difference. Result has 60 places, 52 transitions, 162 flow [2024-11-22 13:53:09,500 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=148, PETRI_DIFFERENCE_MINUEND_PLACES=55, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=162, PETRI_PLACES=60, PETRI_TRANSITIONS=52} [2024-11-22 13:53:09,500 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, 7 predicate places. [2024-11-22 13:53:09,500 INFO L471 AbstractCegarLoop]: Abstraction has has 60 places, 52 transitions, 162 flow [2024-11-22 13:53:09,501 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 26.5) internal successors, (106), 4 states have internal predecessors, (106), 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-11-22 13:53:09,501 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:09,501 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:09,501 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-11-22 13:53:09,504 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:09,504 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:09,504 INFO L85 PathProgramCache]: Analyzing trace with hash 492940718, now seen corresponding path program 1 times [2024-11-22 13:53:09,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:09,505 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1731667321] [2024-11-22 13:53:09,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:53:09,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:09,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:53:09,689 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-11-22 13:53:09,690 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:09,690 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1731667321] [2024-11-22 13:53:09,691 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1731667321] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:53:09,691 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:53:09,691 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-22 13:53:09,691 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2088326163] [2024-11-22 13:53:09,691 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:53:09,692 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-22 13:53:09,692 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:09,693 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-22 13:53:09,693 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-22 13:53:09,712 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 14 out of 51 [2024-11-22 13:53:09,712 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 60 places, 52 transitions, 162 flow. Second operand has 5 states, 5 states have (on average 21.2) internal successors, (106), 5 states have internal predecessors, (106), 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-11-22 13:53:09,712 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:09,713 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 14 of 51 [2024-11-22 13:53:09,713 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:11,458 INFO L124 PetriNetUnfolderBase]: 17735/26583 cut-off events. [2024-11-22 13:53:11,458 INFO L125 PetriNetUnfolderBase]: For 5717/5717 co-relation queries the response was YES. [2024-11-22 13:53:11,534 INFO L83 FinitePrefix]: Finished finitePrefix Result has 57910 conditions, 26583 events. 17735/26583 cut-off events. For 5717/5717 co-relation queries the response was YES. Maximal size of possible extension queue 753. Compared 177302 event pairs, 1924 based on Foata normal form. 800/27215 useless extension candidates. Maximal degree in co-relation 57886. Up to 6730 conditions per place. [2024-11-22 13:53:11,579 INFO L140 encePairwiseOnDemand]: 42/51 looper letters, 113 selfloop transitions, 13 changer transitions 22/159 dead transitions. [2024-11-22 13:53:11,579 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 159 transitions, 763 flow [2024-11-22 13:53:11,579 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-22 13:53:11,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2024-11-22 13:53:11,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 237 transitions. [2024-11-22 13:53:11,581 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6638655462184874 [2024-11-22 13:53:11,581 INFO L175 Difference]: Start difference. First operand has 60 places, 52 transitions, 162 flow. Second operand 7 states and 237 transitions. [2024-11-22 13:53:11,581 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 159 transitions, 763 flow [2024-11-22 13:53:11,586 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 159 transitions, 747 flow, removed 7 selfloop flow, removed 2 redundant places. [2024-11-22 13:53:11,588 INFO L231 Difference]: Finished difference. Result has 68 places, 60 transitions, 236 flow [2024-11-22 13:53:11,588 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=156, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=52, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=236, PETRI_PLACES=68, PETRI_TRANSITIONS=60} [2024-11-22 13:53:11,589 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, 15 predicate places. [2024-11-22 13:53:11,589 INFO L471 AbstractCegarLoop]: Abstraction has has 68 places, 60 transitions, 236 flow [2024-11-22 13:53:11,589 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 21.2) internal successors, (106), 5 states have internal predecessors, (106), 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-11-22 13:53:11,590 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:11,590 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:11,590 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2024-11-22 13:53:11,590 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:11,591 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:11,591 INFO L85 PathProgramCache]: Analyzing trace with hash 674833818, now seen corresponding path program 2 times [2024-11-22 13:53:11,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:11,591 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1725230408] [2024-11-22 13:53:11,591 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-22 13:53:11,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:11,615 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-22 13:53:11,616 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:53:11,853 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-22 13:53:11,853 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:11,853 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1725230408] [2024-11-22 13:53:11,853 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1725230408] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-22 13:53:11,853 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [673015531] [2024-11-22 13:53:11,854 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-22 13:53:11,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:53:11,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:53:11,857 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-22 13:53:11,858 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-22 13:53:11,942 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-22 13:53:11,942 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:53:11,947 INFO L255 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 6 conjuncts are in the unsatisfiable core [2024-11-22 13:53:11,955 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-22 13:53:12,065 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-11-22 13:53:12,065 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-22 13:53:12,125 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-11-22 13:53:12,126 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [673015531] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-22 13:53:12,126 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-22 13:53:12,126 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 9 [2024-11-22 13:53:12,126 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939380493] [2024-11-22 13:53:12,126 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-22 13:53:12,127 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2024-11-22 13:53:12,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:12,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-11-22 13:53:12,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2024-11-22 13:53:12,159 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 51 [2024-11-22 13:53:12,160 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 68 places, 60 transitions, 236 flow. Second operand has 9 states, 9 states have (on average 17.666666666666668) internal successors, (159), 9 states have internal predecessors, (159), 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-11-22 13:53:12,160 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:12,160 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 51 [2024-11-22 13:53:12,160 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:14,923 INFO L124 PetriNetUnfolderBase]: 23561/34160 cut-off events. [2024-11-22 13:53:14,923 INFO L125 PetriNetUnfolderBase]: For 19666/19666 co-relation queries the response was YES. [2024-11-22 13:53:14,997 INFO L83 FinitePrefix]: Finished finitePrefix Result has 84084 conditions, 34160 events. 23561/34160 cut-off events. For 19666/19666 co-relation queries the response was YES. Maximal size of possible extension queue 1012. Compared 210449 event pairs, 1707 based on Foata normal form. 1088/34462 useless extension candidates. Maximal degree in co-relation 84055. Up to 5468 conditions per place. [2024-11-22 13:53:15,079 INFO L140 encePairwiseOnDemand]: 38/51 looper letters, 319 selfloop transitions, 66 changer transitions 56/448 dead transitions. [2024-11-22 13:53:15,080 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 97 places, 448 transitions, 2387 flow [2024-11-22 13:53:15,080 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2024-11-22 13:53:15,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2024-11-22 13:53:15,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 741 transitions. [2024-11-22 13:53:15,083 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4843137254901961 [2024-11-22 13:53:15,083 INFO L175 Difference]: Start difference. First operand has 68 places, 60 transitions, 236 flow. Second operand 30 states and 741 transitions. [2024-11-22 13:53:15,083 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 97 places, 448 transitions, 2387 flow [2024-11-22 13:53:15,178 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 96 places, 448 transitions, 2376 flow, removed 4 selfloop flow, removed 1 redundant places. [2024-11-22 13:53:15,183 INFO L231 Difference]: Finished difference. Result has 122 places, 119 transitions, 821 flow [2024-11-22 13:53:15,183 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=229, PETRI_DIFFERENCE_MINUEND_PLACES=67, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=60, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=16, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=42, PETRI_DIFFERENCE_SUBTRAHEND_STATES=30, PETRI_FLOW=821, PETRI_PLACES=122, PETRI_TRANSITIONS=119} [2024-11-22 13:53:15,183 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, 69 predicate places. [2024-11-22 13:53:15,184 INFO L471 AbstractCegarLoop]: Abstraction has has 122 places, 119 transitions, 821 flow [2024-11-22 13:53:15,184 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 17.666666666666668) internal successors, (159), 9 states have internal predecessors, (159), 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-11-22 13:53:15,184 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:15,184 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:15,193 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2024-11-22 13:53:15,385 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:53:15,386 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:15,386 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:15,386 INFO L85 PathProgramCache]: Analyzing trace with hash 615707842, now seen corresponding path program 3 times [2024-11-22 13:53:15,386 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:15,387 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1858541587] [2024-11-22 13:53:15,387 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-22 13:53:15,387 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:15,420 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-22 13:53:15,421 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:53:16,883 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-22 13:53:16,883 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:16,883 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1858541587] [2024-11-22 13:53:16,883 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1858541587] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-22 13:53:16,883 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [93623518] [2024-11-22 13:53:16,884 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-22 13:53:16,884 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:53:16,884 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:53:16,886 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-22 13:53:16,888 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-11-22 13:53:16,968 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-22 13:53:16,969 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:53:16,973 INFO L255 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 43 conjuncts are in the unsatisfiable core [2024-11-22 13:53:16,976 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-22 13:53:17,067 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 1 [2024-11-22 13:53:17,650 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-22 13:53:17,650 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 26 treesize of output 26 [2024-11-22 13:53:17,748 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-22 13:53:17,748 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-22 13:53:18,606 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-22 13:53:18,606 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 152 treesize of output 150 [2024-11-22 13:53:18,620 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-22 13:53:18,621 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 35 treesize of output 31 [2024-11-22 13:53:18,695 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-22 13:53:18,695 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 52 treesize of output 48 [2024-11-22 13:53:18,914 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-22 13:53:18,915 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [93623518] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-22 13:53:18,915 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-22 13:53:18,915 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15, 15] total 41 [2024-11-22 13:53:18,915 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [773745447] [2024-11-22 13:53:18,916 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-22 13:53:18,916 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 42 states [2024-11-22 13:53:18,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:18,917 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2024-11-22 13:53:18,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=214, Invalid=1508, Unknown=0, NotChecked=0, Total=1722 [2024-11-22 13:53:19,727 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 51 [2024-11-22 13:53:19,727 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 122 places, 119 transitions, 821 flow. Second operand has 42 states, 42 states have (on average 15.595238095238095) internal successors, (655), 42 states have internal predecessors, (655), 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-11-22 13:53:19,728 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:19,728 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 51 [2024-11-22 13:53:19,728 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:53:43,179 INFO L124 PetriNetUnfolderBase]: 109528/165040 cut-off events. [2024-11-22 13:53:43,180 INFO L125 PetriNetUnfolderBase]: For 1251782/1263037 co-relation queries the response was YES. [2024-11-22 13:53:44,799 INFO L83 FinitePrefix]: Finished finitePrefix Result has 589331 conditions, 165040 events. 109528/165040 cut-off events. For 1251782/1263037 co-relation queries the response was YES. Maximal size of possible extension queue 5999. Compared 1377628 event pairs, 9187 based on Foata normal form. 1583/157451 useless extension candidates. Maximal degree in co-relation 573987. Up to 27009 conditions per place. [2024-11-22 13:53:45,226 INFO L140 encePairwiseOnDemand]: 33/51 looper letters, 896 selfloop transitions, 253 changer transitions 142/1343 dead transitions. [2024-11-22 13:53:45,226 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 207 places, 1343 transitions, 9924 flow [2024-11-22 13:53:45,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 87 states. [2024-11-22 13:53:45,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2024-11-22 13:53:45,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 2241 transitions. [2024-11-22 13:53:45,232 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5050709939148073 [2024-11-22 13:53:45,232 INFO L175 Difference]: Start difference. First operand has 122 places, 119 transitions, 821 flow. Second operand 87 states and 2241 transitions. [2024-11-22 13:53:45,232 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 207 places, 1343 transitions, 9924 flow [2024-11-22 13:53:58,627 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 201 places, 1343 transitions, 9488 flow, removed 53 selfloop flow, removed 6 redundant places. [2024-11-22 13:53:58,638 INFO L231 Difference]: Finished difference. Result has 254 places, 387 transitions, 2906 flow [2024-11-22 13:53:58,641 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=51, PETRI_DIFFERENCE_MINUEND_FLOW=716, PETRI_DIFFERENCE_MINUEND_PLACES=115, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=119, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=15, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=92, PETRI_DIFFERENCE_SUBTRAHEND_STATES=87, PETRI_FLOW=2906, PETRI_PLACES=254, PETRI_TRANSITIONS=387} [2024-11-22 13:53:58,641 INFO L277 CegarLoopForPetriNet]: 53 programPoint places, 201 predicate places. [2024-11-22 13:53:58,642 INFO L471 AbstractCegarLoop]: Abstraction has has 254 places, 387 transitions, 2906 flow [2024-11-22 13:53:58,642 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 42 states, 42 states have (on average 15.595238095238095) internal successors, (655), 42 states have internal predecessors, (655), 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-11-22 13:53:58,642 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:53:58,642 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:53:58,650 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-11-22 13:53:58,843 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2024-11-22 13:53:58,845 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-22 13:53:58,845 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:53:58,845 INFO L85 PathProgramCache]: Analyzing trace with hash -755598543, now seen corresponding path program 4 times [2024-11-22 13:53:58,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:53:58,845 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [203756823] [2024-11-22 13:53:58,845 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-22 13:53:58,846 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:53:58,866 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-22 13:53:58,867 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:53:58,918 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-22 13:53:58,918 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:53:58,918 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [203756823] [2024-11-22 13:53:58,919 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [203756823] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:53:58,919 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:53:58,919 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-22 13:53:58,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [413340964] [2024-11-22 13:53:58,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:53:58,919 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-22 13:53:58,920 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:53:58,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-22 13:53:58,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2024-11-22 13:53:58,920 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 19 out of 51 [2024-11-22 13:53:58,920 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 254 places, 387 transitions, 2906 flow. Second operand has 4 states, 4 states have (on average 27.0) internal successors, (108), 4 states have internal predecessors, (108), 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-11-22 13:53:58,921 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:53:58,921 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 19 of 51 [2024-11-22 13:53:58,921 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:09,502 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([722] L117-->thread4EXIT: Formula: (and (= |v_thread4Thread1of1ForFork2_#res.offset_1| 0) (= |v_thread4Thread1of1ForFork2_#res.base_1| 0)) InVars {} OutVars{thread4Thread1of1ForFork2_#res.offset=|v_thread4Thread1of1ForFork2_#res.offset_1|, thread4Thread1of1ForFork2_#res.base=|v_thread4Thread1of1ForFork2_#res.base_1|} AuxVars[] AssignedVars[thread4Thread1of1ForFork2_#res.offset, thread4Thread1of1ForFork2_#res.base][340], [30#thread1EXITtrue, 16#L108true, 995#true, 6#thread4EXITtrue, Black: 931#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (= 0 (mod |thread1Thread1of1ForFork1_~cond~0#1| 256)))), Black: 869#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), 10#L143-4true, Black: 851#(and (or (< ~back2~0 0) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~n2~0 1) (= ~v_assert~0 1) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 765#(or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (= (mod ~v_assert~0 256) 0)), Black: 877#(and (= ~queue2~0.offset 0) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (= ~v_assert~0 1) (or (not (= ~front2~0 0)) (and (= ~back2~0 0) (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0))) (<= 1 ~W~0) (or (and (not (= ~back2~0 0)) (or (< ~back2~0 1) (< ~n2~0 2))) (= ~front2~0 0)) (<= ~d2~0 0)), Black: 921#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 803#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 837#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (not (= (+ |thread2Thread1of1ForFork3_~temp~0#1| 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 615#(= ~v_assert~0 1), Black: 927#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1))), Black: 845#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= ~d2~0 (* 2 ~W~0))), Black: 815#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 893#(and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= ~front2~0 0) (<= 1 ~W~0) (= ~d2~0 0) (= 2 (select (select |#memory_int#1| ~queue2~0.base) 0))), Black: 913#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1)), Black: 909#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0))), Black: 791#(and (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (or (and (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 784#(or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (= (mod ~v_assert~0 256) 0) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))), Black: 841#(and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (= ~v_assert~0 1) (= ~n2~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= ~front2~0 0) (<= 1 ~W~0) (= ~d2~0 0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (= 2 (select (select |#memory_int#1| ~queue2~0.base) 0))), Black: 935#(and (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 861#(and (or (= ~back2~0 0) (not (= ~front2~0 0))) (or (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4)) (+ (* 2 ~W~0) 1))) (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (= ~v_assert~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= |thread3Thread1of1ForFork0_~temp~1#1| 2) (<= 1 ~W~0) (= ~d2~0 0) (or (and (not (= ~back2~0 0)) (or (< ~back2~0 1) (< ~n2~0 2))) (= ~front2~0 0))), Black: 811#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), 42#L80true, Black: 809#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 823#(and (= (select (select |#memory_int#1| ~queue1~0.base) (* ~front1~0 4)) 1) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (or (and (= ~d2~0 0) (<= ~front1~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (or (forall ((v_subst_2 Int) (v_subst_1 Int)) (or (< (+ (select (select |#memory_int#1| v_subst_1) (+ (* ~front1~0 4) v_subst_2)) 1) (select (select |#memory_int#1| ~queue2~0.base) (* ~back2~0 4))) (not (= (select (select |#memory_int#1| v_subst_1) (+ (* ~back1~0 4) v_subst_2)) 1)))) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 915#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 885#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (and (= ~front1~0 ~back1~0) (= ~front2~0 ~back2~0)) (< (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| 1) |ULTIMATE.start_create_fresh_int_array_~size#1|) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 907#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1))), Black: 69#(and (<= 1 ~v_assert~0) (<= (div ~v_assert~0 256) 0) (<= ~d2~0 (* 2 ~W~0))), Black: 408#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 821#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 883#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0))), Black: 113#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 879#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 189#(or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0))), Black: 843#(and (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~back2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (* ~back2~0 4))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1))))) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (or (and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 74#(= ~front2~0 ~back2~0), Black: 418#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 425#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 839#(and (<= ~n2~0 1) (= ~v_assert~0 1) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 819#(and (= (select (select |#memory_int#1| ~queue1~0.base) (* ~front1~0 4)) 1) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (or (and (= ~d2~0 0) (<= ~front1~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 385#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), 95#true, Black: 410#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 871#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (and (= ~front1~0 ~back1~0) (= ~front2~0 ~back2~0)) (< (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| 1) |ULTIMATE.start_create_fresh_int_array_~size#1|) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 421#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 897#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0))), Black: 78#(<= ~back1~0 ~front1~0), Black: 430#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 807#(and (= ~v_assert~0 1) (or (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 817#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 415#(and (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 439#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 899#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= 1 ~W~0)), Black: 847#(and (<= ~n2~0 1) (= ~v_assert~0 1) (<= (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4))) 2) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= (+ ~front2~0 1) ~n2~0) (<= 0 ~front2~0) (<= ~d2~0 0)), Black: 437#(and (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 901#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 405#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 829#(and (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (or (and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 805#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 849#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (not (= (+ |thread2Thread1of1ForFork3_~temp~0#1| 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 394#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 443#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 537#(and (<= ~n2~0 1) (= ~v_assert~0 1) (= (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 82#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~0#1| 0)), Black: 827#(and (<= ~n2~0 1) (= ~v_assert~0 1) (or (< ~back2~0 0) (forall ((v_subst_6 Int) (v_subst_5 Int)) (or (not (= (select (select |#memory_int#1| v_subst_6) (+ (* ~back1~0 4) v_subst_5)) 1)) (< (+ (select (select |#memory_int#1| v_subst_6) (+ (* ~front1~0 4) v_subst_5)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 435#(and (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 396#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 933#(and (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (= (mod ~v_assert~0 256) 0)) (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (= (mod ~v_assert~0 256) 0) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0)))), Black: 867#(and (= ~v_assert~0 1) (<= ~d2~0 2) (<= 1 ~W~0)), Black: 400#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 427#(and (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 919#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (= 0 (mod |thread1Thread1of1ForFork1_~cond~0#1| 256)))), Black: 390#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0))), Black: 91#(and (= |ULTIMATE.start_create_fresh_int_array_~i~0#1| 0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 449#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 482#true, Black: 412#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 891#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 388#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 873#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0))), Black: 825#(and (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (forall ((v_subst_4 Int) (v_subst_3 Int)) (or (not (= (select (select |#memory_int#1| v_subst_4) (+ (* ~back1~0 4) v_subst_3)) 1)) (< (+ (select (select |#memory_int#1| v_subst_4) (+ (* ~front1~0 4) v_subst_3)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 453#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 875#(and (= ~v_assert~0 1) (<= ~d2~0 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= 1 ~W~0)), 403#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 101#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 99#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 103#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 97#(or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))), 881#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 2) (<= 1 ~W~0))]) [2024-11-22 13:54:09,505 INFO L294 olderBase$Statistics]: this new event has 46 ancestors and is cut-off event [2024-11-22 13:54:09,505 INFO L297 olderBase$Statistics]: existing Event has 44 ancestors and is cut-off event [2024-11-22 13:54:09,505 INFO L297 olderBase$Statistics]: existing Event has 44 ancestors and is cut-off event [2024-11-22 13:54:09,505 INFO L297 olderBase$Statistics]: existing Event has 44 ancestors and is cut-off event [2024-11-22 13:54:10,127 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([722] L117-->thread4EXIT: Formula: (and (= |v_thread4Thread1of1ForFork2_#res.offset_1| 0) (= |v_thread4Thread1of1ForFork2_#res.base_1| 0)) InVars {} OutVars{thread4Thread1of1ForFork2_#res.offset=|v_thread4Thread1of1ForFork2_#res.offset_1|, thread4Thread1of1ForFork2_#res.base=|v_thread4Thread1of1ForFork2_#res.base_1|} AuxVars[] AssignedVars[thread4Thread1of1ForFork2_#res.offset, thread4Thread1of1ForFork2_#res.base][340], [30#thread1EXITtrue, 16#L108true, 995#true, 6#thread4EXITtrue, Black: 931#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (= 0 (mod |thread1Thread1of1ForFork1_~cond~0#1| 256)))), 10#L143-4true, Black: 869#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 851#(and (or (< ~back2~0 0) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~n2~0 1) (= ~v_assert~0 1) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 765#(or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (= (mod ~v_assert~0 256) 0)), Black: 877#(and (= ~queue2~0.offset 0) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (= ~v_assert~0 1) (or (not (= ~front2~0 0)) (and (= ~back2~0 0) (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0))) (<= 1 ~W~0) (or (and (not (= ~back2~0 0)) (or (< ~back2~0 1) (< ~n2~0 2))) (= ~front2~0 0)) (<= ~d2~0 0)), Black: 921#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 803#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 837#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (not (= (+ |thread2Thread1of1ForFork3_~temp~0#1| 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 615#(= ~v_assert~0 1), Black: 927#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1))), Black: 845#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= ~d2~0 (* 2 ~W~0))), Black: 815#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 893#(and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= ~front2~0 0) (<= 1 ~W~0) (= ~d2~0 0) (= 2 (select (select |#memory_int#1| ~queue2~0.base) 0))), Black: 913#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1)), Black: 909#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0))), Black: 791#(and (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (or (and (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 784#(or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (= (mod ~v_assert~0 256) 0) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))), Black: 841#(and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (= ~v_assert~0 1) (= ~n2~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= ~front2~0 0) (<= 1 ~W~0) (= ~d2~0 0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (= 2 (select (select |#memory_int#1| ~queue2~0.base) 0))), Black: 935#(and (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 861#(and (or (= ~back2~0 0) (not (= ~front2~0 0))) (or (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4)) (+ (* 2 ~W~0) 1))) (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (= ~v_assert~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= |thread3Thread1of1ForFork0_~temp~1#1| 2) (<= 1 ~W~0) (= ~d2~0 0) (or (and (not (= ~back2~0 0)) (or (< ~back2~0 1) (< ~n2~0 2))) (= ~front2~0 0))), Black: 811#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), 42#L80true, Black: 809#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 823#(and (= (select (select |#memory_int#1| ~queue1~0.base) (* ~front1~0 4)) 1) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (or (and (= ~d2~0 0) (<= ~front1~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (or (forall ((v_subst_2 Int) (v_subst_1 Int)) (or (< (+ (select (select |#memory_int#1| v_subst_1) (+ (* ~front1~0 4) v_subst_2)) 1) (select (select |#memory_int#1| ~queue2~0.base) (* ~back2~0 4))) (not (= (select (select |#memory_int#1| v_subst_1) (+ (* ~back1~0 4) v_subst_2)) 1)))) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 915#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 885#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (and (= ~front1~0 ~back1~0) (= ~front2~0 ~back2~0)) (< (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| 1) |ULTIMATE.start_create_fresh_int_array_~size#1|) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 69#(and (<= 1 ~v_assert~0) (<= (div ~v_assert~0 256) 0) (<= ~d2~0 (* 2 ~W~0))), Black: 907#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1))), Black: 408#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 821#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 113#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 883#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0))), Black: 189#(or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0))), Black: 879#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 418#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 74#(= ~front2~0 ~back2~0), Black: 843#(and (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~back2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (* ~back2~0 4))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1))))) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (or (and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 425#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 839#(and (<= ~n2~0 1) (= ~v_assert~0 1) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 819#(and (= (select (select |#memory_int#1| ~queue1~0.base) (* ~front1~0 4)) 1) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (or (and (= ~d2~0 0) (<= ~front1~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), 95#true, Black: 385#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 410#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 871#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (and (= ~front1~0 ~back1~0) (= ~front2~0 ~back2~0)) (< (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| 1) |ULTIMATE.start_create_fresh_int_array_~size#1|) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 78#(<= ~back1~0 ~front1~0), Black: 421#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), 897#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0))), Black: 430#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 807#(and (= ~v_assert~0 1) (or (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 817#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 415#(and (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 439#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 899#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= 1 ~W~0)), Black: 437#(and (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 847#(and (<= ~n2~0 1) (= ~v_assert~0 1) (<= (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4))) 2) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= (+ ~front2~0 1) ~n2~0) (<= 0 ~front2~0) (<= ~d2~0 0)), Black: 405#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 901#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 829#(and (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (or (and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 805#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 394#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 849#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (not (= (+ |thread2Thread1of1ForFork3_~temp~0#1| 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 443#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 537#(and (<= ~n2~0 1) (= ~v_assert~0 1) (= (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 82#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~0#1| 0)), Black: 435#(and (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 827#(and (<= ~n2~0 1) (= ~v_assert~0 1) (or (< ~back2~0 0) (forall ((v_subst_6 Int) (v_subst_5 Int)) (or (not (= (select (select |#memory_int#1| v_subst_6) (+ (* ~back1~0 4) v_subst_5)) 1)) (< (+ (select (select |#memory_int#1| v_subst_6) (+ (* ~front1~0 4) v_subst_5)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 396#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 933#(and (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (= (mod ~v_assert~0 256) 0)) (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (= (mod ~v_assert~0 256) 0) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0)))), Black: 400#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 867#(and (= ~v_assert~0 1) (<= ~d2~0 2) (<= 1 ~W~0)), Black: 427#(and (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 919#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (= 0 (mod |thread1Thread1of1ForFork1_~cond~0#1| 256)))), Black: 390#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0))), Black: 881#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 2) (<= 1 ~W~0)), Black: 91#(and (= |ULTIMATE.start_create_fresh_int_array_~i~0#1| 0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 449#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 482#true, Black: 412#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 891#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 388#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 873#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0))), Black: 453#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 825#(and (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (forall ((v_subst_4 Int) (v_subst_3 Int)) (or (not (= (select (select |#memory_int#1| v_subst_4) (+ (* ~back1~0 4) v_subst_3)) 1)) (< (+ (select (select |#memory_int#1| v_subst_4) (+ (* ~front1~0 4) v_subst_3)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 875#(and (= ~v_assert~0 1) (<= ~d2~0 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= 1 ~W~0)), 403#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 101#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 99#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 103#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 97#(or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)))]) [2024-11-22 13:54:10,128 INFO L294 olderBase$Statistics]: this new event has 47 ancestors and is cut-off event [2024-11-22 13:54:10,128 INFO L297 olderBase$Statistics]: existing Event has 45 ancestors and is cut-off event [2024-11-22 13:54:10,128 INFO L297 olderBase$Statistics]: existing Event has 45 ancestors and is cut-off event [2024-11-22 13:54:10,128 INFO L297 olderBase$Statistics]: existing Event has 45 ancestors and is cut-off event [2024-11-22 13:54:11,290 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([722] L117-->thread4EXIT: Formula: (and (= |v_thread4Thread1of1ForFork2_#res.offset_1| 0) (= |v_thread4Thread1of1ForFork2_#res.base_1| 0)) InVars {} OutVars{thread4Thread1of1ForFork2_#res.offset=|v_thread4Thread1of1ForFork2_#res.offset_1|, thread4Thread1of1ForFork2_#res.base=|v_thread4Thread1of1ForFork2_#res.base_1|} AuxVars[] AssignedVars[thread4Thread1of1ForFork2_#res.offset, thread4Thread1of1ForFork2_#res.base][340], [30#thread1EXITtrue, 16#L108true, 995#true, 6#thread4EXITtrue, Black: 931#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (= 0 (mod |thread1Thread1of1ForFork1_~cond~0#1| 256)))), Black: 869#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 851#(and (or (< ~back2~0 0) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~n2~0 1) (= ~v_assert~0 1) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 765#(or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (= (mod ~v_assert~0 256) 0)), Black: 877#(and (= ~queue2~0.offset 0) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (= ~v_assert~0 1) (or (not (= ~front2~0 0)) (and (= ~back2~0 0) (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0))) (<= 1 ~W~0) (or (and (not (= ~back2~0 0)) (or (< ~back2~0 1) (< ~n2~0 2))) (= ~front2~0 0)) (<= ~d2~0 0)), Black: 921#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 803#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 837#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (not (= (+ |thread2Thread1of1ForFork3_~temp~0#1| 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 615#(= ~v_assert~0 1), Black: 927#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1))), Black: 845#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= ~d2~0 (* 2 ~W~0))), Black: 815#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 893#(and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= ~front2~0 0) (<= 1 ~W~0) (= ~d2~0 0) (= 2 (select (select |#memory_int#1| ~queue2~0.base) 0))), Black: 913#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1)), Black: 909#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0))), Black: 791#(and (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (or (and (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 784#(or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (= (mod ~v_assert~0 256) 0) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))), Black: 841#(and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (= ~v_assert~0 1) (= ~n2~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= ~front2~0 0) (<= 1 ~W~0) (= ~d2~0 0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (= 2 (select (select |#memory_int#1| ~queue2~0.base) 0))), Black: 935#(and (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 861#(and (or (= ~back2~0 0) (not (= ~front2~0 0))) (or (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4)) (+ (* 2 ~W~0) 1))) (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~queue2~0.offset 0) (= ~v_assert~0 1) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (= |thread3Thread1of1ForFork0_~temp~1#1| 2) (<= 1 ~W~0) (= ~d2~0 0) (or (and (not (= ~back2~0 0)) (or (< ~back2~0 1) (< ~n2~0 2))) (= ~front2~0 0))), 42#L80true, Black: 811#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 809#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 823#(and (= (select (select |#memory_int#1| ~queue1~0.base) (* ~front1~0 4)) 1) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (or (and (= ~d2~0 0) (<= ~front1~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (or (forall ((v_subst_2 Int) (v_subst_1 Int)) (or (< (+ (select (select |#memory_int#1| v_subst_1) (+ (* ~front1~0 4) v_subst_2)) 1) (select (select |#memory_int#1| ~queue2~0.base) (* ~back2~0 4))) (not (= (select (select |#memory_int#1| v_subst_1) (+ (* ~back1~0 4) v_subst_2)) 1)))) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 915#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 885#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (and (= ~front1~0 ~back1~0) (= ~front2~0 ~back2~0)) (< (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| 1) |ULTIMATE.start_create_fresh_int_array_~size#1|) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 69#(and (<= 1 ~v_assert~0) (<= (div ~v_assert~0 256) 0) (<= ~d2~0 (* 2 ~W~0))), Black: 907#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1))), Black: 408#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 821#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 113#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 883#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0))), Black: 189#(or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0))), Black: 879#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 74#(= ~front2~0 ~back2~0), Black: 418#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 843#(and (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (* ~front2~0 4))) (+ (* 2 ~W~0) 1)) (< ~back2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (* ~back2~0 4))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1))))) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (or (and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 425#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 839#(and (<= ~n2~0 1) (= ~v_assert~0 1) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), 95#true, Black: 819#(and (= (select (select |#memory_int#1| ~queue1~0.base) (* ~front1~0 4)) 1) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (or (and (= ~d2~0 0) (<= ~front1~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 385#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 410#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 871#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (and (= ~front1~0 ~back1~0) (= ~front2~0 ~back2~0)) (< (+ |ULTIMATE.start_create_fresh_int_array_~i~0#1| 1) |ULTIMATE.start_create_fresh_int_array_~size#1|) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) 3)) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 421#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 897#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0))), Black: 78#(<= ~back1~0 ~front1~0), Black: 430#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 807#(and (= ~v_assert~0 1) (or (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= ~front1~0 ~back1~0) (<= ~d2~0 (* 2 ~W~0)) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 817#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 415#(and (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 439#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 899#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= 1 ~W~0)), Black: 437#(and (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 847#(and (<= ~n2~0 1) (= ~v_assert~0 1) (<= (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4))) 2) (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0)) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= (+ ~front2~0 1) ~n2~0) (<= 0 ~front2~0) (<= ~d2~0 0)), Black: 901#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (<= (+ |thread3Thread1of1ForFork0_~temp~1#1| ~d2~0) (* 2 ~W~0))), Black: 405#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 829#(and (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (or (and (= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~d2~0 0)) (not (= ~front2~0 0))) (<= 1 ~W~0) (exists ((~queue1~0.base Int) (~queue1~0.offset Int) (v_~front1~0_101 Int)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* v_~front1~0_101 4))) 1)) (<= |thread2Thread1of1ForFork3_~temp~0#1| 1) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 805#(and (<= |thread1Thread1of1ForFork1_~w~0#1| ~W~0) (= ~queue2~0.offset 0) (<= ~n2~0 1) (= ~v_assert~0 1) (= ~queue1~0.offset 0) (= ~front1~0 ~back1~0) (<= 1 ~W~0) (or (and (or (< ~back1~0 1) (< ~n1~0 2)) (= ~d2~0 0)) (not (= ~front2~0 0))) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 394#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 849#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (not (= (+ |thread2Thread1of1ForFork3_~temp~0#1| 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 443#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 537#(and (<= ~n2~0 1) (= ~v_assert~0 1) (= (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 82#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~0#1| 0)), Black: 435#(and (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 827#(and (<= ~n2~0 1) (= ~v_assert~0 1) (or (< ~back2~0 0) (forall ((v_subst_6 Int) (v_subst_5 Int)) (or (not (= (select (select |#memory_int#1| v_subst_6) (+ (* ~back1~0 4) v_subst_5)) 1)) (< (+ (select (select |#memory_int#1| v_subst_6) (+ (* ~front1~0 4) v_subst_5)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (= (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (<= 1 ~W~0) (= ~front2~0 ~back2~0) (<= ~d2~0 0)), Black: 933#(and (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (= (mod ~v_assert~0 256) 0)) (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (= (mod ~v_assert~0 256) 0) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0)))), Black: 396#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 400#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 867#(and (= ~v_assert~0 1) (<= ~d2~0 2) (<= 1 ~W~0)), Black: 919#(and (= ~v_assert~0 1) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (= 0 (mod |thread1Thread1of1ForFork1_~cond~0#1| 256)))), Black: 427#(and (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (or (and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)) (and (= |thread2Thread1of1ForFork3_~cond~1#1| 0) (= (mod ~v_assert~0 256) 0)))), Black: 390#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (not (= (mod ~v_assert~0 256) 0))), Black: 91#(and (= |ULTIMATE.start_create_fresh_int_array_~i~0#1| 0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 449#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 482#true, Black: 412#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 891#(and (or (not (= ~back2~0 0)) (= ~front1~0 ~back1~0) (not (= ~front2~0 0))) (<= |thread3Thread1of1ForFork0_~temp~1#1| 2) (= ~v_assert~0 1) (or (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1))) (<= 1 ~W~0) (<= ~d2~0 0)), Black: 388#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 873#(and (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0))), Black: 453#(and (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= 1 (mod |thread3Thread1of1ForFork0_~cond~2#1| 256)) (not (= (mod ~v_assert~0 256) 0)) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 825#(and (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1) (forall ((v_subst_4 Int) (v_subst_3 Int)) (or (not (= (select (select |#memory_int#1| v_subst_4) (+ (* ~back1~0 4) v_subst_3)) 1)) (< (+ (select (select |#memory_int#1| v_subst_4) (+ (* ~front1~0 4) v_subst_3)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset)))))) (= ~v_assert~0 1) (<= ~d2~0 (* 2 ~W~0)) (or (< ~back2~0 0) (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (< ~n2~0 (+ ~front2~0 1)))), Black: 875#(and (= ~v_assert~0 1) (<= ~d2~0 2) (or (< ~back2~0 0) (< ~n2~0 (+ ~back2~0 1)) (< (+ ~d2~0 (select (select |#memory_int#1| ~queue2~0.base) (+ ~queue2~0.offset (* ~front2~0 4)))) (+ (* 2 ~W~0) 1)) (< ~front2~0 0) (forall ((~queue1~0.base Int) (~queue1~0.offset Int)) (or (< (+ (select (select |#memory_int#1| ~queue1~0.base) (+ (* ~front1~0 4) ~queue1~0.offset)) 1) (select (select |#memory_int#1| ~queue2~0.base) (+ (* ~back2~0 4) ~queue2~0.offset))) (not (= (select (select |#memory_int#1| ~queue1~0.base) (+ ~queue1~0.offset (* ~back1~0 4))) 1)))) (< ~n2~0 (+ ~front2~0 1)) (< |thread1Thread1of1ForFork1_~w~0#1| 1)) (<= 1 ~W~0)), 403#(and (= |thread3Thread1of1ForFork0_~cond~2#1| 1) (<= 1 |thread2Thread1of1ForFork3_~cond~1#1|) (<= (div |thread2Thread1of1ForFork3_~cond~1#1| 256) 0)), Black: 101#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), 3#L144true, Black: 99#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1)), Black: 103#(and (not (= (mod ~v_assert~0 256) 0)) (= |thread2Thread1of1ForFork3_~cond~1#1| 1) (= |thread1Thread1of1ForFork1_~cond~0#1| 1)), Black: 97#(or (and (= |thread1Thread1of1ForFork1_~cond~0#1| 0) (= (mod ~v_assert~0 256) 0)) (and (not (= (mod ~v_assert~0 256) 0)) (= |thread1Thread1of1ForFork1_~cond~0#1| 1))), 881#(and (or (not (= ~back2~0 0)) (not (= ~front2~0 0)) (and (= ~front1~0 ~back1~0) (<= ~d2~0 0))) (= ~v_assert~0 1) (<= ~d2~0 2) (<= 1 ~W~0))]) [2024-11-22 13:54:11,291 INFO L294 olderBase$Statistics]: this new event has 47 ancestors and is cut-off event [2024-11-22 13:54:11,291 INFO L297 olderBase$Statistics]: existing Event has 45 ancestors and is cut-off event [2024-11-22 13:54:11,291 INFO L297 olderBase$Statistics]: existing Event has 45 ancestors and is cut-off event [2024-11-22 13:54:11,291 INFO L297 olderBase$Statistics]: existing Event has 45 ancestors and is cut-off event