./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 4f9af400 extending candidate: java ['java'] extending candidate: /usr/bin/java ['java', '/usr/bin/java'] extending candidate: /opt/oracle-jdk-bin-*/bin/java ['java', '/usr/bin/java'] extending candidate: /opt/openjdk-*/bin/java ['java', '/usr/bin/java'] extending candidate: /usr/lib/jvm/java-*-openjdk-amd64/bin/java ['java', '/usr/bin/java', '/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java', '/usr/lib/jvm/java-17-openjdk-amd64/bin/java', '/usr/lib/jvm/java-11-openjdk-amd64/bin/java', '/usr/lib/jvm/java-1.17.0-openjdk-amd64/bin/java'] ['/root/.sdkman/candidates/java/21.0.5-tem/bin/java', '-Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config', '-Xmx15G', '-Xms4m', '-jar', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar', '-data', '@noDefault', '-ultimatedata', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data', '-tc', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml', '-i', '../sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c', '-s', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf', '--cacsl2boogietranslator.entry.function', 'main', '--witnessprinter.witness.directory', '/storage/repos/ultimate-jdk21/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())) )\n\n', '--witnessprinter.graph.data.producer', 'Automizer', '--witnessprinter.graph.data.architecture', '32bit', '--witnessprinter.graph.data.programhash', 'ceb2af5016fd0ad74653237fbc44a2b3541e4ff971325e3807dab6f19c05af6d'] Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/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.3.0-?-4f9af40 [2024-11-07 11:28:09,189 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-07 11:28:09,270 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-11-07 11:28:09,275 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-07 11:28:09,276 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-07 11:28:09,296 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-07 11:28:09,297 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-07 11:28:09,297 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-07 11:28:09,297 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-07 11:28:09,297 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-07 11:28:09,297 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-07 11:28:09,297 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-07 11:28:09,298 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-07 11:28:09,298 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-07 11:28:09,298 INFO L153 SettingsManager]: * Use SBE=true [2024-11-07 11:28:09,298 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-07 11:28:09,298 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-07 11:28:09,298 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-07 11:28:09,298 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-07 11:28:09,298 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-07 11:28:09,298 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-07 11:28:09,299 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-11-07 11:28:09,299 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-07 11:28:09,300 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-07 11:28:09,300 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-07 11:28:09,301 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC 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-jdk21/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-07 11:28:09,518 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-07 11:28:09,531 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-07 11:28:09,534 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-07 11:28:09,535 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-07 11:28:09,535 INFO L274 PluginConnector]: CDTParser initialized [2024-11-07 11:28:09,537 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c [2024-11-07 11:28:10,784 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-07 11:28:11,012 INFO L384 CDTParser]: Found 1 translation units. [2024-11-07 11:28:11,013 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c [2024-11-07 11:28:11,021 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/2a741a848/6e1919d02ee84513bc8c1eb5f003027f/FLAG73632552d [2024-11-07 11:28:11,036 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/2a741a848/6e1919d02ee84513bc8c1eb5f003027f [2024-11-07 11:28:11,038 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-07 11:28:11,039 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-07 11:28:11,040 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-07 11:28:11,040 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-07 11:28:11,043 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-07 11:28:11,044 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,045 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1ebc7b5e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11, skipping insertion in model container [2024-11-07 11:28:11,046 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,058 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-07 11:28:11,194 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c[3463,3476] [2024-11-07 11:28:11,204 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-07 11:28:11,213 INFO L200 MainTranslator]: Completed pre-run [2024-11-07 11:28:11,237 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-horseshoe.wvr.c[3463,3476] [2024-11-07 11:28:11,241 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-07 11:28:11,254 INFO L204 MainTranslator]: Completed translation [2024-11-07 11:28:11,255 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11 WrapperNode [2024-11-07 11:28:11,256 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-07 11:28:11,256 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-07 11:28:11,257 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-07 11:28:11,257 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-07 11:28:11,265 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,271 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,289 INFO L138 Inliner]: procedures = 24, calls = 40, calls flagged for inlining = 16, calls inlined = 18, statements flattened = 239 [2024-11-07 11:28:11,290 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-07 11:28:11,290 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-07 11:28:11,290 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-07 11:28:11,290 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-07 11:28:11,296 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,296 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,299 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,309 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-07 11:28:11,315 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,315 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,320 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,323 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,324 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,325 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,330 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-07 11:28:11,331 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-07 11:28:11,331 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-07 11:28:11,331 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-07 11:28:11,332 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (1/1) ... [2024-11-07 11:28:11,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-07 11:28:11,349 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 11:28:11,360 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-11-07 11:28:11,364 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-11-07 11:28:11,382 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-07 11:28:11,383 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-11-07 11:28:11,384 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-11-07 11:28:11,384 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-11-07 11:28:11,384 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-11-07 11:28:11,384 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-11-07 11:28:11,384 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-11-07 11:28:11,384 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-07 11:28:11,384 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-07 11:28:11,384 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-07 11:28:11,385 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-07 11:28:11,385 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-11-07 11:28:11,385 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-11-07 11:28:11,385 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-07 11:28:11,385 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-07 11:28:11,385 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-07 11:28:11,386 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-07 11:28:11,386 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-07 11:28:11,387 WARN L207 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-07 11:28:11,461 INFO L238 CfgBuilder]: Building ICFG [2024-11-07 11:28:11,462 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-07 11:28:11,743 INFO L283 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-07 11:28:11,743 INFO L287 CfgBuilder]: Performing block encoding [2024-11-07 11:28:12,133 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-07 11:28:12,133 INFO L316 CfgBuilder]: Removed 5 assume(true) statements. [2024-11-07 11:28:12,139 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.11 11:28:12 BoogieIcfgContainer [2024-11-07 11:28:12,140 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-07 11:28:12,141 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-07 11:28:12,141 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-07 11:28:12,149 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-07 11:28:12,150 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.11 11:28:11" (1/3) ... [2024-11-07 11:28:12,150 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@31e23564 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.11 11:28:12, skipping insertion in model container [2024-11-07 11:28:12,150 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:28:11" (2/3) ... [2024-11-07 11:28:12,150 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@31e23564 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.11 11:28:12, skipping insertion in model container [2024-11-07 11:28:12,150 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.11 11:28:12" (3/3) ... [2024-11-07 11:28:12,151 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-horseshoe.wvr.c [2024-11-07 11:28:12,179 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-07 11:28:12,179 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-11-07 11:28:12,179 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-07 11:28:12,262 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-11-07 11:28:12,313 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 47 places, 44 transitions, 109 flow [2024-11-07 11:28:12,367 INFO L124 PetriNetUnfolderBase]: 7/41 cut-off events. [2024-11-07 11:28:12,369 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-07 11:28:12,376 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-07 11:28:12,377 INFO L82 GeneralOperation]: Start removeDead. Operand has 47 places, 44 transitions, 109 flow [2024-11-07 11:28:12,383 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 43 places, 40 transitions, 98 flow [2024-11-07 11:28:12,397 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-07 11:28:12,423 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;@693bc6ff, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-07 11:28:12,423 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-11-07 11:28:12,448 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-07 11:28:12,448 INFO L124 PetriNetUnfolderBase]: 7/39 cut-off events. [2024-11-07 11:28:12,448 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-07 11:28:12,452 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:12,453 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-07 11:28:12,453 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-07 11:28:12,505 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:12,509 INFO L85 PathProgramCache]: Analyzing trace with hash -1497833839, now seen corresponding path program 1 times [2024-11-07 11:28:12,519 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:12,520 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1885272601] [2024-11-07 11:28:12,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:12,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:12,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:12,725 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-07 11:28:12,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:12,726 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1885272601] [2024-11-07 11:28:12,726 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1885272601] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 11:28:12,726 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-07 11:28:12,727 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-07 11:28:12,727 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [486110114] [2024-11-07 11:28:12,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 11:28:12,732 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-11-07 11:28:12,736 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:12,751 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-11-07 11:28:12,753 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-11-07 11:28:12,754 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-07 11:28:12,756 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-07 11:28:12,756 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:12,756 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-07 11:28:12,757 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:12,996 INFO L124 PetriNetUnfolderBase]: 727/1249 cut-off events. [2024-11-07 11:28:12,997 INFO L125 PetriNetUnfolderBase]: For 64/64 co-relation queries the response was YES. [2024-11-07 11:28:13,001 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-07 11:28:13,008 INFO L140 encePairwiseOnDemand]: 42/44 looper letters, 28 selfloop transitions, 0 changer transitions 0/38 dead transitions. [2024-11-07 11:28:13,008 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 44 places, 38 transitions, 150 flow [2024-11-07 11:28:13,009 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-11-07 11:28:13,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2024-11-07 11:28:13,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 56 transitions. [2024-11-07 11:28:13,019 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6363636363636364 [2024-11-07 11:28:13,020 INFO L175 Difference]: Start difference. First operand has 43 places, 40 transitions, 98 flow. Second operand 2 states and 56 transitions. [2024-11-07 11:28:13,021 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 44 places, 38 transitions, 150 flow [2024-11-07 11:28:13,026 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 38 places, 38 transitions, 138 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-11-07 11:28:13,028 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 82 flow [2024-11-07 11:28:13,029 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-07 11:28:13,031 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, -5 predicate places. [2024-11-07 11:28:13,031 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 82 flow [2024-11-07 11:28:13,032 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-07 11:28:13,032 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:13,032 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-07 11:28:13,032 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-07 11:28:13,032 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-07 11:28:13,033 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:13,033 INFO L85 PathProgramCache]: Analyzing trace with hash 1767931675, now seen corresponding path program 1 times [2024-11-07 11:28:13,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:13,034 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1794404947] [2024-11-07 11:28:13,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:13,034 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:13,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:13,184 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-07 11:28:13,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:13,185 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1794404947] [2024-11-07 11:28:13,185 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1794404947] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 11:28:13,185 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-07 11:28:13,185 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-07 11:28:13,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [639787300] [2024-11-07 11:28:13,185 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 11:28:13,186 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-07 11:28:13,186 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:13,186 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-07 11:28:13,186 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-07 11:28:13,187 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-07 11:28:13,187 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-07 11:28:13,187 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:13,187 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-07 11:28:13,187 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:13,361 INFO L124 PetriNetUnfolderBase]: 733/1234 cut-off events. [2024-11-07 11:28:13,361 INFO L125 PetriNetUnfolderBase]: For 12/12 co-relation queries the response was YES. [2024-11-07 11:28:13,366 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-07 11:28:13,372 INFO L140 encePairwiseOnDemand]: 40/44 looper letters, 37 selfloop transitions, 3 changer transitions 0/50 dead transitions. [2024-11-07 11:28:13,372 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 50 transitions, 188 flow [2024-11-07 11:28:13,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-07 11:28:13,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-07 11:28:13,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2024-11-07 11:28:13,373 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6060606060606061 [2024-11-07 11:28:13,374 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 82 flow. Second operand 3 states and 80 transitions. [2024-11-07 11:28:13,374 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 50 transitions, 188 flow [2024-11-07 11:28:13,375 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 40 places, 50 transitions, 188 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-11-07 11:28:13,376 INFO L231 Difference]: Finished difference. Result has 41 places, 40 transitions, 101 flow [2024-11-07 11:28:13,378 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-07 11:28:13,378 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, -2 predicate places. [2024-11-07 11:28:13,378 INFO L471 AbstractCegarLoop]: Abstraction has has 41 places, 40 transitions, 101 flow [2024-11-07 11:28:13,378 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-07 11:28:13,378 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:13,378 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-07 11:28:13,378 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-07 11:28:13,379 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-07 11:28:13,379 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:13,379 INFO L85 PathProgramCache]: Analyzing trace with hash 1846619617, now seen corresponding path program 2 times [2024-11-07 11:28:13,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:13,379 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1490778953] [2024-11-07 11:28:13,379 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:13,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:13,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:13,526 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-07 11:28:13,526 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:13,526 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1490778953] [2024-11-07 11:28:13,526 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1490778953] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 11:28:13,526 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-07 11:28:13,526 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-07 11:28:13,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1315933136] [2024-11-07 11:28:13,526 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 11:28:13,526 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-07 11:28:13,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:13,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-07 11:28:13,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-07 11:28:13,527 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-07 11:28:13,528 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-07 11:28:13,528 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:13,528 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-07 11:28:13,528 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:13,674 INFO L124 PetriNetUnfolderBase]: 663/1213 cut-off events. [2024-11-07 11:28:13,674 INFO L125 PetriNetUnfolderBase]: For 203/205 co-relation queries the response was YES. [2024-11-07 11:28:13,676 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-07 11:28:13,682 INFO L140 encePairwiseOnDemand]: 41/44 looper letters, 40 selfloop transitions, 2 changer transitions 0/52 dead transitions. [2024-11-07 11:28:13,682 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 43 places, 52 transitions, 217 flow [2024-11-07 11:28:13,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-07 11:28:13,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-07 11:28:13,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2024-11-07 11:28:13,685 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6060606060606061 [2024-11-07 11:28:13,685 INFO L175 Difference]: Start difference. First operand has 41 places, 40 transitions, 101 flow. Second operand 3 states and 80 transitions. [2024-11-07 11:28:13,685 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 43 places, 52 transitions, 217 flow [2024-11-07 11:28:13,686 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 42 places, 52 transitions, 214 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-07 11:28:13,687 INFO L231 Difference]: Finished difference. Result has 43 places, 41 transitions, 110 flow [2024-11-07 11:28:13,688 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-07 11:28:13,688 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 0 predicate places. [2024-11-07 11:28:13,689 INFO L471 AbstractCegarLoop]: Abstraction has has 43 places, 41 transitions, 110 flow [2024-11-07 11:28:13,689 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-07 11:28:13,689 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:13,689 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-07 11:28:13,689 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-07 11:28:13,689 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-07 11:28:13,690 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:13,690 INFO L85 PathProgramCache]: Analyzing trace with hash 1902711549, now seen corresponding path program 3 times [2024-11-07 11:28:13,690 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:13,690 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867580110] [2024-11-07 11:28:13,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:13,691 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:13,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:13,879 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-07 11:28:13,879 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:13,879 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867580110] [2024-11-07 11:28:13,879 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [867580110] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 11:28:13,879 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-07 11:28:13,880 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-07 11:28:13,880 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2071147838] [2024-11-07 11:28:13,880 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 11:28:13,880 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-07 11:28:13,880 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:13,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-07 11:28:13,881 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-07 11:28:13,881 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-07 11:28:13,881 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-07 11:28:13,881 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:13,881 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-07 11:28:13,881 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:14,047 INFO L124 PetriNetUnfolderBase]: 712/1311 cut-off events. [2024-11-07 11:28:14,048 INFO L125 PetriNetUnfolderBase]: For 284/286 co-relation queries the response was YES. [2024-11-07 11:28:14,050 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-07 11:28:14,056 INFO L140 encePairwiseOnDemand]: 37/44 looper letters, 30 selfloop transitions, 2 changer transitions 15/57 dead transitions. [2024-11-07 11:28:14,056 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 47 places, 57 transitions, 239 flow [2024-11-07 11:28:14,057 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-07 11:28:14,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-07 11:28:14,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2024-11-07 11:28:14,058 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5045454545454545 [2024-11-07 11:28:14,058 INFO L175 Difference]: Start difference. First operand has 43 places, 41 transitions, 110 flow. Second operand 5 states and 111 transitions. [2024-11-07 11:28:14,059 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 47 places, 57 transitions, 239 flow [2024-11-07 11:28:14,059 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 46 places, 57 transitions, 237 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-07 11:28:14,061 INFO L231 Difference]: Finished difference. Result has 49 places, 42 transitions, 128 flow [2024-11-07 11:28:14,061 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-07 11:28:14,061 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 6 predicate places. [2024-11-07 11:28:14,062 INFO L471 AbstractCegarLoop]: Abstraction has has 49 places, 42 transitions, 128 flow [2024-11-07 11:28:14,062 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-07 11:28:14,062 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:14,062 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-07 11:28:14,063 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-11-07 11:28:14,063 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-07 11:28:14,064 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:14,064 INFO L85 PathProgramCache]: Analyzing trace with hash -1465505519, now seen corresponding path program 1 times [2024-11-07 11:28:14,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:14,064 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [687074179] [2024-11-07 11:28:14,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:14,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:14,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:14,172 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-07 11:28:14,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:14,172 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [687074179] [2024-11-07 11:28:14,172 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [687074179] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 11:28:14,172 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-07 11:28:14,172 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-07 11:28:14,172 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1786446761] [2024-11-07 11:28:14,172 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 11:28:14,173 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-07 11:28:14,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:14,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-07 11:28:14,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-07 11:28:14,174 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-07 11:28:14,175 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-07 11:28:14,175 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:14,175 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-07 11:28:14,175 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:14,317 INFO L124 PetriNetUnfolderBase]: 905/1634 cut-off events. [2024-11-07 11:28:14,317 INFO L125 PetriNetUnfolderBase]: For 471/475 co-relation queries the response was YES. [2024-11-07 11:28:14,320 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-07 11:28:14,324 INFO L140 encePairwiseOnDemand]: 38/44 looper letters, 29 selfloop transitions, 4 changer transitions 19/62 dead transitions. [2024-11-07 11:28:14,324 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 62 transitions, 294 flow [2024-11-07 11:28:14,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-07 11:28:14,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-07 11:28:14,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2024-11-07 11:28:14,325 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5136363636363637 [2024-11-07 11:28:14,325 INFO L175 Difference]: Start difference. First operand has 49 places, 42 transitions, 128 flow. Second operand 5 states and 113 transitions. [2024-11-07 11:28:14,325 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 62 transitions, 294 flow [2024-11-07 11:28:14,327 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 62 transitions, 274 flow, removed 9 selfloop flow, removed 3 redundant places. [2024-11-07 11:28:14,327 INFO L231 Difference]: Finished difference. Result has 50 places, 43 transitions, 136 flow [2024-11-07 11:28:14,327 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-07 11:28:14,328 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 7 predicate places. [2024-11-07 11:28:14,328 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 43 transitions, 136 flow [2024-11-07 11:28:14,328 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-07 11:28:14,328 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:14,328 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-07 11:28:14,328 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-11-07 11:28:14,329 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-07 11:28:14,329 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:14,329 INFO L85 PathProgramCache]: Analyzing trace with hash -2091232520, now seen corresponding path program 1 times [2024-11-07 11:28:14,329 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:14,329 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1323327584] [2024-11-07 11:28:14,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:14,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:14,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:15,962 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-07 11:28:15,962 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:15,962 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1323327584] [2024-11-07 11:28:15,962 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1323327584] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 11:28:15,963 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1981069308] [2024-11-07 11:28:15,963 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:15,963 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:15,963 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 11:28:15,974 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 11:28:15,975 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-07 11:28:16,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:16,078 INFO L255 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 39 conjuncts are in the unsatisfiable core [2024-11-07 11:28:16,082 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 11:28:16,184 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-07 11:28:16,696 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-07 11:28:16,696 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 11:28:17,330 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-07 11:28:17,330 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-07 11:28:17,418 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-07 11:28:17,419 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-07 11:28:17,523 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-07 11:28:17,524 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-07 11:28:17,877 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-07 11:28:17,878 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1981069308] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 11:28:17,878 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 11:28:17,878 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12, 12] total 35 [2024-11-07 11:28:17,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [388544883] [2024-11-07 11:28:17,878 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 11:28:17,878 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2024-11-07 11:28:17,879 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:17,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2024-11-07 11:28:17,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=1149, Unknown=0, NotChecked=0, Total=1260 [2024-11-07 11:28:18,024 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 44 [2024-11-07 11:28:18,025 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-07 11:28:18,025 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:18,025 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 44 [2024-11-07 11:28:18,025 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:23,760 INFO L124 PetriNetUnfolderBase]: 4005/6304 cut-off events. [2024-11-07 11:28:23,761 INFO L125 PetriNetUnfolderBase]: For 1326/1330 co-relation queries the response was YES. [2024-11-07 11:28:23,768 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-07 11:28:23,788 INFO L140 encePairwiseOnDemand]: 28/44 looper letters, 330 selfloop transitions, 97 changer transitions 4/435 dead transitions. [2024-11-07 11:28:23,789 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 95 places, 435 transitions, 2022 flow [2024-11-07 11:28:23,790 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2024-11-07 11:28:23,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2024-11-07 11:28:23,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 755 transitions. [2024-11-07 11:28:23,794 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.3730237154150198 [2024-11-07 11:28:23,795 INFO L175 Difference]: Start difference. First operand has 50 places, 43 transitions, 136 flow. Second operand 46 states and 755 transitions. [2024-11-07 11:28:23,795 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 95 places, 435 transitions, 2022 flow [2024-11-07 11:28:23,798 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 92 places, 435 transitions, 2004 flow, removed 5 selfloop flow, removed 3 redundant places. [2024-11-07 11:28:23,803 INFO L231 Difference]: Finished difference. Result has 102 places, 140 transitions, 751 flow [2024-11-07 11:28:23,805 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-07 11:28:23,805 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 59 predicate places. [2024-11-07 11:28:23,806 INFO L471 AbstractCegarLoop]: Abstraction has has 102 places, 140 transitions, 751 flow [2024-11-07 11:28:23,806 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-07 11:28:23,806 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:23,806 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-07 11:28:23,820 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-11-07 11:28:24,009 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:24,010 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-07 11:28:24,010 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:24,010 INFO L85 PathProgramCache]: Analyzing trace with hash 188674062, now seen corresponding path program 2 times [2024-11-07 11:28:24,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:24,010 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1409477600] [2024-11-07 11:28:24,010 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:24,011 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:24,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:25,114 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-07 11:28:25,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:25,115 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1409477600] [2024-11-07 11:28:25,115 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1409477600] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 11:28:25,115 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2025707891] [2024-11-07 11:28:25,115 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-07 11:28:25,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:25,116 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 11:28:25,118 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 11:28:25,119 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-11-07 11:28:25,232 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-07 11:28:25,232 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 11:28:25,237 INFO L255 TraceCheckSpWp]: Trace formula consists of 224 conjuncts, 23 conjuncts are in the unsatisfiable core [2024-11-07 11:28:25,242 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 11:28:25,679 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-07 11:28:25,679 INFO L307 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-11-07 11:28:25,680 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2025707891] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 11:28:25,680 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-11-07 11:28:25,680 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [14] total 21 [2024-11-07 11:28:25,680 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [101087778] [2024-11-07 11:28:25,680 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 11:28:25,680 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2024-11-07 11:28:25,680 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:25,680 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-11-07 11:28:25,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=408, Unknown=0, NotChecked=0, Total=462 [2024-11-07 11:28:25,794 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 44 [2024-11-07 11:28:25,794 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 102 places, 140 transitions, 751 flow. Second operand has 9 states, 9 states have (on average 12.11111111111111) internal successors, (109), 9 states have internal predecessors, (109), 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-07 11:28:25,794 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:25,794 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 44 [2024-11-07 11:28:25,794 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:26,387 INFO L124 PetriNetUnfolderBase]: 3354/5668 cut-off events. [2024-11-07 11:28:26,387 INFO L125 PetriNetUnfolderBase]: For 6592/6596 co-relation queries the response was YES. [2024-11-07 11:28:26,418 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-07 11:28:26,438 INFO L140 encePairwiseOnDemand]: 35/44 looper letters, 130 selfloop transitions, 31 changer transitions 2/171 dead transitions. [2024-11-07 11:28:26,438 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 101 places, 171 transitions, 1117 flow [2024-11-07 11:28:26,438 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-07 11:28:26,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2024-11-07 11:28:26,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2024-11-07 11:28:26,439 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4630681818181818 [2024-11-07 11:28:26,439 INFO L175 Difference]: Start difference. First operand has 102 places, 140 transitions, 751 flow. Second operand 8 states and 163 transitions. [2024-11-07 11:28:26,439 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 101 places, 171 transitions, 1117 flow [2024-11-07 11:28:26,460 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 95 places, 171 transitions, 1005 flow, removed 45 selfloop flow, removed 6 redundant places. [2024-11-07 11:28:26,462 INFO L231 Difference]: Finished difference. Result has 100 places, 120 transitions, 679 flow [2024-11-07 11:28:26,462 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-07 11:28:26,463 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 57 predicate places. [2024-11-07 11:28:26,463 INFO L471 AbstractCegarLoop]: Abstraction has has 100 places, 120 transitions, 679 flow [2024-11-07 11:28:26,463 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 12.11111111111111) internal successors, (109), 9 states have internal predecessors, (109), 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-07 11:28:26,463 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:26,463 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-07 11:28:26,479 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-11-07 11:28:26,667 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:26,668 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-07 11:28:26,668 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:26,669 INFO L85 PathProgramCache]: Analyzing trace with hash -295622918, now seen corresponding path program 1 times [2024-11-07 11:28:26,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:26,669 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [283528656] [2024-11-07 11:28:26,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:26,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:26,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:26,860 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-07 11:28:26,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:26,864 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [283528656] [2024-11-07 11:28:26,864 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [283528656] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 11:28:26,864 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [413181183] [2024-11-07 11:28:26,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:26,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:26,865 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 11:28:26,866 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 11:28:26,867 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-11-07 11:28:26,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:26,948 INFO L255 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 8 conjuncts are in the unsatisfiable core [2024-11-07 11:28:26,949 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 11:28:27,034 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-07 11:28:27,034 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 11:28:27,126 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-07 11:28:27,126 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [413181183] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 11:28:27,126 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 11:28:27,126 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-11-07 11:28:27,127 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1070698854] [2024-11-07 11:28:27,127 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 11:28:27,128 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-11-07 11:28:27,128 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:27,128 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-07 11:28:27,128 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2024-11-07 11:28:27,128 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-07 11:28:27,129 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-07 11:28:27,129 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:27,129 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-07 11:28:27,129 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:27,577 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 {~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, ~n2~0=v_~n2~0_56, #memory_int#1=|v_#memory_int#1_82|, ~q2~0.offset=v_~q2~0.offset_79, ~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: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), 50#true, 498#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: 455#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 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: 463#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 338#(and (= (+ ~t~0 1) 0) (= ~s~0 0) (not (= |thread3Thread1of1ForFork1_~k~0#1| 0))), 10#L122-1true, Black: 467#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 459#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |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)), 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: 439#(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: 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)), 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-07 11:28:27,578 INFO L294 olderBase$Statistics]: this new event has 34 ancestors and is cut-off event [2024-11-07 11:28:27,578 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-11-07 11:28:27,578 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-11-07 11:28:27,578 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-11-07 11:28:27,603 INFO L124 PetriNetUnfolderBase]: 3488/6915 cut-off events. [2024-11-07 11:28:27,603 INFO L125 PetriNetUnfolderBase]: For 10395/10458 co-relation queries the response was YES. [2024-11-07 11:28:27,619 INFO L83 FinitePrefix]: Finished finitePrefix Result has 18551 conditions, 6915 events. 3488/6915 cut-off events. For 10395/10458 co-relation queries the response was YES. Maximal size of possible extension queue 354. Compared 52579 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-07 11:28:27,633 INFO L140 encePairwiseOnDemand]: 38/44 looper letters, 113 selfloop transitions, 8 changer transitions 9/171 dead transitions. [2024-11-07 11:28:27,634 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 106 places, 171 transitions, 1170 flow [2024-11-07 11:28:27,636 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-07 11:28:27,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2024-11-07 11:28:27,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 157 transitions. [2024-11-07 11:28:27,637 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5097402597402597 [2024-11-07 11:28:27,637 INFO L175 Difference]: Start difference. First operand has 100 places, 120 transitions, 679 flow. Second operand 7 states and 157 transitions. [2024-11-07 11:28:27,637 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 106 places, 171 transitions, 1170 flow [2024-11-07 11:28:27,681 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 104 places, 171 transitions, 1148 flow, removed 4 selfloop flow, removed 2 redundant places. [2024-11-07 11:28:27,683 INFO L231 Difference]: Finished difference. Result has 107 places, 121 transitions, 720 flow [2024-11-07 11:28:27,683 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-07 11:28:27,684 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 64 predicate places. [2024-11-07 11:28:27,684 INFO L471 AbstractCegarLoop]: Abstraction has has 107 places, 121 transitions, 720 flow [2024-11-07 11:28:27,684 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-07 11:28:27,684 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:27,684 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-07 11:28:27,699 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-11-07 11:28:27,884 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,4 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:27,885 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-07 11:28:27,885 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:27,885 INFO L85 PathProgramCache]: Analyzing trace with hash 1105036102, now seen corresponding path program 2 times [2024-11-07 11:28:27,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:27,885 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986840486] [2024-11-07 11:28:27,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:27,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:27,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:28,138 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-07 11:28:28,138 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:28,138 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986840486] [2024-11-07 11:28:28,138 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1986840486] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 11:28:28,138 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1411135225] [2024-11-07 11:28:28,138 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-07 11:28:28,139 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:28,139 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 11:28:28,141 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 11:28:28,142 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-11-07 11:28:28,214 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-07 11:28:28,214 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 11:28:28,216 INFO L255 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-11-07 11:28:28,217 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 11:28:28,841 INFO L349 Elim1Store]: treesize reduction 25, result has 49.0 percent of original size [2024-11-07 11:28:28,841 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-07 11:28:28,957 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-07 11:28:28,958 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 11:28:29,532 INFO L349 Elim1Store]: treesize reduction 9, result has 90.3 percent of original size [2024-11-07 11:28:29,533 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-07 11:28:29,837 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-07 11:28:29,837 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1411135225] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 11:28:29,837 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 11:28:29,837 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 12, 13] total 31 [2024-11-07 11:28:29,837 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [137401085] [2024-11-07 11:28:29,837 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 11:28:29,838 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2024-11-07 11:28:29,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:29,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2024-11-07 11:28:29,839 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=852, Unknown=0, NotChecked=0, Total=992 [2024-11-07 11:28:29,885 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 44 [2024-11-07 11:28:29,886 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-07 11:28:29,886 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:29,886 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 44 [2024-11-07 11:28:29,886 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:38,436 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-07 11:28:44,142 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-07 11:28:46,976 INFO L124 PetriNetUnfolderBase]: 23440/37414 cut-off events. [2024-11-07 11:28:46,976 INFO L125 PetriNetUnfolderBase]: For 73748/74008 co-relation queries the response was YES. [2024-11-07 11:28:47,168 INFO L83 FinitePrefix]: Finished finitePrefix Result has 114617 conditions, 37414 events. 23440/37414 cut-off events. For 73748/74008 co-relation queries the response was YES. Maximal size of possible extension queue 1356. Compared 276247 event pairs, 2470 based on Foata normal form. 565/37936 useless extension candidates. Maximal degree in co-relation 114593. Up to 5933 conditions per place. [2024-11-07 11:28:47,282 INFO L140 encePairwiseOnDemand]: 27/44 looper letters, 851 selfloop transitions, 358 changer transitions 3/1218 dead transitions. [2024-11-07 11:28:47,282 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 174 places, 1218 transitions, 8637 flow [2024-11-07 11:28:47,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2024-11-07 11:28:47,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2024-11-07 11:28:47,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 1403 transitions. [2024-11-07 11:28:47,291 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.46891711229946526 [2024-11-07 11:28:47,291 INFO L175 Difference]: Start difference. First operand has 107 places, 121 transitions, 720 flow. Second operand 68 states and 1403 transitions. [2024-11-07 11:28:47,291 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 174 places, 1218 transitions, 8637 flow [2024-11-07 11:28:47,653 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 170 places, 1218 transitions, 8240 flow, removed 194 selfloop flow, removed 4 redundant places. [2024-11-07 11:28:47,663 INFO L231 Difference]: Finished difference. Result has 221 places, 546 transitions, 5366 flow [2024-11-07 11:28:47,664 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-07 11:28:47,665 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 178 predicate places. [2024-11-07 11:28:47,666 INFO L471 AbstractCegarLoop]: Abstraction has has 221 places, 546 transitions, 5366 flow [2024-11-07 11:28:47,666 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-07 11:28:47,666 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:47,666 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-07 11:28:47,681 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-11-07 11:28:47,867 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2024-11-07 11:28:47,867 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-07 11:28:47,868 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:47,868 INFO L85 PathProgramCache]: Analyzing trace with hash -816661134, now seen corresponding path program 1 times [2024-11-07 11:28:47,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:47,869 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2127534551] [2024-11-07 11:28:47,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:47,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:47,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:48,015 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-07 11:28:48,015 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:28:48,015 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2127534551] [2024-11-07 11:28:48,015 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2127534551] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 11:28:48,015 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1635262456] [2024-11-07 11:28:48,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:48,015 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:28:48,015 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 11:28:48,023 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 11:28:48,033 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-07 11:28:48,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:28:48,159 INFO L255 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-07 11:28:48,160 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 11:28:48,236 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-07 11:28:48,236 INFO L307 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-11-07 11:28:48,236 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1635262456] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 11:28:48,236 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-11-07 11:28:48,236 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [6] total 8 [2024-11-07 11:28:48,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1729959503] [2024-11-07 11:28:48,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 11:28:48,237 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-07 11:28:48,237 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:28:48,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-07 11:28:48,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2024-11-07 11:28:48,238 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 44 [2024-11-07 11:28:48,238 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-07 11:28:48,238 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:28:48,238 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 44 [2024-11-07 11:28:48,238 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:28:53,490 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 {~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, ~n2~0=v_~n2~0_56, #memory_int#1=|v_#memory_int#1_82|, ~q2~0.offset=v_~q2~0.offset_79, ~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][511], [6#L121-4true, 1136#true, 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: 1018#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_33 Int) (v_~q1_back~0_145 Int) (v_subst_32 Int)) (and (<= v_~q1_back~0_145 0) (= 2 (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_145 4) v_subst_32))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 996#(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: 1008#(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_103 Int) (v_subst_27 Int) (v_~q1_back~0_145 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_145 4) v_subst_26))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 1030#(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: 1064#(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: 1074#(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: 1010#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 1040#(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: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), Black: 1024#(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: 1006#(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: 1014#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_29 Int) (v_~q1_back~0_145 Int) (v_subst_30 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_145 4) v_subst_29))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 992#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (exists ((v_subst_15 Int) (v_~q1_front~0_103 Int) (v_subst_16 Int) (v_~q1_back~0_145 Int)) (and (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_103 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (<= (+ v_~q1_front~0_103 1) ~n1~0) (<= (+ v_~q1_back~0_145 1) ~q1_back~0) (= 2 (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_145 4) v_subst_15))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= ~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: 1050#(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))), 50#true, Black: 1062#(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: 900#(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: 1036#(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: 982#(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: 1066#(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: 889#(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: 732#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 872#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 721#(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: 1012#(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: 1052#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 502#(<= ~n1~0 1), Black: 942#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 885#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1046#(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: 907#(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: 725#true, Black: 980#(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: 1044#(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: 1048#(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: 1016#(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: 1078#(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: 896#(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|)), 375#true, Black: 1038#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 1042#(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: 1056#(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: 1084#(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: 1034#(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: 1058#(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|))), Black: 929#(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: 1072#(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: 1026#(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: 990#(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: 859#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 1022#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_36 Int) (v_subst_35 Int) (v_~q1_back~0_145 Int)) (and (= (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_145 4) v_subst_35)) 2) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (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)), Black: 986#(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: 1028#(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: 455#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), 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: 463#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 994#(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: 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: 1004#(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: 467#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 459#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |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: 439#(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: 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: 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)), 1002#(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: 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))), 13#L77true]) [2024-11-07 11:28:53,491 INFO L294 olderBase$Statistics]: this new event has 41 ancestors and is cut-off event [2024-11-07 11:28:53,491 INFO L297 olderBase$Statistics]: existing Event has 41 ancestors and is cut-off event [2024-11-07 11:28:53,491 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-11-07 11:28:53,491 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-11-07 11:28:53,494 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 {~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, ~n2~0=v_~n2~0_56, #memory_int#1=|v_#memory_int#1_82|, ~q2~0.offset=v_~q2~0.offset_79, ~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][543], [6#L121-4true, 1136#true, 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: 1018#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_33 Int) (v_~q1_back~0_145 Int) (v_subst_32 Int)) (and (<= v_~q1_back~0_145 0) (= 2 (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_145 4) v_subst_32))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 996#(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: 1008#(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_103 Int) (v_subst_27 Int) (v_~q1_back~0_145 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_145 4) v_subst_26))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 1030#(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: 1064#(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: 1074#(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: 1010#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 1040#(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: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), Black: 1024#(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: 1006#(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: 1014#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_29 Int) (v_~q1_back~0_145 Int) (v_subst_30 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_145 4) v_subst_29))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 992#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (exists ((v_subst_15 Int) (v_~q1_front~0_103 Int) (v_subst_16 Int) (v_~q1_back~0_145 Int)) (and (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_103 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (<= (+ v_~q1_front~0_103 1) ~n1~0) (<= (+ v_~q1_back~0_145 1) ~q1_back~0) (= 2 (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_145 4) v_subst_15))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= ~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: 1050#(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))), 50#true, Black: 1062#(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: 900#(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: 1036#(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: 982#(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: 1066#(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: 889#(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: 732#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 872#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 721#(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: 1012#(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: 1052#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 502#(<= ~n1~0 1), Black: 942#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 885#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1046#(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: 907#(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: 725#true, Black: 980#(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: 1044#(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: 1048#(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: 1016#(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: 1078#(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: 896#(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|)), 375#true, Black: 1038#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 1042#(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: 1056#(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: 1084#(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: 1034#(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: 1058#(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|))), Black: 929#(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: 1072#(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: 1026#(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: 990#(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: 859#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 1022#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_36 Int) (v_subst_35 Int) (v_~q1_back~0_145 Int)) (and (= (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_145 4) v_subst_35)) 2) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (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)), Black: 986#(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: 1028#(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: 455#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), 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: 994#(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: 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: 463#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 1004#(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: 467#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 459#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |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: 439#(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: 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: 91#(= (+ (* 2 ~t~0) 2) ~s~0), 1002#(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: 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: 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)))]) [2024-11-07 11:28:53,495 INFO L294 olderBase$Statistics]: this new event has 42 ancestors and is cut-off event [2024-11-07 11:28:53,495 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-07 11:28:53,495 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-07 11:28:53,495 INFO L297 olderBase$Statistics]: existing Event has 42 ancestors and is cut-off event [2024-11-07 11:28:53,627 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 {~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, ~n2~0=v_~n2~0_56, #memory_int#1=|v_#memory_int#1_82|, ~q2~0.offset=v_~q2~0.offset_79, ~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][511], [18#L122true, 1136#true, 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: 1018#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_33 Int) (v_~q1_back~0_145 Int) (v_subst_32 Int)) (and (<= v_~q1_back~0_145 0) (= 2 (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_145 4) v_subst_32))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 996#(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: 1008#(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_103 Int) (v_subst_27 Int) (v_~q1_back~0_145 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_145 4) v_subst_26))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 1030#(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: 1064#(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: 1074#(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: 1010#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 1040#(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: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), Black: 1024#(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: 1006#(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: 1014#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_29 Int) (v_~q1_back~0_145 Int) (v_subst_30 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_145 4) v_subst_29))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 992#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (exists ((v_subst_15 Int) (v_~q1_front~0_103 Int) (v_subst_16 Int) (v_~q1_back~0_145 Int)) (and (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_103 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (<= (+ v_~q1_front~0_103 1) ~n1~0) (<= (+ v_~q1_back~0_145 1) ~q1_back~0) (= 2 (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_145 4) v_subst_15))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= ~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: 1050#(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))), 50#true, Black: 1062#(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: 900#(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: 1036#(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: 982#(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: 1066#(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: 889#(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: 732#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 872#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1012#(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: 721#(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: 1052#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 502#(<= ~n1~0 1), Black: 942#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 885#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1046#(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: 907#(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: 725#true, Black: 980#(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: 1044#(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: 1048#(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: 1016#(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: 1078#(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: 896#(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|)), 375#true, Black: 1038#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 1042#(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: 1056#(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: 1084#(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: 1034#(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: 1058#(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|))), Black: 929#(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: 1072#(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: 1026#(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: 990#(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: 859#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 1022#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_36 Int) (v_subst_35 Int) (v_~q1_back~0_145 Int)) (and (= (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_145 4) v_subst_35)) 2) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (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)), Black: 986#(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: 455#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), 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: 1028#(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: 463#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 994#(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: 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: 467#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 1004#(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: 459#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |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: 439#(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: 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: 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)), 1002#(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: 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))), 13#L77true]) [2024-11-07 11:28:53,628 INFO L294 olderBase$Statistics]: this new event has 42 ancestors and is cut-off event [2024-11-07 11:28:53,628 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-07 11:28:53,628 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-11-07 11:28:53,628 INFO L297 olderBase$Statistics]: existing Event has 42 ancestors and is cut-off event [2024-11-07 11:28:53,632 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 {~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, ~n2~0=v_~n2~0_56, #memory_int#1=|v_#memory_int#1_82|, ~q2~0.offset=v_~q2~0.offset_79, ~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][543], [18#L122true, 1136#true, 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: 1018#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_33 Int) (v_~q1_back~0_145 Int) (v_subst_32 Int)) (and (<= v_~q1_back~0_145 0) (= 2 (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_145 4) v_subst_32))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 996#(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: 1008#(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_103 Int) (v_subst_27 Int) (v_~q1_back~0_145 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_145 4) v_subst_26))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 1030#(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: 1064#(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: 1074#(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: 1010#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 1040#(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: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), Black: 1024#(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: 1006#(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: 1014#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_29 Int) (v_~q1_back~0_145 Int) (v_subst_30 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_145 4) v_subst_29))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 992#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (exists ((v_subst_15 Int) (v_~q1_front~0_103 Int) (v_subst_16 Int) (v_~q1_back~0_145 Int)) (and (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_103 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (<= (+ v_~q1_front~0_103 1) ~n1~0) (<= (+ v_~q1_back~0_145 1) ~q1_back~0) (= 2 (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_145 4) v_subst_15))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= ~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: 1050#(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))), 50#true, Black: 1062#(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: 900#(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: 1036#(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: 982#(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: 1066#(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: 889#(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: 732#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 872#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1012#(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: 721#(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: 1052#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 502#(<= ~n1~0 1), Black: 942#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 885#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1046#(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: 907#(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: 725#true, Black: 980#(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: 1044#(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: 1048#(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: 1016#(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: 1078#(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: 896#(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|)), 375#true, Black: 1038#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 1042#(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: 1056#(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: 1084#(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: 1034#(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: 1058#(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|))), Black: 929#(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: 1072#(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: 1026#(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: 990#(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: 859#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 1022#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_36 Int) (v_subst_35 Int) (v_~q1_back~0_145 Int)) (and (= (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_145 4) v_subst_35)) 2) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (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)), Black: 986#(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: 455#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), 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: 1028#(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: 463#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 994#(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: 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: 467#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 1004#(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: 459#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |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)), 34#L65-2true, Black: 439#(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: 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: 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)), 1002#(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: 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)))]) [2024-11-07 11:28:53,632 INFO L294 olderBase$Statistics]: this new event has 43 ancestors and is cut-off event [2024-11-07 11:28:53,632 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-07 11:28:53,632 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-07 11:28:53,632 INFO L297 olderBase$Statistics]: existing Event has 43 ancestors and is cut-off event [2024-11-07 11:28:53,754 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 {~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, ~n2~0=v_~n2~0_56, #memory_int#1=|v_#memory_int#1_82|, ~q2~0.offset=v_~q2~0.offset_79, ~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][511], [1136#true, 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: 1018#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_33 Int) (v_~q1_back~0_145 Int) (v_subst_32 Int)) (and (<= v_~q1_back~0_145 0) (= 2 (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_145 4) v_subst_32))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 996#(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: 1008#(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_103 Int) (v_subst_27 Int) (v_~q1_back~0_145 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_145 4) v_subst_26))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 1030#(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: 1064#(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: 1074#(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: 1010#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 1040#(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: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), Black: 1024#(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: 1006#(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: 1014#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_29 Int) (v_~q1_back~0_145 Int) (v_subst_30 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_145 4) v_subst_29))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 992#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (exists ((v_subst_15 Int) (v_~q1_front~0_103 Int) (v_subst_16 Int) (v_~q1_back~0_145 Int)) (and (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_103 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (<= (+ v_~q1_front~0_103 1) ~n1~0) (<= (+ v_~q1_back~0_145 1) ~q1_back~0) (= 2 (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_145 4) v_subst_15))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= ~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: 1050#(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))), 50#true, Black: 1062#(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: 900#(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: 1036#(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: 982#(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: 1066#(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: 889#(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: 732#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 872#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1012#(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: 721#(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: 1052#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 502#(<= ~n1~0 1), Black: 942#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 885#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1046#(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: 907#(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: 725#true, Black: 980#(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: 1044#(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: 1048#(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: 1016#(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: 1078#(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: 896#(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|)), 375#true, Black: 1038#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 1042#(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: 1056#(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: 1084#(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: 1034#(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: 1058#(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|))), Black: 929#(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: 1072#(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: 1026#(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: 990#(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: 859#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 1022#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_36 Int) (v_subst_35 Int) (v_~q1_back~0_145 Int)) (and (= (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_145 4) v_subst_35)) 2) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (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)), Black: 986#(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: 455#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), 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: 1028#(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: 463#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 0)), Black: 994#(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: 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: 467#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 1004#(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: 459#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |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: 439#(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: 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: 91#(= (+ (* 2 ~t~0) 2) ~s~0), 1002#(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: 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: 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))), 13#L77true]) [2024-11-07 11:28:53,754 INFO L294 olderBase$Statistics]: this new event has 43 ancestors and is cut-off event [2024-11-07 11:28:53,755 INFO L297 olderBase$Statistics]: existing Event has 43 ancestors and is cut-off event [2024-11-07 11:28:53,755 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-07 11:28:53,755 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-11-07 11:28:53,758 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 {~q2_front~0=v_~q2_front~0_81, ~q2~0.base=v_~q2~0.base_79, ~n2~0=v_~n2~0_56, #memory_int#1=|v_#memory_int#1_82|, ~q2~0.offset=v_~q2~0.offset_79, ~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][543], [1136#true, 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: 1018#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_33 Int) (v_~q1_back~0_145 Int) (v_subst_32 Int)) (and (<= v_~q1_back~0_145 0) (= 2 (select (select |#memory_int#1| v_subst_33) (+ (* v_~q1_back~0_145 4) v_subst_32))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (or (< (+ ~q1_front~0 ~n1~0) (+ ~q1_back~0 2)) (< ~q1_front~0 1)) (= ~q1~0.offset 0) (= ~t~0 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0)), Black: 996#(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: 1008#(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_103 Int) (v_subst_27 Int) (v_~q1_back~0_145 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_27) (+ (* v_~q1_back~0_145 4) v_subst_26))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (= ~s~0 0) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 1030#(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: 1064#(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: 1074#(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: 1010#(and (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 1040#(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: 62#(and (<= ~n1~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0)), Black: 1024#(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: 1006#(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: 1014#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_29 Int) (v_~q1_back~0_145 Int) (v_subst_30 Int)) (and (= 2 (select (select |#memory_int#1| v_subst_30) (+ (* v_~q1_back~0_145 4) v_subst_29))) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= |thread2Thread1of1ForFork0_~j~0#1| 2) (or (< ~q1_back~0 1) (not (= ~q1_front~0 0)) (< ~n1~0 3))), Black: 992#(and (<= ~q1_front~0 ~q1_back~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (exists ((v_subst_15 Int) (v_~q1_front~0_103 Int) (v_subst_16 Int) (v_~q1_back~0_145 Int)) (and (<= (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_front~0_103 4) v_subst_15)) |thread2Thread1of1ForFork0_~j~0#1|) (<= (+ v_~q1_front~0_103 1) ~n1~0) (<= (+ v_~q1_back~0_145 1) ~q1_back~0) (= 2 (select (select |#memory_int#1| v_subst_16) (+ (* v_~q1_back~0_145 4) v_subst_15))) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (= ~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: 1050#(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))), 50#true, Black: 1062#(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: 900#(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: 1036#(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: 982#(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: 1066#(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: 889#(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: 732#(and (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 872#(or (= (+ (* 2 ~t~0) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1012#(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: 721#(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: 1052#(and (= (+ (* 2 ~t~0) 2) ~s~0) (= ~q1~0.offset 0) (= |thread2Thread1of1ForFork0_~j~0#1| 2)), Black: 502#(<= ~n1~0 1), Black: 942#(or (< ~q1_front~0 0) (< ~n1~0 (+ ~q1_front~0 2)) (= ~q1_back~0 ~q1_front~0) (< ~n1~0 (+ ~q1_back~0 2))), Black: 885#(or (= (+ (* 2 ~t~0) (* 2 |thread3Thread1of1ForFork1_~k~0#1|) 2) ~s~0) (< 0 |thread2Thread1of1ForFork0_~j~0#1|)), Black: 1046#(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: 907#(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: 725#true, Black: 980#(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: 1044#(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: 1048#(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: 1016#(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: 1078#(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: 896#(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|)), 375#true, Black: 1038#(and (= (+ (* 2 ~t~0) 2) ~s~0) (or (= |thread2Thread1of1ForFork0_~j~0#1| 2) (< ~n1~0 (+ ~q1_back~0 1))) (= ~q1~0.offset 0)), Black: 1042#(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: 1056#(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: 1084#(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: 1034#(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: 1058#(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|))), Black: 929#(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: 1072#(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: 1026#(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: 990#(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: 859#(= (+ (* 2 ~t~0) 2) ~s~0), Black: 1022#(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) (exists ((v_~q1_front~0_103 Int) (v_subst_36 Int) (v_subst_35 Int) (v_~q1_back~0_145 Int)) (and (= (select (select |#memory_int#1| v_subst_36) (+ (* v_~q1_back~0_145 4) v_subst_35)) 2) (<= v_~q1_back~0_145 0) (<= 0 v_~q1_front~0_103) (<= v_~q1_front~0_103 v_~q1_back~0_145))) (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)), Black: 986#(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: 455#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~q2_back~0 ~q2_front~0) (= ~s~0 0)), 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: 1028#(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: 994#(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: 463#(and (= (+ |thread3Thread1of1ForFork1_~k~0#1| 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~t~0 0) (= ~s~0 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: 467#(and (= (+ ~t~0 1) 0) (= |thread2Thread1of1ForFork0_~j~0#1| 0) (= ~s~0 0)), Black: 1004#(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: 459#(and (exists ((~q1~0.offset Int) (v_~q1_front~0_101 Int) (~q1~0.base Int)) (= (select (select |#memory_int#1| ~q1~0.base) (+ (* v_~q1_front~0_101 4) ~q1~0.offset)) 0)) (= |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: 439#(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)), 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))), 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)), 1002#(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: 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)))]) [2024-11-07 11:28:53,758 INFO L294 olderBase$Statistics]: this new event has 44 ancestors and is cut-off event [2024-11-07 11:28:53,758 INFO L297 olderBase$Statistics]: existing Event has 40 ancestors and is cut-off event [2024-11-07 11:28:53,758 INFO L297 olderBase$Statistics]: existing Event has 40 ancestors and is cut-off event [2024-11-07 11:28:53,759 INFO L297 olderBase$Statistics]: existing Event has 44 ancestors and is cut-off event [2024-11-07 11:28:54,268 INFO L124 PetriNetUnfolderBase]: 20209/37670 cut-off events. [2024-11-07 11:28:54,268 INFO L125 PetriNetUnfolderBase]: For 609594/611242 co-relation queries the response was YES. [2024-11-07 11:28:54,943 INFO L83 FinitePrefix]: Finished finitePrefix Result has 178230 conditions, 37670 events. 20209/37670 cut-off events. For 609594/611242 co-relation queries the response was YES. Maximal size of possible extension queue 1348. Compared 344781 event pairs, 4388 based on Foata normal form. 1313/38396 useless extension candidates. Maximal degree in co-relation 178157. Up to 10612 conditions per place. [2024-11-07 11:28:55,091 INFO L140 encePairwiseOnDemand]: 41/44 looper letters, 511 selfloop transitions, 68 changer transitions 53/750 dead transitions. [2024-11-07 11:28:55,091 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 219 places, 750 transitions, 8953 flow [2024-11-07 11:28:55,095 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-07 11:28:55,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-11-07 11:28:55,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 116 transitions. [2024-11-07 11:28:55,096 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6590909090909091 [2024-11-07 11:28:55,096 INFO L175 Difference]: Start difference. First operand has 221 places, 546 transitions, 5366 flow. Second operand 4 states and 116 transitions. [2024-11-07 11:28:55,096 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 219 places, 750 transitions, 8953 flow [2024-11-07 11:28:59,559 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 216 places, 750 transitions, 7884 flow, removed 531 selfloop flow, removed 3 redundant places. [2024-11-07 11:28:59,568 INFO L231 Difference]: Finished difference. Result has 218 places, 482 transitions, 4568 flow [2024-11-07 11:28:59,568 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-07 11:28:59,570 INFO L277 CegarLoopForPetriNet]: 43 programPoint places, 175 predicate places. [2024-11-07 11:28:59,570 INFO L471 AbstractCegarLoop]: Abstraction has has 218 places, 482 transitions, 4568 flow [2024-11-07 11:28:59,571 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-07 11:28:59,571 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-07 11:28:59,571 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-07 11:28:59,585 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2024-11-07 11:28:59,774 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2024-11-07 11:28:59,775 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-07 11:28:59,776 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 11:28:59,776 INFO L85 PathProgramCache]: Analyzing trace with hash 1784712248, now seen corresponding path program 3 times [2024-11-07 11:28:59,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 11:28:59,776 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1507460999] [2024-11-07 11:28:59,776 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 11:28:59,776 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 11:28:59,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 11:29:00,064 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-07 11:29:00,066 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 11:29:00,066 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1507460999] [2024-11-07 11:29:00,066 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1507460999] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 11:29:00,066 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1494535570] [2024-11-07 11:29:00,066 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-07 11:29:00,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 11:29:00,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 11:29:00,068 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 11:29:00,070 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-11-07 11:29:00,148 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-07 11:29:00,148 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 11:29:00,149 INFO L255 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 36 conjuncts are in the unsatisfiable core [2024-11-07 11:29:00,151 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 11:29:00,603 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-07 11:29:00,603 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 11:29:01,040 INFO L349 Elim1Store]: treesize reduction 13, result has 86.0 percent of original size [2024-11-07 11:29:01,041 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 76 treesize of output 107 [2024-11-07 11:29:01,294 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-07 11:29:01,294 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1494535570] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 11:29:01,294 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 11:29:01,294 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 12, 13] total 31 [2024-11-07 11:29:01,295 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [311221977] [2024-11-07 11:29:01,295 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 11:29:01,296 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2024-11-07 11:29:01,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 11:29:01,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2024-11-07 11:29:01,297 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=155, Invalid=837, Unknown=0, NotChecked=0, Total=992 [2024-11-07 11:29:01,420 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 44 [2024-11-07 11:29:01,421 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 218 places, 482 transitions, 4568 flow. Second operand has 32 states, 32 states have (on average 10.875) internal successors, (348), 32 states have internal predecessors, (348), 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-07 11:29:01,421 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-07 11:29:01,421 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 44 [2024-11-07 11:29:01,421 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-07 11:29:04,250 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.63s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-11-07 11:29:08,664 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 [0, 1] [2024-11-07 11:29:10,931 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.40s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2024-11-07 11:29:31,028 INFO L124 PetriNetUnfolderBase]: 71469/111981 cut-off events. [2024-11-07 11:29:31,029 INFO L125 PetriNetUnfolderBase]: For 1769385/1771033 co-relation queries the response was YES. [2024-11-07 11:29:33,017 INFO L83 FinitePrefix]: Finished finitePrefix Result has 542061 conditions, 111981 events. 71469/111981 cut-off events. For 1769385/1771033 co-relation queries the response was YES. Maximal size of possible extension queue 2865. Compared 914727 event pairs, 10736 based on Foata normal form. 1303/113233 useless extension candidates. Maximal degree in co-relation 541985. Up to 37566 conditions per place. [2024-11-07 11:29:33,548 INFO L140 encePairwiseOnDemand]: 28/44 looper letters, 1276 selfloop transitions, 736 changer transitions 4/2021 dead transitions. [2024-11-07 11:29:33,548 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 248 places, 2021 transitions, 23660 flow [2024-11-07 11:29:33,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 61 states. [2024-11-07 11:29:33,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2024-11-07 11:29:33,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 1248 transitions. [2024-11-07 11:29:33,552 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.46497764530551416 [2024-11-07 11:29:33,552 INFO L175 Difference]: Start difference. First operand has 218 places, 482 transitions, 4568 flow. Second operand 61 states and 1248 transitions. [2024-11-07 11:29:33,552 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 248 places, 2021 transitions, 23660 flow