./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 3061b6dc Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/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-horseshoe.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 ceb2af5016fd0ad74653237fbc44a2b3541e4ff971325e3807dab6f19c05af6d --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.dk.eval-assert-order-craig-3061b6d-m [2024-11-19 01:50:33,863 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-19 01:50:33,916 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-11-19 01:50:33,919 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-19 01:50:33,922 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-19 01:50:33,939 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-19 01:50:33,940 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-19 01:50:33,940 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-19 01:50:33,941 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-19 01:50:33,941 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-19 01:50:33,941 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-19 01:50:33,941 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-19 01:50:33,942 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-19 01:50:33,943 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-19 01:50:33,946 INFO L153 SettingsManager]: * Use SBE=true [2024-11-19 01:50:33,947 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-19 01:50:33,947 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-19 01:50:33,947 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-19 01:50:33,947 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-19 01:50:33,947 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-19 01:50:33,947 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-19 01:50:33,948 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-19 01:50:33,948 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-19 01:50:33,950 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-19 01:50:33,951 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-19 01:50:33,951 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-19 01:50:33,951 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-19 01:50:33,951 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-19 01:50:33,952 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-19 01:50:33,952 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-19 01:50:33,952 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-11-19 01:50:33,952 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-19 01:50:33,952 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-19 01:50:33,952 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-19 01:50:33,952 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-19 01:50:33,953 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-19 01:50:33,953 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-19 01:50:33,953 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-19 01:50:33,953 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-19 01:50:33,953 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-19 01:50:33,953 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-19 01:50:33,955 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-19 01:50:33,955 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 -> ceb2af5016fd0ad74653237fbc44a2b3541e4ff971325e3807dab6f19c05af6d [2024-11-19 01:50:34,160 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-19 01:50:34,178 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-19 01:50:34,181 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-19 01:50:34,182 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-19 01:50:34,182 INFO L274 PluginConnector]: CDTParser initialized [2024-11-19 01:50:34,183 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c [2024-11-19 01:50:35,480 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-19 01:50:35,630 INFO L384 CDTParser]: Found 1 translation units. [2024-11-19 01:50:35,630 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c [2024-11-19 01:50:35,637 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b65059138/8f9f97fcd9834e93bb1075bdd7d03875/FLAGbf1189451 [2024-11-19 01:50:35,647 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b65059138/8f9f97fcd9834e93bb1075bdd7d03875 [2024-11-19 01:50:35,649 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-19 01:50:35,650 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-19 01:50:35,651 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-19 01:50:35,651 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-19 01:50:35,655 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-19 01:50:35,655 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:35,657 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@41d23786 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35, skipping insertion in model container [2024-11-19 01:50:35,657 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:35,678 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-19 01:50:35,893 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-horseshoe.wvr.c[3463,3476] [2024-11-19 01:50:35,901 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 01:50:35,910 INFO L200 MainTranslator]: Completed pre-run [2024-11-19 01:50:35,934 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-horseshoe.wvr.c[3463,3476] [2024-11-19 01:50:35,941 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 01:50:35,961 INFO L204 MainTranslator]: Completed translation [2024-11-19 01:50:35,962 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35 WrapperNode [2024-11-19 01:50:35,962 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-19 01:50:35,963 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-19 01:50:35,964 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-19 01:50:35,964 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-19 01:50:35,969 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:35,975 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,006 INFO L138 Inliner]: procedures = 24, calls = 40, calls flagged for inlining = 16, calls inlined = 18, statements flattened = 239 [2024-11-19 01:50:36,007 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-19 01:50:36,007 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-19 01:50:36,008 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-19 01:50:36,008 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-19 01:50:36,017 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,017 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,024 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,045 INFO L175 MemorySlicer]: Split 9 memory accesses to 2 slices as follows [2, 7]. 78 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-19 01:50:36,045 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,045 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,050 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,054 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,057 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,058 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,062 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-19 01:50:36,065 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-19 01:50:36,065 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-19 01:50:36,065 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-19 01:50:36,066 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (1/1) ... [2024-11-19 01:50:36,070 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-19 01:50:36,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:50:36,093 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-19 01:50:36,096 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-19 01:50:36,135 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-19 01:50:36,136 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-11-19 01:50:36,137 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-11-19 01:50:36,137 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-11-19 01:50:36,137 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-11-19 01:50:36,137 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-11-19 01:50:36,137 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-11-19 01:50:36,137 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-19 01:50:36,138 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-19 01:50:36,138 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-19 01:50:36,138 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-19 01:50:36,138 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-11-19 01:50:36,139 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-11-19 01:50:36,139 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-19 01:50:36,139 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-19 01:50:36,140 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-19 01:50:36,140 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-19 01:50:36,140 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-19 01:50:36,141 WARN L207 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-19 01:50:36,244 INFO L238 CfgBuilder]: Building ICFG [2024-11-19 01:50:36,247 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-19 01:50:36,538 INFO L283 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-19 01:50:36,539 INFO L287 CfgBuilder]: Performing block encoding [2024-11-19 01:50:36,748 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-19 01:50:36,748 INFO L316 CfgBuilder]: Removed 5 assume(true) statements. [2024-11-19 01:50:36,749 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 01:50:36 BoogieIcfgContainer [2024-11-19 01:50:36,749 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-19 01:50:36,752 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-19 01:50:36,752 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-19 01:50:36,755 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-19 01:50:36,755 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 19.11 01:50:35" (1/3) ... [2024-11-19 01:50:36,755 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35447066 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.11 01:50:36, skipping insertion in model container [2024-11-19 01:50:36,756 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:50:35" (2/3) ... [2024-11-19 01:50:36,756 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35447066 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.11 01:50:36, skipping insertion in model container [2024-11-19 01:50:36,756 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 01:50:36" (3/3) ... [2024-11-19 01:50:36,757 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-horseshoe.wvr.c [2024-11-19 01:50:36,770 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-19 01:50:36,770 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-11-19 01:50:36,770 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-19 01:50:36,812 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-11-19 01:50:36,842 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 47 places, 44 transitions, 109 flow [2024-11-19 01:50:36,872 INFO L124 PetriNetUnfolderBase]: 7/41 cut-off events. [2024-11-19 01:50:36,872 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-19 01:50:36,876 INFO L83 FinitePrefix]: Finished finitePrefix Result has 54 conditions, 41 events. 7/41 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 79 event pairs, 0 based on Foata normal form. 0/33 useless extension candidates. Maximal degree in co-relation 33. Up to 2 conditions per place. [2024-11-19 01:50:36,877 INFO L82 GeneralOperation]: Start removeDead. Operand has 47 places, 44 transitions, 109 flow [2024-11-19 01:50:36,880 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 43 places, 40 transitions, 98 flow [2024-11-19 01:50:36,904 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-19 01:50:36,910 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;@1ecfad04, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-19 01:50:36,910 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-11-19 01:50:36,922 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-19 01:50:36,923 INFO L124 PetriNetUnfolderBase]: 7/39 cut-off events. [2024-11-19 01:50:36,923 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-19 01:50:36,923 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:36,924 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] [2024-11-19 01:50:36,924 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 1 more)] === [2024-11-19 01:50:36,928 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:36,928 INFO L85 PathProgramCache]: Analyzing trace with hash -1497833839, now seen corresponding path program 1 times [2024-11-19 01:50:36,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:36,936 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [714720296] [2024-11-19 01:50:36,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:50:36,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:37,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:50:37,126 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-19 01:50:37,126 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:37,126 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [714720296] [2024-11-19 01:50:37,127 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [714720296] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:50:37,127 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:50:37,127 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-19 01:50:37,129 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485009004] [2024-11-19 01:50:37,129 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:50:37,136 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-11-19 01:50:37,140 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:37,159 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-11-19 01:50:37,160 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-11-19 01:50:37,161 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-19 01:50:37,162 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 40 transitions, 98 flow. Second operand has 2 states, 2 states have (on average 24.5) internal successors, (49), 2 states have internal predecessors, (49), 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-19 01:50:37,162 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:37,163 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-19 01:50:37,163 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:37,353 INFO L124 PetriNetUnfolderBase]: 727/1249 cut-off events. [2024-11-19 01:50:37,353 INFO L125 PetriNetUnfolderBase]: For 64/64 co-relation queries the response was YES. [2024-11-19 01:50:37,360 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2343 conditions, 1249 events. 727/1249 cut-off events. For 64/64 co-relation queries the response was YES. Maximal size of possible extension queue 71. Compared 6233 event pairs, 595 based on Foata normal form. 130/1232 useless extension candidates. Maximal degree in co-relation 2178. Up to 991 conditions per place. [2024-11-19 01:50:37,368 INFO L140 encePairwiseOnDemand]: 42/44 looper letters, 28 selfloop transitions, 0 changer transitions 0/38 dead transitions. [2024-11-19 01:50:37,369 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 44 places, 38 transitions, 150 flow [2024-11-19 01:50:37,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-11-19 01:50:37,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2024-11-19 01:50:37,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 56 transitions. [2024-11-19 01:50:37,379 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6363636363636364 [2024-11-19 01:50:37,380 INFO L175 Difference]: Start difference. First operand has 43 places, 40 transitions, 98 flow. Second operand 2 states and 56 transitions. [2024-11-19 01:50:37,381 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 44 places, 38 transitions, 150 flow [2024-11-19 01:50:37,385 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 38 places, 38 transitions, 138 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-11-19 01:50:37,387 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 82 flow [2024-11-19 01:50:37,388 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=82, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=82, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2024-11-19 01:50:37,392 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, -5 predicate places. [2024-11-19 01:50:37,393 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 82 flow [2024-11-19 01:50:37,393 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 24.5) internal successors, (49), 2 states have internal predecessors, (49), 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-19 01:50:37,393 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:37,393 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] [2024-11-19 01:50:37,394 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-19 01:50:37,394 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 1 more)] === [2024-11-19 01:50:37,395 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:37,395 INFO L85 PathProgramCache]: Analyzing trace with hash 1767931675, now seen corresponding path program 1 times [2024-11-19 01:50:37,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:37,395 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [379211676] [2024-11-19 01:50:37,395 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:50:37,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:37,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:50:37,557 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-19 01:50:37,559 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:37,559 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [379211676] [2024-11-19 01:50:37,559 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [379211676] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:50:37,559 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:50:37,560 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-19 01:50:37,560 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [890565160] [2024-11-19 01:50:37,560 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:50:37,561 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-19 01:50:37,561 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:37,563 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-19 01:50:37,563 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-19 01:50:37,563 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-19 01:50:37,563 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 82 flow. Second operand has 3 states, 3 states have (on average 21.0) internal successors, (63), 3 states have internal predecessors, (63), 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-19 01:50:37,564 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:37,564 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-19 01:50:37,564 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:37,714 INFO L124 PetriNetUnfolderBase]: 733/1234 cut-off events. [2024-11-19 01:50:37,715 INFO L125 PetriNetUnfolderBase]: For 12/12 co-relation queries the response was YES. [2024-11-19 01:50:37,717 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2309 conditions, 1234 events. 733/1234 cut-off events. For 12/12 co-relation queries the response was YES. Maximal size of possible extension queue 71. Compared 5933 event pairs, 189 based on Foata normal form. 27/1182 useless extension candidates. Maximal degree in co-relation 2306. Up to 875 conditions per place. [2024-11-19 01:50:37,721 INFO L140 encePairwiseOnDemand]: 40/44 looper letters, 37 selfloop transitions, 3 changer transitions 0/50 dead transitions. [2024-11-19 01:50:37,721 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 50 transitions, 188 flow [2024-11-19 01:50:37,721 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-19 01:50:37,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-19 01:50:37,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2024-11-19 01:50:37,722 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6060606060606061 [2024-11-19 01:50:37,722 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 82 flow. Second operand 3 states and 80 transitions. [2024-11-19 01:50:37,723 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 50 transitions, 188 flow [2024-11-19 01:50:37,723 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 40 places, 50 transitions, 188 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-11-19 01:50:37,724 INFO L231 Difference]: Finished difference. Result has 41 places, 40 transitions, 101 flow [2024-11-19 01:50:37,725 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=82, PETRI_DIFFERENCE_MINUEND_PLACES=38, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=35, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=101, PETRI_PLACES=41, PETRI_TRANSITIONS=40} [2024-11-19 01:50:37,725 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, -2 predicate places. [2024-11-19 01:50:37,727 INFO L471 AbstractCegarLoop]: Abstraction has has 41 places, 40 transitions, 101 flow [2024-11-19 01:50:37,728 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 21.0) internal successors, (63), 3 states have internal predecessors, (63), 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-19 01:50:37,728 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:37,728 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] [2024-11-19 01:50:37,728 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-19 01:50:37,728 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 1 more)] === [2024-11-19 01:50:37,729 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:37,729 INFO L85 PathProgramCache]: Analyzing trace with hash 1846619617, now seen corresponding path program 2 times [2024-11-19 01:50:37,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:37,730 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1767595959] [2024-11-19 01:50:37,731 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 01:50:37,731 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:37,748 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-19 01:50:37,748 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:50:37,802 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-19 01:50:37,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:37,803 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1767595959] [2024-11-19 01:50:37,803 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1767595959] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:50:37,803 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:50:37,803 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-19 01:50:37,804 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [698951595] [2024-11-19 01:50:37,804 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:50:37,804 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-19 01:50:37,804 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:37,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-19 01:50:37,805 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-19 01:50:37,805 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-19 01:50:37,805 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 41 places, 40 transitions, 101 flow. Second operand has 3 states, 3 states have (on average 21.0) internal successors, (63), 3 states have internal predecessors, (63), 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-19 01:50:37,805 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:37,806 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-19 01:50:37,806 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:37,962 INFO L124 PetriNetUnfolderBase]: 663/1213 cut-off events. [2024-11-19 01:50:37,962 INFO L125 PetriNetUnfolderBase]: For 203/205 co-relation queries the response was YES. [2024-11-19 01:50:37,964 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2455 conditions, 1213 events. 663/1213 cut-off events. For 203/205 co-relation queries the response was YES. Maximal size of possible extension queue 54. Compared 5983 event pairs, 248 based on Foata normal form. 26/1147 useless extension candidates. Maximal degree in co-relation 2450. Up to 555 conditions per place. [2024-11-19 01:50:37,968 INFO L140 encePairwiseOnDemand]: 41/44 looper letters, 40 selfloop transitions, 2 changer transitions 0/52 dead transitions. [2024-11-19 01:50:37,968 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 43 places, 52 transitions, 217 flow [2024-11-19 01:50:37,969 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-19 01:50:37,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-19 01:50:37,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2024-11-19 01:50:37,969 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6060606060606061 [2024-11-19 01:50:37,969 INFO L175 Difference]: Start difference. First operand has 41 places, 40 transitions, 101 flow. Second operand 3 states and 80 transitions. [2024-11-19 01:50:37,970 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 43 places, 52 transitions, 217 flow [2024-11-19 01:50:37,970 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 42 places, 52 transitions, 214 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:50:37,971 INFO L231 Difference]: Finished difference. Result has 43 places, 41 transitions, 110 flow [2024-11-19 01:50:37,971 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=98, PETRI_DIFFERENCE_MINUEND_PLACES=40, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=40, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=110, PETRI_PLACES=43, PETRI_TRANSITIONS=41} [2024-11-19 01:50:37,971 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 0 predicate places. [2024-11-19 01:50:37,972 INFO L471 AbstractCegarLoop]: Abstraction has has 43 places, 41 transitions, 110 flow [2024-11-19 01:50:37,972 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 21.0) internal successors, (63), 3 states have internal predecessors, (63), 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-19 01:50:37,972 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:37,972 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] [2024-11-19 01:50:37,972 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-19 01:50:37,974 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 1 more)] === [2024-11-19 01:50:37,974 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:37,974 INFO L85 PathProgramCache]: Analyzing trace with hash 1902711549, now seen corresponding path program 3 times [2024-11-19 01:50:37,975 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:37,975 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [982128387] [2024-11-19 01:50:37,975 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 01:50:37,975 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:38,006 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2024-11-19 01:50:38,006 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:50:38,121 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-19 01:50:38,122 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:38,122 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [982128387] [2024-11-19 01:50:38,122 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [982128387] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:50:38,122 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:50:38,122 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-19 01:50:38,122 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [489773288] [2024-11-19 01:50:38,122 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:50:38,123 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-19 01:50:38,123 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:38,123 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-19 01:50:38,123 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-19 01:50:38,123 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-19 01:50:38,124 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 41 transitions, 110 flow. Second operand has 4 states, 4 states have (on average 19.0) internal successors, (76), 4 states have internal predecessors, (76), 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-19 01:50:38,124 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:38,124 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-19 01:50:38,124 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:38,276 INFO L124 PetriNetUnfolderBase]: 712/1311 cut-off events. [2024-11-19 01:50:38,276 INFO L125 PetriNetUnfolderBase]: For 284/286 co-relation queries the response was YES. [2024-11-19 01:50:38,278 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2784 conditions, 1311 events. 712/1311 cut-off events. For 284/286 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 6460 event pairs, 521 based on Foata normal form. 27/1244 useless extension candidates. Maximal degree in co-relation 2778. Up to 950 conditions per place. [2024-11-19 01:50:38,281 INFO L140 encePairwiseOnDemand]: 37/44 looper letters, 30 selfloop transitions, 2 changer transitions 15/57 dead transitions. [2024-11-19 01:50:38,281 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 47 places, 57 transitions, 239 flow [2024-11-19 01:50:38,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:50:38,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:50:38,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2024-11-19 01:50:38,283 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5045454545454545 [2024-11-19 01:50:38,284 INFO L175 Difference]: Start difference. First operand has 43 places, 41 transitions, 110 flow. Second operand 5 states and 111 transitions. [2024-11-19 01:50:38,285 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 47 places, 57 transitions, 239 flow [2024-11-19 01:50:38,285 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 46 places, 57 transitions, 237 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:50:38,287 INFO L231 Difference]: Finished difference. Result has 49 places, 42 transitions, 128 flow [2024-11-19 01:50:38,287 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=108, PETRI_DIFFERENCE_MINUEND_PLACES=42, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=41, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=128, PETRI_PLACES=49, PETRI_TRANSITIONS=42} [2024-11-19 01:50:38,287 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 6 predicate places. [2024-11-19 01:50:38,288 INFO L471 AbstractCegarLoop]: Abstraction has has 49 places, 42 transitions, 128 flow [2024-11-19 01:50:38,288 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 19.0) internal successors, (76), 4 states have internal predecessors, (76), 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-19 01:50:38,288 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:38,288 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] [2024-11-19 01:50:38,289 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-11-19 01:50:38,289 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 1 more)] === [2024-11-19 01:50:38,289 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:38,289 INFO L85 PathProgramCache]: Analyzing trace with hash -1465505519, now seen corresponding path program 1 times [2024-11-19 01:50:38,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:38,290 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [338096517] [2024-11-19 01:50:38,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:50:38,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:38,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:50:38,371 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:50:38,372 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:38,372 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [338096517] [2024-11-19 01:50:38,372 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [338096517] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:50:38,372 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:50:38,372 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-19 01:50:38,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [131433061] [2024-11-19 01:50:38,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:50:38,372 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-19 01:50:38,373 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:38,373 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-19 01:50:38,373 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-19 01:50:38,373 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-19 01:50:38,374 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 49 places, 42 transitions, 128 flow. Second operand has 4 states, 4 states have (on average 19.25) internal successors, (77), 4 states have internal predecessors, (77), 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-19 01:50:38,374 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:38,374 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-19 01:50:38,374 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:38,533 INFO L124 PetriNetUnfolderBase]: 905/1634 cut-off events. [2024-11-19 01:50:38,534 INFO L125 PetriNetUnfolderBase]: For 471/475 co-relation queries the response was YES. [2024-11-19 01:50:38,536 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3561 conditions, 1634 events. 905/1634 cut-off events. For 471/475 co-relation queries the response was YES. Maximal size of possible extension queue 69. Compared 8428 event pairs, 676 based on Foata normal form. 32/1572 useless extension candidates. Maximal degree in co-relation 3552. Up to 948 conditions per place. [2024-11-19 01:50:38,540 INFO L140 encePairwiseOnDemand]: 38/44 looper letters, 29 selfloop transitions, 4 changer transitions 19/62 dead transitions. [2024-11-19 01:50:38,540 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 62 transitions, 294 flow [2024-11-19 01:50:38,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:50:38,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:50:38,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2024-11-19 01:50:38,542 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5136363636363637 [2024-11-19 01:50:38,542 INFO L175 Difference]: Start difference. First operand has 49 places, 42 transitions, 128 flow. Second operand 5 states and 113 transitions. [2024-11-19 01:50:38,542 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 62 transitions, 294 flow [2024-11-19 01:50:38,543 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 62 transitions, 274 flow, removed 9 selfloop flow, removed 3 redundant places. [2024-11-19 01:50:38,546 INFO L231 Difference]: Finished difference. Result has 50 places, 43 transitions, 136 flow [2024-11-19 01:50:38,546 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=116, PETRI_DIFFERENCE_MINUEND_PLACES=44, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=136, PETRI_PLACES=50, PETRI_TRANSITIONS=43} [2024-11-19 01:50:38,547 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 7 predicate places. [2024-11-19 01:50:38,548 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 43 transitions, 136 flow [2024-11-19 01:50:38,549 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 19.25) internal successors, (77), 4 states have internal predecessors, (77), 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-19 01:50:38,549 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:38,549 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-19 01:50:38,549 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-11-19 01:50:38,549 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 1 more)] === [2024-11-19 01:50:38,549 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:38,550 INFO L85 PathProgramCache]: Analyzing trace with hash -2091232520, now seen corresponding path program 1 times [2024-11-19 01:50:38,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:38,550 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [34127813] [2024-11-19 01:50:38,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:50:38,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:38,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:50:39,934 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-19 01:50:39,935 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:39,935 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [34127813] [2024-11-19 01:50:39,935 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [34127813] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:50:39,935 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1967515798] [2024-11-19 01:50:39,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:50:39,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:50:39,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:50:39,937 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-19 01:50:39,939 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-19 01:50:40,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:50:40,020 INFO L255 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 39 conjuncts are in the unsatisfiable core [2024-11-19 01:50:40,024 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:50:40,165 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-19 01:50:40,685 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:50:40,685 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:50:41,311 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-19 01:50:41,312 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 194 treesize of output 188 [2024-11-19 01:50:41,364 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-19 01:50:41,364 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-19 01:50:41,427 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-19 01:50:41,427 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 153 treesize of output 125 [2024-11-19 01:50:41,840 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:50:41,840 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1967515798] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 01:50:41,841 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 01:50:41,841 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12, 12] total 35 [2024-11-19 01:50:41,842 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1516247925] [2024-11-19 01:50:41,842 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 01:50:41,843 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2024-11-19 01:50:41,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:41,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2024-11-19 01:50:41,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=1149, Unknown=0, NotChecked=0, Total=1260 [2024-11-19 01:50:41,994 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 44 [2024-11-19 01:50:41,994 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 43 transitions, 136 flow. Second operand has 36 states, 36 states have (on average 9.38888888888889) internal successors, (338), 36 states have internal predecessors, (338), 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-19 01:50:41,995 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:41,995 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 44 [2024-11-19 01:50:41,995 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:46,783 INFO L124 PetriNetUnfolderBase]: 4005/6304 cut-off events. [2024-11-19 01:50:46,783 INFO L125 PetriNetUnfolderBase]: For 1326/1330 co-relation queries the response was YES. [2024-11-19 01:50:46,791 INFO L83 FinitePrefix]: Finished finitePrefix Result has 13845 conditions, 6304 events. 4005/6304 cut-off events. For 1326/1330 co-relation queries the response was YES. Maximal size of possible extension queue 275. Compared 34270 event pairs, 199 based on Foata normal form. 4/5915 useless extension candidates. Maximal degree in co-relation 13836. Up to 1679 conditions per place. [2024-11-19 01:50:46,841 INFO L140 encePairwiseOnDemand]: 28/44 looper letters, 330 selfloop transitions, 97 changer transitions 4/435 dead transitions. [2024-11-19 01:50:46,841 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 95 places, 435 transitions, 2022 flow [2024-11-19 01:50:46,842 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2024-11-19 01:50:46,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2024-11-19 01:50:46,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 755 transitions. [2024-11-19 01:50:46,844 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.3730237154150198 [2024-11-19 01:50:46,845 INFO L175 Difference]: Start difference. First operand has 50 places, 43 transitions, 136 flow. Second operand 46 states and 755 transitions. [2024-11-19 01:50:46,845 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 95 places, 435 transitions, 2022 flow [2024-11-19 01:50:46,851 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 92 places, 435 transitions, 2004 flow, removed 5 selfloop flow, removed 3 redundant places. [2024-11-19 01:50:46,855 INFO L231 Difference]: Finished difference. Result has 102 places, 140 transitions, 751 flow [2024-11-19 01:50:46,855 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=126, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=43, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=15, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=23, PETRI_DIFFERENCE_SUBTRAHEND_STATES=46, PETRI_FLOW=751, PETRI_PLACES=102, PETRI_TRANSITIONS=140} [2024-11-19 01:50:46,857 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 59 predicate places. [2024-11-19 01:50:46,857 INFO L471 AbstractCegarLoop]: Abstraction has has 102 places, 140 transitions, 751 flow [2024-11-19 01:50:46,858 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 9.38888888888889) internal successors, (338), 36 states have internal predecessors, (338), 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-19 01:50:46,858 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:46,858 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-19 01:50:46,872 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-19 01:50:47,062 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2024-11-19 01:50:47,063 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 1 more)] === [2024-11-19 01:50:47,063 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:47,064 INFO L85 PathProgramCache]: Analyzing trace with hash 188674062, now seen corresponding path program 2 times [2024-11-19 01:50:47,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:47,064 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [693223842] [2024-11-19 01:50:47,064 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 01:50:47,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:47,101 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-19 01:50:47,102 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:50:47,320 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:50:47,320 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:47,320 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [693223842] [2024-11-19 01:50:47,320 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [693223842] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:50:47,320 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:50:47,320 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2024-11-19 01:50:47,321 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [826526875] [2024-11-19 01:50:47,321 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:50:47,321 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2024-11-19 01:50:47,321 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:47,321 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-11-19 01:50:47,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2024-11-19 01:50:47,352 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 44 [2024-11-19 01:50:47,353 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 102 places, 140 transitions, 751 flow. Second operand has 10 states, 10 states have (on average 11.9) internal successors, (119), 10 states have internal predecessors, (119), 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-19 01:50:47,353 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:47,353 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 44 [2024-11-19 01:50:47,353 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:47,971 INFO L124 PetriNetUnfolderBase]: 3354/5668 cut-off events. [2024-11-19 01:50:47,971 INFO L125 PetriNetUnfolderBase]: For 6592/6596 co-relation queries the response was YES. [2024-11-19 01:50:47,983 INFO L83 FinitePrefix]: Finished finitePrefix Result has 15831 conditions, 5668 events. 3354/5668 cut-off events. For 6592/6596 co-relation queries the response was YES. Maximal size of possible extension queue 248. Compared 33907 event pairs, 881 based on Foata normal form. 96/5747 useless extension candidates. Maximal degree in co-relation 15813. Up to 3392 conditions per place. [2024-11-19 01:50:48,009 INFO L140 encePairwiseOnDemand]: 35/44 looper letters, 130 selfloop transitions, 31 changer transitions 2/171 dead transitions. [2024-11-19 01:50:48,010 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 101 places, 171 transitions, 1117 flow [2024-11-19 01:50:48,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-19 01:50:48,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2024-11-19 01:50:48,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2024-11-19 01:50:48,011 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4630681818181818 [2024-11-19 01:50:48,011 INFO L175 Difference]: Start difference. First operand has 102 places, 140 transitions, 751 flow. Second operand 8 states and 163 transitions. [2024-11-19 01:50:48,011 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 101 places, 171 transitions, 1117 flow [2024-11-19 01:50:48,036 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 95 places, 171 transitions, 1005 flow, removed 45 selfloop flow, removed 6 redundant places. [2024-11-19 01:50:48,039 INFO L231 Difference]: Finished difference. Result has 100 places, 120 transitions, 679 flow [2024-11-19 01:50:48,039 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=482, PETRI_DIFFERENCE_MINUEND_PLACES=88, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=109, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=22, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=80, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=679, PETRI_PLACES=100, PETRI_TRANSITIONS=120} [2024-11-19 01:50:48,039 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 57 predicate places. [2024-11-19 01:50:48,039 INFO L471 AbstractCegarLoop]: Abstraction has has 100 places, 120 transitions, 679 flow [2024-11-19 01:50:48,040 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 11.9) internal successors, (119), 10 states have internal predecessors, (119), 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-19 01:50:48,040 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:48,040 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] [2024-11-19 01:50:48,040 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-11-19 01:50:48,040 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 1 more)] === [2024-11-19 01:50:48,041 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:48,041 INFO L85 PathProgramCache]: Analyzing trace with hash -295622918, now seen corresponding path program 1 times [2024-11-19 01:50:48,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:48,041 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [715213505] [2024-11-19 01:50:48,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:50:48,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:48,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:50:48,164 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:50:48,165 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:48,165 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [715213505] [2024-11-19 01:50:48,165 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [715213505] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:50:48,165 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1533568362] [2024-11-19 01:50:48,165 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:50:48,166 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:50:48,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:50:48,167 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-19 01:50:48,168 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-19 01:50:48,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:50:48,242 INFO L255 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 8 conjuncts are in the unsatisfiable core [2024-11-19 01:50:48,244 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:50:48,286 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:50:48,286 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:50:48,338 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:50:48,338 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1533568362] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 01:50:48,338 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 01:50:48,338 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-11-19 01:50:48,339 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1720131455] [2024-11-19 01:50:48,339 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 01:50:48,339 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-11-19 01:50:48,339 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:48,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-19 01:50:48,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2024-11-19 01:50:48,340 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-19 01:50:48,340 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 100 places, 120 transitions, 679 flow. Second operand has 12 states, 12 states have (on average 16.5) internal successors, (198), 12 states have internal predecessors, (198), 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-19 01:50:48,340 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:48,340 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-19 01:50:48,340 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:48,828 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([712] L88-->L92: Formula: (and (not (= (ite (and (< v_~q2_front~0_81 v_~q2_back~0_90) (< v_~q2_front~0_81 v_~n2~0_56) (<= 0 v_~q2_front~0_81)) 1 0) 0)) (= (select (select |v_#memory_int#1_82| v_~q2~0.base_79) (+ v_~q2~0.offset_79 (* 4 v_~q2_front~0_81))) |v_thread3Thread1of1ForFork1_~k~0#1_3|) (= (+ v_~q2_front~0_81 1) v_~q2_front~0_80)) InVars {~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, ~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} OutVars{thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thread3Thread1of1ForFork1_#t~mem10#1=|v_thread3Thread1of1ForFork1_#t~mem10#1_1|, ~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, thread3Thread1of1ForFork1_#t~post11#1=|v_thread3Thread1of1ForFork1_#t~post11#1_1|, ~q2_front~0=v_~q2_front~0_80, ~q2~0.base=v_~q2~0.base_79, thread3Thread1of1ForFork1_~k~0#1=|v_thread3Thread1of1ForFork1_~k~0#1_3|, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thread3Thread1of1ForFork1_#t~mem10#1, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1, thread3Thread1of1ForFork1_#t~post11#1, ~q2_front~0, thread3Thread1of1ForFork1_~k~0#1][109], [Black: 378#(and (= (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4))) 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), Black: 381#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 382#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 380#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0) (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) 0)), Black: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), Black: 379#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~q2_back~0 ~q2_front~0) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) 0)) (and (= ~t~0 0) (= ~s~0 0)))), 50#true, Black: 308#(and (<= ~n2~0 1) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 1) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~q1_back~0 ~q1_front~0) (= ~q2_back~0 ~q2_front~0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 336#(and (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0)), Black: 338#(and (= (+ ~t~0 1) 0) (= ~s~0 0) (not (= |thread3Thread1of1ForFork1_~k~0#1| 0))), 10#L122-1true, 34#L65-2true, Black: 320#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0)))), Black: 328#(and (exists ((v_~q1_front~0_100 Int) (v_subst_9 Int) (v_subst_10 Int)) (= (select (select |#memory_int#1| v_subst_10) (+ (* v_~q1_front~0_100 4) v_subst_9)) 0)) (or (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0)) (<= 0 |thread2Thread1of1ForFork0_~j~0#1|) (= ~t~0 0) (= 0 ~q2_front~0) (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset) 1)) (= |thread2Thread1of1ForFork0_~j~0#1| ~s~0) (or (forall ((v_subst_8 Int) (v_subst_7 Int)) (or (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_front~0 4) v_subst_7))) (not (= (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_back~0 4) v_subst_7)) 0)))) (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0))), 27#L92true, Black: 91#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 234#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), 390#true, Black: 340#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 54#(<= ~q1_back~0 ~q1_front~0), 301#(or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))), 375#true]) [2024-11-19 01:50:48,828 INFO L294 olderBase$Statistics]: this new event has 34 ancestors and is cut-off event [2024-11-19 01:50:48,828 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-11-19 01:50:48,828 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-11-19 01:50:48,829 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-11-19 01:50:48,858 INFO L124 PetriNetUnfolderBase]: 3488/6915 cut-off events. [2024-11-19 01:50:48,859 INFO L125 PetriNetUnfolderBase]: For 10397/10460 co-relation queries the response was YES. [2024-11-19 01:50:48,875 INFO L83 FinitePrefix]: Finished finitePrefix Result has 18551 conditions, 6915 events. 3488/6915 cut-off events. For 10397/10460 co-relation queries the response was YES. Maximal size of possible extension queue 354. Compared 52618 event pairs, 1949 based on Foata normal form. 282/7047 useless extension candidates. Maximal degree in co-relation 18530. Up to 2907 conditions per place. [2024-11-19 01:50:48,890 INFO L140 encePairwiseOnDemand]: 38/44 looper letters, 113 selfloop transitions, 8 changer transitions 9/171 dead transitions. [2024-11-19 01:50:48,890 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 106 places, 171 transitions, 1170 flow [2024-11-19 01:50:48,891 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-19 01:50:48,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2024-11-19 01:50:48,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 157 transitions. [2024-11-19 01:50:48,891 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5097402597402597 [2024-11-19 01:50:48,892 INFO L175 Difference]: Start difference. First operand has 100 places, 120 transitions, 679 flow. Second operand 7 states and 157 transitions. [2024-11-19 01:50:48,892 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 106 places, 171 transitions, 1170 flow [2024-11-19 01:50:48,933 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 104 places, 171 transitions, 1148 flow, removed 4 selfloop flow, removed 2 redundant places. [2024-11-19 01:50:48,935 INFO L231 Difference]: Finished difference. Result has 107 places, 121 transitions, 720 flow [2024-11-19 01:50:48,935 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=664, PETRI_DIFFERENCE_MINUEND_PLACES=98, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=120, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=112, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=720, PETRI_PLACES=107, PETRI_TRANSITIONS=121} [2024-11-19 01:50:48,936 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 64 predicate places. [2024-11-19 01:50:48,936 INFO L471 AbstractCegarLoop]: Abstraction has has 107 places, 121 transitions, 720 flow [2024-11-19 01:50:48,936 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 16.5) internal successors, (198), 12 states have internal predecessors, (198), 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-19 01:50:48,937 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:50:48,937 INFO L204 CegarLoopForPetriNet]: trace histogram [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] [2024-11-19 01:50:48,950 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-19 01:50:49,137 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-19 01:50:49,138 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 1 more)] === [2024-11-19 01:50:49,138 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:50:49,138 INFO L85 PathProgramCache]: Analyzing trace with hash 1105036102, now seen corresponding path program 2 times [2024-11-19 01:50:49,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:50:49,138 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1875426615] [2024-11-19 01:50:49,138 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 01:50:49,138 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:50:49,213 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:50:49,214 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:50:49,478 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-19 01:50:49,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:50:49,478 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1875426615] [2024-11-19 01:50:49,478 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1875426615] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:50:49,478 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [38520008] [2024-11-19 01:50:49,478 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 01:50:49,479 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:50:49,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:50:49,480 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:50:49,480 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-11-19 01:50:49,564 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:50:49,564 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:50:49,566 INFO L255 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-11-19 01:50:49,568 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:50:50,259 INFO L349 Elim1Store]: treesize reduction 25, result has 49.0 percent of original size [2024-11-19 01:50:50,260 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 47 treesize of output 38 [2024-11-19 01:50:50,326 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-19 01:50:50,326 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:50:50,808 INFO L349 Elim1Store]: treesize reduction 9, result has 90.3 percent of original size [2024-11-19 01:50:50,809 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 75 treesize of output 110 [2024-11-19 01:50:51,057 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-19 01:50:51,058 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [38520008] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 01:50:51,058 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 01:50:51,058 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 12, 13] total 31 [2024-11-19 01:50:51,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1689038321] [2024-11-19 01:50:51,059 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 01:50:51,059 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2024-11-19 01:50:51,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:50:51,060 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2024-11-19 01:50:51,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=852, Unknown=0, NotChecked=0, Total=992 [2024-11-19 01:50:51,115 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 44 [2024-11-19 01:50:51,115 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 107 places, 121 transitions, 720 flow. Second operand has 32 states, 32 states have (on average 10.96875) internal successors, (351), 32 states have internal predecessors, (351), 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-19 01:50:51,116 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:50:51,116 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 44 [2024-11-19 01:50:51,116 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:50:57,145 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-11-19 01:51:02,082 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-11-19 01:51:07,989 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-11-19 01:51:10,566 INFO L124 PetriNetUnfolderBase]: 23440/37414 cut-off events. [2024-11-19 01:51:10,566 INFO L125 PetriNetUnfolderBase]: For 73807/74067 co-relation queries the response was YES. [2024-11-19 01:51:10,673 INFO L83 FinitePrefix]: Finished finitePrefix Result has 114617 conditions, 37414 events. 23440/37414 cut-off events. For 73807/74067 co-relation queries the response was YES. Maximal size of possible extension queue 1356. Compared 276283 event pairs, 2454 based on Foata normal form. 565/37936 useless extension candidates. Maximal degree in co-relation 114593. Up to 5933 conditions per place. [2024-11-19 01:51:10,790 INFO L140 encePairwiseOnDemand]: 27/44 looper letters, 851 selfloop transitions, 358 changer transitions 3/1218 dead transitions. [2024-11-19 01:51:10,790 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 174 places, 1218 transitions, 8637 flow [2024-11-19 01:51:10,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2024-11-19 01:51:10,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2024-11-19 01:51:10,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 1403 transitions. [2024-11-19 01:51:10,794 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.46891711229946526 [2024-11-19 01:51:10,794 INFO L175 Difference]: Start difference. First operand has 107 places, 121 transitions, 720 flow. Second operand 68 states and 1403 transitions. [2024-11-19 01:51:10,794 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 174 places, 1218 transitions, 8637 flow [2024-11-19 01:51:11,129 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 170 places, 1218 transitions, 8240 flow, removed 194 selfloop flow, removed 4 redundant places. [2024-11-19 01:51:11,137 INFO L231 Difference]: Finished difference. Result has 221 places, 546 transitions, 5366 flow [2024-11-19 01:51:11,137 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=691, PETRI_DIFFERENCE_MINUEND_PLACES=103, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=121, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=30, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=53, PETRI_DIFFERENCE_SUBTRAHEND_STATES=68, PETRI_FLOW=5366, PETRI_PLACES=221, PETRI_TRANSITIONS=546} [2024-11-19 01:51:11,138 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 178 predicate places. [2024-11-19 01:51:11,138 INFO L471 AbstractCegarLoop]: Abstraction has has 221 places, 546 transitions, 5366 flow [2024-11-19 01:51:11,138 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 10.96875) internal successors, (351), 32 states have internal predecessors, (351), 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-19 01:51:11,138 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:51:11,139 INFO L204 CegarLoopForPetriNet]: trace histogram [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] [2024-11-19 01:51:11,151 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-11-19 01:51:11,339 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:51:11,339 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:51:11,339 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:51:11,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1029471510, now seen corresponding path program 1 times [2024-11-19 01:51:11,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:51:11,341 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [837875065] [2024-11-19 01:51:11,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:51:11,342 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:51:11,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:51:11,435 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:51:11,435 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:51:11,435 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [837875065] [2024-11-19 01:51:11,435 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [837875065] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:51:11,436 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2082130020] [2024-11-19 01:51:11,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:51:11,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:51:11,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:51:11,437 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:51:11,438 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-11-19 01:51:11,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:51:11,506 INFO L255 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-19 01:51:11,507 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:51:11,548 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-11-19 01:51:11,549 INFO L307 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-11-19 01:51:11,549 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2082130020] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:51:11,549 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-11-19 01:51:11,549 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [6] total 8 [2024-11-19 01:51:11,550 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1248698746] [2024-11-19 01:51:11,550 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:51:11,550 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-19 01:51:11,550 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:51:11,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-19 01:51:11,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2024-11-19 01:51:11,551 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-19 01:51:11,551 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 221 places, 546 transitions, 5366 flow. Second operand has 4 states, 4 states have (on average 19.75) internal successors, (79), 4 states have internal predecessors, (79), 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-19 01:51:11,551 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:51:11,551 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-19 01:51:11,551 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:51:16,598 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([712] L88-->L92: Formula: (and (not (= (ite (and (< v_~q2_front~0_81 v_~q2_back~0_90) (< v_~q2_front~0_81 v_~n2~0_56) (<= 0 v_~q2_front~0_81)) 1 0) 0)) (= (select (select |v_#memory_int#1_82| v_~q2~0.base_79) (+ v_~q2~0.offset_79 (* 4 v_~q2_front~0_81))) |v_thread3Thread1of1ForFork1_~k~0#1_3|) (= (+ v_~q2_front~0_81 1) v_~q2_front~0_80)) InVars {~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, ~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} OutVars{thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thread3Thread1of1ForFork1_#t~mem10#1=|v_thread3Thread1of1ForFork1_#t~mem10#1_1|, ~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, thread3Thread1of1ForFork1_#t~post11#1=|v_thread3Thread1of1ForFork1_#t~post11#1_1|, ~q2_front~0=v_~q2_front~0_80, ~q2~0.base=v_~q2~0.base_79, thread3Thread1of1ForFork1_~k~0#1=|v_thread3Thread1of1ForFork1_~k~0#1_3|, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thread3Thread1of1ForFork1_#t~mem10#1, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1, thread3Thread1of1ForFork1_#t~post11#1, ~q2_front~0, thread3Thread1of1ForFork1_~k~0#1][509], [Black: 764#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 751#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 378#(and (= (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4))) 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), Black: 381#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 922#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (forall ((v_subst_37 Int)) (or (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_37)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_37 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 382#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 886#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 380#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0) (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) 0)), Black: 379#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~q2_back~0 ~q2_front~0) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) 0)) (and (= ~t~0 0) (= ~s~0 0)))), 6#L121-4true, 27#L92true, Black: 54#(<= ~q1_back~0 ~q1_front~0), 301#(or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))), 12#thread1EXITtrue, Black: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), 50#true, Black: 910#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (exists ((v_~q1_front~0_102 Int) (v_subst_33 Int) (v_subst_32 Int) (v_~q1_back~0_144 Int)) (and (= (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_144 4) v_subst_32)) 2) (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 888#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 906#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (exists ((v_~q1_front~0_102 Int) (v_subst_29 Int) (v_subst_30 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_144 4) v_subst_29)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 970#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 948#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 882#(and (<= ~q1_front~0 ~q1_back~0) (or (forall ((~q2~0.offset Int)) (or (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))) (= (+ 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) |thread2Thread1of1ForFork0_~j~0#1|))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 936#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_40 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_40))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_40 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((v_subst_39 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_39)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) ~s~0)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1)))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 781#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 902#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 799#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 944#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 940#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (forall ((v_subst_41 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_41)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_41 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 964#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 884#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (exists ((v_subst_15 Int) (v_~q1_front~0_102 Int) (v_subst_16 Int) (v_~q1_back~0_144 Int)) (and (<= 0 v_~q1_front~0_102) (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_102 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_144 4) v_subst_15)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144) (<= (+ v_~q1_front~0_102 1) ~n1~0) (<= (+ v_~q1_back~0_144 1) ~q1_back~0))) (<= ~n1~0 2) (= ~s~0 0)), 375#true, Black: 904#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_28 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_28)) 2) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_28 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 617#true, Black: 926#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 916#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 938#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 966#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 900#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (exists ((v_subst_26 Int) (v_~q1_front~0_102 Int) (v_subst_27 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_144 4) v_subst_26)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 613#(and (<= ~n1~0 1) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1))), Black: 958#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 394#(<= ~n1~0 1), Black: 914#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (exists ((v_subst_36 Int) (v_subst_35 Int) (v_~q1_front~0_102 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= 2 (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_144 4) v_subst_35))) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 934#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_38 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_38))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_38 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 954#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 872#(and (<= ~q1_front~0 ~q1_back~0) (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 2) (= ~t~0 0) (or (< ~q1_front~0 0) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 898#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_25 Int)) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_25 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)) (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_25)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 894#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 920#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 942#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1)))), Black: 308#(and (<= ~n2~0 1) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 1) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~q1_back~0 ~q1_front~0) (= ~q2_back~0 ~q2_front~0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 821#(or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))))) (< ~n1~0 (+ ~q1_back~0 1))), Black: 336#(and (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0)), Black: 878#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 956#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_45 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_45)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_45 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 320#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0)))), Black: 918#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 328#(and (exists ((v_~q1_front~0_100 Int) (v_subst_9 Int) (v_subst_10 Int)) (= (select (select |#memory_int#1| v_subst_10) (+ (* v_~q1_front~0_100 4) v_subst_9)) 0)) (or (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0)) (<= 0 |thread2Thread1of1ForFork0_~j~0#1|) (= ~t~0 0) (= 0 ~q2_front~0) (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset) 1)) (= |thread2Thread1of1ForFork0_~j~0#1| ~s~0) (or (forall ((v_subst_8 Int) (v_subst_7 Int)) (or (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_front~0 4) v_subst_7))) (not (= (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_back~0 4) v_subst_7)) 0)))) (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0))), Black: 777#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 896#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 91#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 234#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 624#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), 1028#true, Black: 340#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 930#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 788#(or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 928#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 792#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 874#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 2)) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), 13#L77true, Black: 834#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 976#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 932#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (+ (* 2 ~t~0) 2) ~s~0) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 908#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (forall ((v_subst_31 Int)) (or (= (+ (* 2 ~t~0) 2 (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_31)))) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_31 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 950#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)))]) [2024-11-19 01:51:16,601 INFO L294 olderBase$Statistics]: this new event has 41 ancestors and is cut-off event [2024-11-19 01:51:16,601 INFO L297 olderBase$Statistics]: existing Event has 41 ancestors and is cut-off event [2024-11-19 01:51:16,601 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-11-19 01:51:16,601 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-11-19 01:51:16,611 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([712] L88-->L92: Formula: (and (not (= (ite (and (< v_~q2_front~0_81 v_~q2_back~0_90) (< v_~q2_front~0_81 v_~n2~0_56) (<= 0 v_~q2_front~0_81)) 1 0) 0)) (= (select (select |v_#memory_int#1_82| v_~q2~0.base_79) (+ v_~q2~0.offset_79 (* 4 v_~q2_front~0_81))) |v_thread3Thread1of1ForFork1_~k~0#1_3|) (= (+ v_~q2_front~0_81 1) v_~q2_front~0_80)) InVars {~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, ~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} OutVars{thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thread3Thread1of1ForFork1_#t~mem10#1=|v_thread3Thread1of1ForFork1_#t~mem10#1_1|, ~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, thread3Thread1of1ForFork1_#t~post11#1=|v_thread3Thread1of1ForFork1_#t~post11#1_1|, ~q2_front~0=v_~q2_front~0_80, ~q2~0.base=v_~q2~0.base_79, thread3Thread1of1ForFork1_~k~0#1=|v_thread3Thread1of1ForFork1_~k~0#1_3|, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thread3Thread1of1ForFork1_#t~mem10#1, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1, thread3Thread1of1ForFork1_#t~post11#1, ~q2_front~0, thread3Thread1of1ForFork1_~k~0#1][539], [Black: 764#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 751#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 378#(and (= (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4))) 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), Black: 381#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 922#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (forall ((v_subst_37 Int)) (or (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_37)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_37 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 886#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 382#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 380#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0) (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) 0)), Black: 379#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~q2_back~0 ~q2_front~0) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) 0)) (and (= ~t~0 0) (= ~s~0 0)))), 6#L121-4true, 27#L92true, Black: 54#(<= ~q1_back~0 ~q1_front~0), 301#(or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))), 12#thread1EXITtrue, Black: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), 50#true, Black: 910#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (exists ((v_~q1_front~0_102 Int) (v_subst_33 Int) (v_subst_32 Int) (v_~q1_back~0_144 Int)) (and (= (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_144 4) v_subst_32)) 2) (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 888#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 906#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (exists ((v_~q1_front~0_102 Int) (v_subst_29 Int) (v_subst_30 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_144 4) v_subst_29)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 970#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 948#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 882#(and (<= ~q1_front~0 ~q1_back~0) (or (forall ((~q2~0.offset Int)) (or (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))) (= (+ 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) |thread2Thread1of1ForFork0_~j~0#1|))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 936#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_40 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_40))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_40 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((v_subst_39 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_39)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) ~s~0)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1)))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 781#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 902#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 799#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 944#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 940#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (forall ((v_subst_41 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_41)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_41 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 964#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 884#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (exists ((v_subst_15 Int) (v_~q1_front~0_102 Int) (v_subst_16 Int) (v_~q1_back~0_144 Int)) (and (<= 0 v_~q1_front~0_102) (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_102 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_144 4) v_subst_15)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144) (<= (+ v_~q1_front~0_102 1) ~n1~0) (<= (+ v_~q1_back~0_144 1) ~q1_back~0))) (<= ~n1~0 2) (= ~s~0 0)), 375#true, Black: 904#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_28 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_28)) 2) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_28 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 617#true, Black: 926#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 916#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 938#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 966#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 900#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (exists ((v_subst_26 Int) (v_~q1_front~0_102 Int) (v_subst_27 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_144 4) v_subst_26)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 613#(and (<= ~n1~0 1) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1))), Black: 958#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 394#(<= ~n1~0 1), Black: 914#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (exists ((v_subst_36 Int) (v_subst_35 Int) (v_~q1_front~0_102 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= 2 (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_144 4) v_subst_35))) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 934#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_38 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_38))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_38 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 954#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 872#(and (<= ~q1_front~0 ~q1_back~0) (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 2) (= ~t~0 0) (or (< ~q1_front~0 0) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 898#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_25 Int)) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_25 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)) (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_25)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 894#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 920#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 942#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1)))), Black: 308#(and (<= ~n2~0 1) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 1) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~q1_back~0 ~q1_front~0) (= ~q2_back~0 ~q2_front~0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 821#(or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))))) (< ~n1~0 (+ ~q1_back~0 1))), Black: 336#(and (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0)), Black: 878#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 956#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_45 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_45)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_45 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 320#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0)))), Black: 918#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 34#L65-2true, Black: 328#(and (exists ((v_~q1_front~0_100 Int) (v_subst_9 Int) (v_subst_10 Int)) (= (select (select |#memory_int#1| v_subst_10) (+ (* v_~q1_front~0_100 4) v_subst_9)) 0)) (or (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0)) (<= 0 |thread2Thread1of1ForFork0_~j~0#1|) (= ~t~0 0) (= 0 ~q2_front~0) (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset) 1)) (= |thread2Thread1of1ForFork0_~j~0#1| ~s~0) (or (forall ((v_subst_8 Int) (v_subst_7 Int)) (or (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_front~0 4) v_subst_7))) (not (= (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_back~0 4) v_subst_7)) 0)))) (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0))), Black: 777#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 896#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 91#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 234#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 624#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), 1028#true, Black: 340#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 930#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 788#(or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 928#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 792#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 874#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 2)) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 834#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 976#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 932#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (+ (* 2 ~t~0) 2) ~s~0) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 908#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (forall ((v_subst_31 Int)) (or (= (+ (* 2 ~t~0) 2 (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_31)))) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_31 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 950#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)))]) [2024-11-19 01:51:16,611 INFO L294 olderBase$Statistics]: this new event has 42 ancestors and is cut-off event [2024-11-19 01:51:16,611 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-19 01:51:16,611 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-19 01:51:16,612 INFO L297 olderBase$Statistics]: existing Event has 42 ancestors and is cut-off event [2024-11-19 01:51:16,749 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([712] L88-->L92: Formula: (and (not (= (ite (and (< v_~q2_front~0_81 v_~q2_back~0_90) (< v_~q2_front~0_81 v_~n2~0_56) (<= 0 v_~q2_front~0_81)) 1 0) 0)) (= (select (select |v_#memory_int#1_82| v_~q2~0.base_79) (+ v_~q2~0.offset_79 (* 4 v_~q2_front~0_81))) |v_thread3Thread1of1ForFork1_~k~0#1_3|) (= (+ v_~q2_front~0_81 1) v_~q2_front~0_80)) InVars {~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, ~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} OutVars{thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thread3Thread1of1ForFork1_#t~mem10#1=|v_thread3Thread1of1ForFork1_#t~mem10#1_1|, ~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, thread3Thread1of1ForFork1_#t~post11#1=|v_thread3Thread1of1ForFork1_#t~post11#1_1|, ~q2_front~0=v_~q2_front~0_80, ~q2~0.base=v_~q2~0.base_79, thread3Thread1of1ForFork1_~k~0#1=|v_thread3Thread1of1ForFork1_~k~0#1_3|, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thread3Thread1of1ForFork1_#t~mem10#1, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1, thread3Thread1of1ForFork1_#t~post11#1, ~q2_front~0, thread3Thread1of1ForFork1_~k~0#1][509], [Black: 764#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 751#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 378#(and (= (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4))) 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), Black: 381#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 922#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (forall ((v_subst_37 Int)) (or (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_37)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_37 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 382#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 886#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 18#L122true, Black: 380#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0) (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) 0)), Black: 379#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~q2_back~0 ~q2_front~0) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) 0)) (and (= ~t~0 0) (= ~s~0 0)))), 27#L92true, Black: 54#(<= ~q1_back~0 ~q1_front~0), 12#thread1EXITtrue, 301#(or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))), Black: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), 50#true, Black: 910#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (exists ((v_~q1_front~0_102 Int) (v_subst_33 Int) (v_subst_32 Int) (v_~q1_back~0_144 Int)) (and (= (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_144 4) v_subst_32)) 2) (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 888#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 906#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (exists ((v_~q1_front~0_102 Int) (v_subst_29 Int) (v_subst_30 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_144 4) v_subst_29)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 970#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 948#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 882#(and (<= ~q1_front~0 ~q1_back~0) (or (forall ((~q2~0.offset Int)) (or (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))) (= (+ 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) |thread2Thread1of1ForFork0_~j~0#1|))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 936#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_40 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_40))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_40 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((v_subst_39 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_39)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) ~s~0)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1)))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 781#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 902#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 799#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 944#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 940#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (forall ((v_subst_41 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_41)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_41 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 964#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 884#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (exists ((v_subst_15 Int) (v_~q1_front~0_102 Int) (v_subst_16 Int) (v_~q1_back~0_144 Int)) (and (<= 0 v_~q1_front~0_102) (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_102 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_144 4) v_subst_15)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144) (<= (+ v_~q1_front~0_102 1) ~n1~0) (<= (+ v_~q1_back~0_144 1) ~q1_back~0))) (<= ~n1~0 2) (= ~s~0 0)), 375#true, Black: 904#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_28 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_28)) 2) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_28 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 617#true, Black: 926#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 916#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 938#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 966#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 900#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (exists ((v_subst_26 Int) (v_~q1_front~0_102 Int) (v_subst_27 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_144 4) v_subst_26)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 613#(and (<= ~n1~0 1) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1))), Black: 958#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 394#(<= ~n1~0 1), Black: 914#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (exists ((v_subst_36 Int) (v_subst_35 Int) (v_~q1_front~0_102 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= 2 (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_144 4) v_subst_35))) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 934#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_38 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_38))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_38 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 954#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 872#(and (<= ~q1_front~0 ~q1_back~0) (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 2) (= ~t~0 0) (or (< ~q1_front~0 0) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 898#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_25 Int)) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_25 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)) (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_25)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 920#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 894#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 942#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1)))), Black: 308#(and (<= ~n2~0 1) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 1) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~q1_back~0 ~q1_front~0) (= ~q2_back~0 ~q2_front~0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 821#(or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))))) (< ~n1~0 (+ ~q1_back~0 1))), Black: 336#(and (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0)), Black: 878#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 956#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_45 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_45)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_45 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 918#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 320#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0)))), Black: 328#(and (exists ((v_~q1_front~0_100 Int) (v_subst_9 Int) (v_subst_10 Int)) (= (select (select |#memory_int#1| v_subst_10) (+ (* v_~q1_front~0_100 4) v_subst_9)) 0)) (or (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0)) (<= 0 |thread2Thread1of1ForFork0_~j~0#1|) (= ~t~0 0) (= 0 ~q2_front~0) (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset) 1)) (= |thread2Thread1of1ForFork0_~j~0#1| ~s~0) (or (forall ((v_subst_8 Int) (v_subst_7 Int)) (or (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_front~0 4) v_subst_7))) (not (= (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_back~0 4) v_subst_7)) 0)))) (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0))), Black: 777#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 896#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 91#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 624#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 234#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 930#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 340#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), 1028#true, Black: 788#(or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 928#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 792#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 874#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 2)) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 834#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), 13#L77true, Black: 976#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 932#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (+ (* 2 ~t~0) 2) ~s~0) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 908#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (forall ((v_subst_31 Int)) (or (= (+ (* 2 ~t~0) 2 (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_31)))) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_31 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 950#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)))]) [2024-11-19 01:51:16,750 INFO L294 olderBase$Statistics]: this new event has 42 ancestors and is cut-off event [2024-11-19 01:51:16,750 INFO L297 olderBase$Statistics]: existing Event has 42 ancestors and is cut-off event [2024-11-19 01:51:16,750 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-19 01:51:16,750 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-19 01:51:16,757 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([712] L88-->L92: Formula: (and (not (= (ite (and (< v_~q2_front~0_81 v_~q2_back~0_90) (< v_~q2_front~0_81 v_~n2~0_56) (<= 0 v_~q2_front~0_81)) 1 0) 0)) (= (select (select |v_#memory_int#1_82| v_~q2~0.base_79) (+ v_~q2~0.offset_79 (* 4 v_~q2_front~0_81))) |v_thread3Thread1of1ForFork1_~k~0#1_3|) (= (+ v_~q2_front~0_81 1) v_~q2_front~0_80)) InVars {~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, ~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} OutVars{thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thread3Thread1of1ForFork1_#t~mem10#1=|v_thread3Thread1of1ForFork1_#t~mem10#1_1|, ~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, thread3Thread1of1ForFork1_#t~post11#1=|v_thread3Thread1of1ForFork1_#t~post11#1_1|, ~q2_front~0=v_~q2_front~0_80, ~q2~0.base=v_~q2~0.base_79, thread3Thread1of1ForFork1_~k~0#1=|v_thread3Thread1of1ForFork1_~k~0#1_3|, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thread3Thread1of1ForFork1_#t~mem10#1, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1, thread3Thread1of1ForFork1_#t~post11#1, ~q2_front~0, thread3Thread1of1ForFork1_~k~0#1][539], [Black: 764#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 751#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 378#(and (= (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4))) 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), Black: 922#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (forall ((v_subst_37 Int)) (or (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_37)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_37 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 381#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 886#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 18#L122true, Black: 382#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 380#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0) (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) 0)), Black: 379#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~q2_back~0 ~q2_front~0) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) 0)) (and (= ~t~0 0) (= ~s~0 0)))), 27#L92true, Black: 54#(<= ~q1_back~0 ~q1_front~0), 12#thread1EXITtrue, 301#(or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))), Black: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), 50#true, Black: 910#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (exists ((v_~q1_front~0_102 Int) (v_subst_33 Int) (v_subst_32 Int) (v_~q1_back~0_144 Int)) (and (= (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_144 4) v_subst_32)) 2) (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 888#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 906#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (exists ((v_~q1_front~0_102 Int) (v_subst_29 Int) (v_subst_30 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_144 4) v_subst_29)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 970#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 948#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 882#(and (<= ~q1_front~0 ~q1_back~0) (or (forall ((~q2~0.offset Int)) (or (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))) (= (+ 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) |thread2Thread1of1ForFork0_~j~0#1|))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 936#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_40 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_40))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_40 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((v_subst_39 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_39)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) ~s~0)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1)))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 781#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 902#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 799#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 944#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 940#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (forall ((v_subst_41 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_41)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_41 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 964#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 884#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (exists ((v_subst_15 Int) (v_~q1_front~0_102 Int) (v_subst_16 Int) (v_~q1_back~0_144 Int)) (and (<= 0 v_~q1_front~0_102) (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_102 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_144 4) v_subst_15)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144) (<= (+ v_~q1_front~0_102 1) ~n1~0) (<= (+ v_~q1_back~0_144 1) ~q1_back~0))) (<= ~n1~0 2) (= ~s~0 0)), 375#true, Black: 904#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_28 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_28)) 2) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_28 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 617#true, Black: 926#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 916#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 938#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 966#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 900#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (exists ((v_subst_26 Int) (v_~q1_front~0_102 Int) (v_subst_27 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_144 4) v_subst_26)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 613#(and (<= ~n1~0 1) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1))), Black: 958#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 394#(<= ~n1~0 1), Black: 914#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (exists ((v_subst_36 Int) (v_subst_35 Int) (v_~q1_front~0_102 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= 2 (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_144 4) v_subst_35))) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 934#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_38 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_38))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_38 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 954#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 872#(and (<= ~q1_front~0 ~q1_back~0) (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 2) (= ~t~0 0) (or (< ~q1_front~0 0) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 898#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_25 Int)) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_25 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)) (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_25)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 894#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 920#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 942#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1)))), Black: 308#(and (<= ~n2~0 1) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 1) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~q1_back~0 ~q1_front~0) (= ~q2_back~0 ~q2_front~0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 821#(or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))))) (< ~n1~0 (+ ~q1_back~0 1))), Black: 336#(and (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0)), Black: 878#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 956#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_45 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_45)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_45 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 918#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 320#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0)))), 34#L65-2true, Black: 328#(and (exists ((v_~q1_front~0_100 Int) (v_subst_9 Int) (v_subst_10 Int)) (= (select (select |#memory_int#1| v_subst_10) (+ (* v_~q1_front~0_100 4) v_subst_9)) 0)) (or (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0)) (<= 0 |thread2Thread1of1ForFork0_~j~0#1|) (= ~t~0 0) (= 0 ~q2_front~0) (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset) 1)) (= |thread2Thread1of1ForFork0_~j~0#1| ~s~0) (or (forall ((v_subst_8 Int) (v_subst_7 Int)) (or (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_front~0 4) v_subst_7))) (not (= (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_back~0 4) v_subst_7)) 0)))) (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0))), Black: 777#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 896#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 91#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 624#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 234#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), 1028#true, Black: 930#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 340#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 788#(or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 928#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 792#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 874#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 2)) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 834#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 976#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 932#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (+ (* 2 ~t~0) 2) ~s~0) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 908#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (forall ((v_subst_31 Int)) (or (= (+ (* 2 ~t~0) 2 (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_31)))) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_31 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 950#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)))]) [2024-11-19 01:51:16,757 INFO L294 olderBase$Statistics]: this new event has 43 ancestors and is cut-off event [2024-11-19 01:51:16,757 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-19 01:51:16,757 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-19 01:51:16,758 INFO L297 olderBase$Statistics]: existing Event has 43 ancestors and is cut-off event [2024-11-19 01:51:16,878 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([712] L88-->L92: Formula: (and (not (= (ite (and (< v_~q2_front~0_81 v_~q2_back~0_90) (< v_~q2_front~0_81 v_~n2~0_56) (<= 0 v_~q2_front~0_81)) 1 0) 0)) (= (select (select |v_#memory_int#1_82| v_~q2~0.base_79) (+ v_~q2~0.offset_79 (* 4 v_~q2_front~0_81))) |v_thread3Thread1of1ForFork1_~k~0#1_3|) (= (+ v_~q2_front~0_81 1) v_~q2_front~0_80)) InVars {~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, ~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} OutVars{thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thread3Thread1of1ForFork1_#t~mem10#1=|v_thread3Thread1of1ForFork1_#t~mem10#1_1|, ~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, thread3Thread1of1ForFork1_#t~post11#1=|v_thread3Thread1of1ForFork1_#t~post11#1_1|, ~q2_front~0=v_~q2_front~0_80, ~q2~0.base=v_~q2~0.base_79, thread3Thread1of1ForFork1_~k~0#1=|v_thread3Thread1of1ForFork1_~k~0#1_3|, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thread3Thread1of1ForFork1_#t~mem10#1, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1, thread3Thread1of1ForFork1_#t~post11#1, ~q2_front~0, thread3Thread1of1ForFork1_~k~0#1][509], [Black: 764#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 751#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 378#(and (= (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4))) 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), Black: 381#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 922#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (forall ((v_subst_37 Int)) (or (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_37)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_37 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 382#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 886#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 380#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0) (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) 0)), Black: 379#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~q2_back~0 ~q2_front~0) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) 0)) (and (= ~t~0 0) (= ~s~0 0)))), 10#L122-1true, 27#L92true, Black: 54#(<= ~q1_back~0 ~q1_front~0), 301#(or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))), Black: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), 50#true, Black: 910#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (exists ((v_~q1_front~0_102 Int) (v_subst_33 Int) (v_subst_32 Int) (v_~q1_back~0_144 Int)) (and (= (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_144 4) v_subst_32)) 2) (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 888#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 906#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (exists ((v_~q1_front~0_102 Int) (v_subst_29 Int) (v_subst_30 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_144 4) v_subst_29)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 970#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 948#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 882#(and (<= ~q1_front~0 ~q1_back~0) (or (forall ((~q2~0.offset Int)) (or (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))) (= (+ 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) |thread2Thread1of1ForFork0_~j~0#1|))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 936#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_40 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_40))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_40 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((v_subst_39 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_39)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) ~s~0)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1)))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 781#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 902#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 799#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 944#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 940#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (forall ((v_subst_41 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_41)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_41 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 964#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 884#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (exists ((v_subst_15 Int) (v_~q1_front~0_102 Int) (v_subst_16 Int) (v_~q1_back~0_144 Int)) (and (<= 0 v_~q1_front~0_102) (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_102 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_144 4) v_subst_15)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144) (<= (+ v_~q1_front~0_102 1) ~n1~0) (<= (+ v_~q1_back~0_144 1) ~q1_back~0))) (<= ~n1~0 2) (= ~s~0 0)), 375#true, Black: 904#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_28 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_28)) 2) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_28 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 617#true, Black: 926#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 916#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 938#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 966#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 900#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (exists ((v_subst_26 Int) (v_~q1_front~0_102 Int) (v_subst_27 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_144 4) v_subst_26)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 613#(and (<= ~n1~0 1) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1))), Black: 958#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 394#(<= ~n1~0 1), Black: 914#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (exists ((v_subst_36 Int) (v_subst_35 Int) (v_~q1_front~0_102 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= 2 (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_144 4) v_subst_35))) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 934#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_38 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_38))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_38 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 954#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 872#(and (<= ~q1_front~0 ~q1_back~0) (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 2) (= ~t~0 0) (or (< ~q1_front~0 0) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 898#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_25 Int)) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_25 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)) (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_25)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 894#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 920#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 942#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1)))), Black: 308#(and (<= ~n2~0 1) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 1) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~q1_back~0 ~q1_front~0) (= ~q2_back~0 ~q2_front~0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 336#(and (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0)), Black: 821#(or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))))) (< ~n1~0 (+ ~q1_back~0 1))), Black: 878#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 956#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_45 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_45)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_45 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 918#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 320#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0)))), Black: 328#(and (exists ((v_~q1_front~0_100 Int) (v_subst_9 Int) (v_subst_10 Int)) (= (select (select |#memory_int#1| v_subst_10) (+ (* v_~q1_front~0_100 4) v_subst_9)) 0)) (or (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0)) (<= 0 |thread2Thread1of1ForFork0_~j~0#1|) (= ~t~0 0) (= 0 ~q2_front~0) (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset) 1)) (= |thread2Thread1of1ForFork0_~j~0#1| ~s~0) (or (forall ((v_subst_8 Int) (v_subst_7 Int)) (or (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_front~0 4) v_subst_7))) (not (= (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_back~0 4) v_subst_7)) 0)))) (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0))), Black: 777#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 896#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 91#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 624#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 234#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), 1028#true, Black: 930#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 340#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 788#(or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 928#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 792#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 874#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 2)) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 834#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), 13#L77true, Black: 976#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 932#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (+ (* 2 ~t~0) 2) ~s~0) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 908#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (forall ((v_subst_31 Int)) (or (= (+ (* 2 ~t~0) 2 (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_31)))) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_31 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 950#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)))]) [2024-11-19 01:51:16,878 INFO L294 olderBase$Statistics]: this new event has 43 ancestors and is cut-off event [2024-11-19 01:51:16,878 INFO L297 olderBase$Statistics]: existing Event has 43 ancestors and is cut-off event [2024-11-19 01:51:16,878 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-19 01:51:16,878 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-19 01:51:16,882 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([712] L88-->L92: Formula: (and (not (= (ite (and (< v_~q2_front~0_81 v_~q2_back~0_90) (< v_~q2_front~0_81 v_~n2~0_56) (<= 0 v_~q2_front~0_81)) 1 0) 0)) (= (select (select |v_#memory_int#1_82| v_~q2~0.base_79) (+ v_~q2~0.offset_79 (* 4 v_~q2_front~0_81))) |v_thread3Thread1of1ForFork1_~k~0#1_3|) (= (+ v_~q2_front~0_81 1) v_~q2_front~0_80)) InVars {~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, ~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} OutVars{thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thread3Thread1of1ForFork1_#t~mem10#1=|v_thread3Thread1of1ForFork1_#t~mem10#1_1|, ~n2~0=v_~n2~0_56, ~q2~0.offset=v_~q2~0.offset_79, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, thread3Thread1of1ForFork1_#t~post11#1=|v_thread3Thread1of1ForFork1_#t~post11#1_1|, ~q2_front~0=v_~q2_front~0_80, ~q2~0.base=v_~q2~0.base_79, thread3Thread1of1ForFork1_~k~0#1=|v_thread3Thread1of1ForFork1_~k~0#1_3|, #memory_int#1=|v_#memory_int#1_82|, ~q2_back~0=v_~q2_back~0_90} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thread3Thread1of1ForFork1_#t~mem10#1, thread3Thread1of1ForFork1_assume_abort_if_not_~cond#1, thread3Thread1of1ForFork1_#t~post11#1, ~q2_front~0, thread3Thread1of1ForFork1_~k~0#1][539], [Black: 764#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 751#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 378#(and (= (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4))) 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), Black: 922#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (forall ((v_subst_37 Int)) (or (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_37)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_37 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 381#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 886#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 382#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 380#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0) (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) 0)), Black: 379#(and (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~q2_back~0 ~q2_front~0) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) 0)) (and (= ~t~0 0) (= ~s~0 0)))), 10#L122-1true, 27#L92true, Black: 54#(<= ~q1_back~0 ~q1_front~0), 301#(or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))), Black: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), 50#true, Black: 910#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (exists ((v_~q1_front~0_102 Int) (v_subst_33 Int) (v_subst_32 Int) (v_~q1_back~0_144 Int)) (and (= (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_144 4) v_subst_32)) 2) (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 888#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 906#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (exists ((v_~q1_front~0_102 Int) (v_subst_29 Int) (v_subst_30 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_144 4) v_subst_29)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 970#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 948#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 882#(and (<= ~q1_front~0 ~q1_back~0) (or (forall ((~q2~0.offset Int)) (or (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))) (= (+ 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) |thread2Thread1of1ForFork0_~j~0#1|))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 936#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_40 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_40))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_40 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((v_subst_39 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_39)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) ~s~0)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_39 (* ~q2_back~0 4))) 1)))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 781#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 902#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 799#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< ~q1_back~0 0) (< ~n1~0 (+ ~q1_back~0 1)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 944#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 940#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (forall ((v_subst_41 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_41)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_41 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 964#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 884#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (exists ((v_subst_15 Int) (v_~q1_front~0_102 Int) (v_subst_16 Int) (v_~q1_back~0_144 Int)) (and (<= 0 v_~q1_front~0_102) (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_102 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_144 4) v_subst_15)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144) (<= (+ v_~q1_front~0_102 1) ~n1~0) (<= (+ v_~q1_back~0_144 1) ~q1_back~0))) (<= ~n1~0 2) (= ~s~0 0)), 375#true, Black: 904#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_28 Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_28)) 2) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_28 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 617#true, Black: 926#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 0) (= |thread3Thread1of1ForFork1_~k~0#1| 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 916#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 938#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 966#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 900#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (exists ((v_subst_26 Int) (v_~q1_front~0_102 Int) (v_subst_27 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_144 4) v_subst_26)) 2) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 613#(and (<= ~n1~0 1) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1))), Black: 958#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (= ~t~0 1) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 394#(<= ~n1~0 1), Black: 914#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 1) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= 2 ~s~0) (exists ((v_subst_36 Int) (v_subst_35 Int) (v_~q1_front~0_102 Int) (v_~q1_back~0_144 Int)) (and (<= v_~q1_back~0_144 0) (<= 0 v_~q1_front~0_102) (= 2 (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_144 4) v_subst_35))) (<= v_~q1_front~0_102 v_~q1_back~0_144))) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 934#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_38 Int)) (or (= (+ (* 2 ~t~0) (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_38))) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_38 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 954#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 872#(and (<= ~q1_front~0 ~q1_back~0) (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 2) (= ~t~0 0) (or (< ~q1_front~0 0) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 898#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_25 Int)) (or (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_25 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)) (= (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_25)) 2) (* 2 ~t~0) 2) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), 894#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 920#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 942#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1)))), Black: 308#(and (<= ~n2~0 1) (<= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 1) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 1)) (= ~q1_back~0 ~q1_front~0) (= ~q2_back~0 ~q2_front~0) (<= ~n2~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 336#(and (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0)), Black: 821#(or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))))) (< ~n1~0 (+ ~q1_back~0 1))), Black: 878#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (or (< ~q1_front~0 0) (forall ((~q2~0.offset Int)) (or (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))) (= (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) (+ (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1)))) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0)), Black: 956#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (forall ((v_subst_45 Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_45)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_45 (* ~q2_back~0 4))) 1) |thread2Thread1of1ForFork0_~j~0#1|)))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 918#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 320#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0)))), 34#L65-2true, Black: 328#(and (exists ((v_~q1_front~0_100 Int) (v_subst_9 Int) (v_subst_10 Int)) (= (select (select |#memory_int#1| v_subst_10) (+ (* v_~q1_front~0_100 4) v_subst_9)) 0)) (or (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (+ ~q1~0.offset (* ~q1_front~0 4)))) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0)) (<= 0 |thread2Thread1of1ForFork0_~j~0#1|) (= ~t~0 0) (= 0 ~q2_front~0) (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset) 1)) (= |thread2Thread1of1ForFork0_~j~0#1| ~s~0) (or (forall ((v_subst_8 Int) (v_subst_7 Int)) (or (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_front~0 4) v_subst_7))) (not (= (select (select |#memory_int#1| v_subst_8) (+ (* ~q1_back~0 4) v_subst_7)) 0)))) (= (+ (* 2 (select (select |#memory_int#1| ~q2~0.base) ~q2~0.offset)) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< ~n2~0 (+ ~q2_back~0 1)) (< ~q2_back~0 0))), Black: 777#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 896#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_front~0 0) (< ~q1_back~0 (+ ~q1_front~0 1)) (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2) 1) (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) ~s~0)) (< 0 (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1)) (< (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1) (select (select |#memory_int#1| ~q1~0.base) (* ~q1_front~0 4))))) (< ~n1~0 (+ ~q1_back~0 1))) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 91#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 624#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 234#(or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)), Black: 930#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), 1028#true, Black: 340#(and (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (and (= 0 ~q2_front~0) (= ~q1_back~0 ~q1_front~0) (= (* 2 ~t~0) ~s~0)) (not (= ~q2_back~0 0))) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0))), Black: 788#(or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 928#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 792#(or (forall ((~q2~0.offset Int)) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ ~q2~0.offset (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 874#(and (<= ~q1_front~0 ~q1_back~0) (= ~q1~0.offset 0) (= ~t~0 0) (<= (+ |ULTIMATE.start_create_fresh_int_array_~i~1#1| ~n1~0) (+ |ULTIMATE.start_create_fresh_int_array_~size#1| 2)) (= ~q2_back~0 ~q2_front~0) (<= ~n1~0 2) (= ~s~0 0) (= |ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset| 0)), Black: 834#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 976#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|))), Black: 932#(and (or (not (= ~q1_front~0 0)) (= (select (select |#memory_int#1| ~q1~0.base) 0) 2) (< ~n1~0 (+ ~q1_back~0 1))) (= (+ (* 2 ~t~0) 2) ~s~0) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 908#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (< ~q1_front~0 1) (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 3))) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (or (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (= ~q1~0.offset 0) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< 0 |thread2Thread1of1ForFork0_~j~0#1|) (= (+ (* 2 ~t~0) 2 (* (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) ~q2~0.offset)) 2)) ~s~0)) (or (forall ((v_subst_31 Int)) (or (= (+ (* 2 ~t~0) 2 (* 2 (select (select |#memory_int#1| ~q2~0.base) (+ (* 4 ~q2_front~0) v_subst_31)))) (+ |thread2Thread1of1ForFork0_~j~0#1| ~s~0)) (not (= |thread2Thread1of1ForFork0_~j~0#1| (+ (select (select |#memory_int#1| ~q2~0.base) (+ v_subst_31 (* ~q2_back~0 4))) 1))))) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 950#(and (or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))) (or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)) (or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)))]) [2024-11-19 01:51:16,882 INFO L294 olderBase$Statistics]: this new event has 44 ancestors and is cut-off event [2024-11-19 01:51:16,882 INFO L297 olderBase$Statistics]: existing Event has 40 ancestors and is cut-off event [2024-11-19 01:51:16,882 INFO L297 olderBase$Statistics]: existing Event has 40 ancestors and is cut-off event [2024-11-19 01:51:16,882 INFO L297 olderBase$Statistics]: existing Event has 44 ancestors and is cut-off event [2024-11-19 01:51:17,339 INFO L124 PetriNetUnfolderBase]: 20204/37662 cut-off events. [2024-11-19 01:51:17,339 INFO L125 PetriNetUnfolderBase]: For 607934/609535 co-relation queries the response was YES. [2024-11-19 01:51:17,689 INFO L83 FinitePrefix]: Finished finitePrefix Result has 178117 conditions, 37662 events. 20204/37662 cut-off events. For 607934/609535 co-relation queries the response was YES. Maximal size of possible extension queue 1396. Compared 345368 event pairs, 4413 based on Foata normal form. 1331/38413 useless extension candidates. Maximal degree in co-relation 178044. Up to 10612 conditions per place. [2024-11-19 01:51:17,833 INFO L140 encePairwiseOnDemand]: 41/44 looper letters, 511 selfloop transitions, 68 changer transitions 53/750 dead transitions. [2024-11-19 01:51:17,834 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 219 places, 750 transitions, 8953 flow [2024-11-19 01:51:17,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-19 01:51:17,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-11-19 01:51:17,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 116 transitions. [2024-11-19 01:51:17,835 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6590909090909091 [2024-11-19 01:51:17,835 INFO L175 Difference]: Start difference. First operand has 221 places, 546 transitions, 5366 flow. Second operand 4 states and 116 transitions. [2024-11-19 01:51:17,835 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 219 places, 750 transitions, 8953 flow [2024-11-19 01:51:23,071 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 216 places, 750 transitions, 7884 flow, removed 531 selfloop flow, removed 3 redundant places. [2024-11-19 01:51:23,078 INFO L231 Difference]: Finished difference. Result has 218 places, 482 transitions, 4568 flow [2024-11-19 01:51:23,079 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=4272, PETRI_DIFFERENCE_MINUEND_PLACES=213, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=492, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=29, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=429, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=4568, PETRI_PLACES=218, PETRI_TRANSITIONS=482} [2024-11-19 01:51:23,079 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 175 predicate places. [2024-11-19 01:51:23,079 INFO L471 AbstractCegarLoop]: Abstraction has has 218 places, 482 transitions, 4568 flow [2024-11-19 01:51:23,080 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 19.75) internal successors, (79), 4 states have internal predecessors, (79), 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-19 01:51:23,080 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:51:23,080 INFO L204 CegarLoopForPetriNet]: trace histogram [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] [2024-11-19 01:51:23,092 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-11-19 01:51:23,283 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:51:23,284 INFO L396 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:51:23,284 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:51:23,284 INFO L85 PathProgramCache]: Analyzing trace with hash 4690244, now seen corresponding path program 3 times [2024-11-19 01:51:23,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:51:23,284 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [266455187] [2024-11-19 01:51:23,284 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 01:51:23,284 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:51:23,311 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-19 01:51:23,311 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:51:23,590 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-19 01:51:23,590 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:51:23,590 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [266455187] [2024-11-19 01:51:23,590 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [266455187] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:51:23,590 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [39560772] [2024-11-19 01:51:23,590 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 01:51:23,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:51:23,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:51:23,592 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:51:23,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-19 01:51:23,708 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-19 01:51:23,709 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:51:23,710 INFO L255 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 21 conjuncts are in the unsatisfiable core [2024-11-19 01:51:23,711 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:51:23,938 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-19 01:51:23,939 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:51:24,093 INFO L349 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2024-11-19 01:51:24,093 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 24 treesize of output 11 [2024-11-19 01:51:24,230 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-19 01:51:24,230 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [39560772] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 01:51:24,230 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 01:51:24,230 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 22 [2024-11-19 01:51:24,231 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [664314787] [2024-11-19 01:51:24,231 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 01:51:24,231 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2024-11-19 01:51:24,231 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:51:24,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2024-11-19 01:51:24,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=404, Unknown=0, NotChecked=0, Total=506 [2024-11-19 01:51:24,255 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 44 [2024-11-19 01:51:24,256 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 218 places, 482 transitions, 4568 flow. Second operand has 23 states, 23 states have (on average 14.478260869565217) internal successors, (333), 23 states have internal predecessors, (333), 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-19 01:51:24,256 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:51:24,256 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 44 [2024-11-19 01:51:24,256 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:51:36,102 INFO L124 PetriNetUnfolderBase]: 41129/71669 cut-off events. [2024-11-19 01:51:36,102 INFO L125 PetriNetUnfolderBase]: For 1321110/1322759 co-relation queries the response was YES. [2024-11-19 01:51:37,204 INFO L83 FinitePrefix]: Finished finitePrefix Result has 350496 conditions, 71669 events. 41129/71669 cut-off events. For 1321110/1322759 co-relation queries the response was YES. Maximal size of possible extension queue 2543. Compared 659007 event pairs, 6278 based on Foata normal form. 1577/72738 useless extension candidates. Maximal degree in co-relation 350420. Up to 21650 conditions per place. [2024-11-19 01:51:37,515 INFO L140 encePairwiseOnDemand]: 35/44 looper letters, 802 selfloop transitions, 295 changer transitions 3/1186 dead transitions. [2024-11-19 01:51:37,515 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 210 places, 1186 transitions, 13885 flow [2024-11-19 01:51:37,515 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2024-11-19 01:51:37,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2024-11-19 01:51:37,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 522 transitions. [2024-11-19 01:51:37,517 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5158102766798419 [2024-11-19 01:51:37,517 INFO L175 Difference]: Start difference. First operand has 218 places, 482 transitions, 4568 flow. Second operand 23 states and 522 transitions. [2024-11-19 01:51:37,517 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 210 places, 1186 transitions, 13885 flow [2024-11-19 01:51:51,168 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 197 places, 1186 transitions, 13492 flow, removed 189 selfloop flow, removed 13 redundant places. [2024-11-19 01:51:51,178 INFO L231 Difference]: Finished difference. Result has 208 places, 689 transitions, 7814 flow [2024-11-19 01:51:51,178 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=44, PETRI_DIFFERENCE_MINUEND_FLOW=4411, PETRI_DIFFERENCE_MINUEND_PLACES=175, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=481, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=90, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=315, PETRI_DIFFERENCE_SUBTRAHEND_STATES=23, PETRI_FLOW=7814, PETRI_PLACES=208, PETRI_TRANSITIONS=689} [2024-11-19 01:51:51,179 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 165 predicate places. [2024-11-19 01:51:51,179 INFO L471 AbstractCegarLoop]: Abstraction has has 208 places, 689 transitions, 7814 flow [2024-11-19 01:51:51,179 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 14.478260869565217) internal successors, (333), 23 states have internal predecessors, (333), 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-19 01:51:51,179 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:51:51,179 INFO L204 CegarLoopForPetriNet]: trace histogram [3, 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-19 01:51:51,191 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2024-11-19 01:51:51,380 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2024-11-19 01:51:51,380 INFO L396 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:51:51,380 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:51:51,380 INFO L85 PathProgramCache]: Analyzing trace with hash 1995874180, now seen corresponding path program 4 times [2024-11-19 01:51:51,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:51:51,381 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [480706810] [2024-11-19 01:51:51,381 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 01:51:51,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:51:51,409 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 01:51:51,409 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:51:51,484 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:51:51,485 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:51:51,485 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [480706810] [2024-11-19 01:51:51,485 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [480706810] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:51:51,485 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1755201287] [2024-11-19 01:51:51,485 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 01:51:51,485 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:51:51,485 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:51:51,488 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:51:51,489 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-11-19 01:51:51,569 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 01:51:51,570 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:51:51,571 INFO L255 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 6 conjuncts are in the unsatisfiable core [2024-11-19 01:51:51,572 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:51:51,654 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:51:51,654 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:51:51,713 INFO L349 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2024-11-19 01:51:51,713 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 24 treesize of output 11 [2024-11-19 01:51:51,803 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:51:51,803 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1755201287] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 01:51:51,803 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 01:51:51,803 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2024-11-19 01:51:51,803 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821909305] [2024-11-19 01:51:51,804 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 01:51:51,804 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2024-11-19 01:51:51,804 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:51:51,804 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2024-11-19 01:51:51,805 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2024-11-19 01:51:51,816 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 44 [2024-11-19 01:51:51,816 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 208 places, 689 transitions, 7814 flow. Second operand has 11 states, 11 states have (on average 18.0) internal successors, (198), 11 states have internal predecessors, (198), 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-19 01:51:51,816 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:51:51,817 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 44 [2024-11-19 01:51:51,817 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand