./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --validate ./goblint.2024-05-07_14-17-48.files/mutex-meet/popl20-prod-cons-eq.wvr.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version b44c8288 Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c ./goblint.2024-05-07_14-17-48.files/mutex-meet/popl20-prod-cons-eq.wvr.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --- Real Ultimate output --- This is Ultimate 0.2.4-wip.fs.witness-ghost-b44c828-m [2024-05-12 11:02:27,968 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-05-12 11:02:28,032 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-05-12 11:02:28,037 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-05-12 11:02:28,037 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-05-12 11:02:28,062 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-05-12 11:02:28,063 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-05-12 11:02:28,063 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-05-12 11:02:28,063 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-05-12 11:02:28,066 INFO L153 SettingsManager]: * Use memory slicer=true [2024-05-12 11:02:28,067 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-05-12 11:02:28,067 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-05-12 11:02:28,068 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-05-12 11:02:28,069 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-05-12 11:02:28,069 INFO L153 SettingsManager]: * Use SBE=true [2024-05-12 11:02:28,069 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-05-12 11:02:28,069 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-05-12 11:02:28,070 INFO L153 SettingsManager]: * sizeof long=4 [2024-05-12 11:02:28,070 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-05-12 11:02:28,070 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-05-12 11:02:28,070 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-05-12 11:02:28,070 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-05-12 11:02:28,071 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-05-12 11:02:28,071 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-05-12 11:02:28,071 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-05-12 11:02:28,071 INFO L153 SettingsManager]: * sizeof long double=12 [2024-05-12 11:02:28,071 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-05-12 11:02:28,072 INFO L153 SettingsManager]: * Use constant arrays=true [2024-05-12 11:02:28,072 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-05-12 11:02:28,072 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-05-12 11:02:28,073 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-05-12 11:02:28,073 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-05-12 11:02:28,073 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-05-12 11:02:28,074 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-05-12 11:02:28,074 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-05-12 11:02:28,074 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-05-12 11:02:28,074 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-05-12 11:02:28,074 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-05-12 11:02:28,074 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-05-12 11:02:28,075 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-05-12 11:02:28,075 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-05-12 11:02:28,075 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-05-12 11:02:28,075 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-05-12 11:02:28,075 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false [2024-05-12 11:02:28,289 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-05-12 11:02:28,310 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-05-12 11:02:28,312 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-05-12 11:02:28,313 INFO L270 PluginConnector]: Initializing CDTParser... [2024-05-12 11:02:28,313 INFO L274 PluginConnector]: CDTParser initialized [2024-05-12 11:02:28,314 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c [2024-05-12 11:02:29,378 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-05-12 11:02:29,551 INFO L384 CDTParser]: Found 1 translation units. [2024-05-12 11:02:29,554 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c [2024-05-12 11:02:29,560 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9b0447d35/04d8fcf59e6b4d3e9618fdb35e526ffd/FLAG6178ff434 [2024-05-12 11:02:29,572 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9b0447d35/04d8fcf59e6b4d3e9618fdb35e526ffd [2024-05-12 11:02:29,573 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-05-12 11:02:29,579 INFO L274 PluginConnector]: Witness Parser initialized [2024-05-12 11:02:29,580 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./goblint.2024-05-07_14-17-48.files/mutex-meet/popl20-prod-cons-eq.wvr.yml/witness.yml [2024-05-12 11:02:29,652 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-05-12 11:02:29,653 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-05-12 11:02:29,654 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-05-12 11:02:29,654 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-05-12 11:02:29,658 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-05-12 11:02:29,658 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.05 11:02:29" (1/2) ... [2024-05-12 11:02:29,659 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6e22d345 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.05 11:02:29, skipping insertion in model container [2024-05-12 11:02:29,659 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.05 11:02:29" (1/2) ... [2024-05-12 11:02:29,661 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@59cfaf20 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.05 11:02:29, skipping insertion in model container [2024-05-12 11:02:29,661 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 12.05 11:02:29" (2/2) ... [2024-05-12 11:02:29,662 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6e22d345 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:29, skipping insertion in model container [2024-05-12 11:02:29,663 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 12.05 11:02:29" (2/2) ... [2024-05-12 11:02:29,663 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-05-12 11:02:29,679 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-05-12 11:02:29,680 INFO L97 edCorrectnessWitness]: Location invariant before [L133-L133] ! multithreaded || ((((((((((((((((((((((((((((((((((((((((((((((((((4294967296LL + (long long )front1) + (long long )n_queue >= 0LL && (4294967296LL + (long long )front1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )front1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )front1) + (long long )n1 >= 0LL) && (4294967296LL + (long long )front1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n_queue) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_queue) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n2 >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n1 >= 0LL) && (4294967295LL + (long long )front1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n_queue) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_queue) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n2 >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_update >= 0LL) [2024-05-12 11:02:29,681 INFO L97 edCorrectnessWitness]: Location invariant before [L134-L134] ! multithreaded || ((((((((((((((((((((((((((((((((((((((((((((((((((4294967296LL + (long long )front1) + (long long )n_queue >= 0LL && (4294967296LL + (long long )front1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )front1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )front1) + (long long )n1 >= 0LL) && (4294967296LL + (long long )front1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n_queue) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_queue) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n2 >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n1 >= 0LL) && (4294967295LL + (long long )front1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n_queue) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_queue) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n2 >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_update >= 0LL) [2024-05-12 11:02:29,681 INFO L97 edCorrectnessWitness]: Location invariant before [L132-L132] ! multithreaded || ((((((((((((((((((((((((((((((((((((((((((((((((((4294967296LL + (long long )front1) + (long long )n_queue >= 0LL && (4294967296LL + (long long )front1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )front1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )front1) + (long long )n1 >= 0LL) && (4294967296LL + (long long )front1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n_queue) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_queue) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n2 >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n1 >= 0LL) && (4294967295LL + (long long )front1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n_queue) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_queue) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n2 >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_update >= 0LL) [2024-05-12 11:02:29,681 INFO L103 edCorrectnessWitness]: ghost_variable multithreaded = 0 [2024-05-12 11:02:29,681 INFO L106 edCorrectnessWitness]: ghost_update [L131-L131] multithreaded = 1; [2024-05-12 11:02:29,701 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-05-12 11:02:29,888 WARN L246 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c[4380,4393] [2024-05-12 11:02:29,902 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-05-12 11:02:29,912 INFO L202 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-05-12 11:02:30,033 WARN L246 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c[4380,4393] [2024-05-12 11:02:30,045 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-05-12 11:02:30,058 INFO L206 MainTranslator]: Completed translation [2024-05-12 11:02:30,059 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30 WrapperNode [2024-05-12 11:02:30,059 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-05-12 11:02:30,060 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-05-12 11:02:30,060 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-05-12 11:02:30,060 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-05-12 11:02:30,065 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,074 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,126 INFO L138 Inliner]: procedures = 28, calls = 80, calls flagged for inlining = 26, calls inlined = 32, statements flattened = 417 [2024-05-12 11:02:30,134 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-05-12 11:02:30,137 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-05-12 11:02:30,138 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-05-12 11:02:30,138 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-05-12 11:02:30,146 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,147 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,158 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,181 INFO L175 MemorySlicer]: Split 30 memory accesses to 7 slices as follows [2, 2, 2, 16, 3, 2, 3]. 53 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0, 0, 0]. The 9 writes are split as follows [0, 1, 1, 4, 1, 1, 1]. [2024-05-12 11:02:30,187 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,187 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,202 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,211 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,214 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,216 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,219 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-05-12 11:02:30,220 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-05-12 11:02:30,220 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-05-12 11:02:30,220 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-05-12 11:02:30,221 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (1/1) ... [2024-05-12 11:02:30,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-05-12 11:02:30,230 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-05-12 11:02:30,260 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-05-12 11:02:30,274 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-05-12 11:02:30,298 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-05-12 11:02:30,298 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#0 [2024-05-12 11:02:30,298 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#1 [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#2 [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#3 [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#4 [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#5 [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#6 [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-05-12 11:02:30,299 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-05-12 11:02:30,300 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-05-12 11:02:30,300 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-05-12 11:02:30,300 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-05-12 11:02:30,300 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2024-05-12 11:02:30,300 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#6 [2024-05-12 11:02:30,300 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-05-12 11:02:30,300 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-05-12 11:02:30,301 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-05-12 11:02:30,301 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-05-12 11:02:30,301 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-05-12 11:02:30,301 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2024-05-12 11:02:30,301 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#6 [2024-05-12 11:02:30,301 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#0 [2024-05-12 11:02:30,301 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#1 [2024-05-12 11:02:30,302 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#2 [2024-05-12 11:02:30,302 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#3 [2024-05-12 11:02:30,302 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#4 [2024-05-12 11:02:30,302 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#5 [2024-05-12 11:02:30,302 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#6 [2024-05-12 11:02:30,302 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-05-12 11:02:30,302 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-05-12 11:02:30,302 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-05-12 11:02:30,302 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-05-12 11:02:30,303 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-05-12 11:02:30,303 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-05-12 11:02:30,303 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-05-12 11:02:30,303 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-05-12 11:02:30,303 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-05-12 11:02:30,303 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-05-12 11:02:30,303 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-05-12 11:02:30,303 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-05-12 11:02:30,304 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2024-05-12 11:02:30,304 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-05-12 11:02:30,304 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-05-12 11:02:30,304 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-05-12 11:02:30,304 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-05-12 11:02:30,304 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-05-12 11:02:30,304 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-05-12 11:02:30,306 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-05-12 11:02:30,433 INFO L244 CfgBuilder]: Building ICFG [2024-05-12 11:02:30,435 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-05-12 11:02:30,970 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-05-12 11:02:30,970 INFO L293 CfgBuilder]: Performing block encoding [2024-05-12 11:02:31,344 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-05-12 11:02:31,344 INFO L320 CfgBuilder]: Removed 9 assume(true) statements. [2024-05-12 11:02:31,345 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.05 11:02:31 BoogieIcfgContainer [2024-05-12 11:02:31,345 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-05-12 11:02:31,346 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-05-12 11:02:31,347 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-05-12 11:02:31,349 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-05-12 11:02:31,349 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 12.05 11:02:29" (1/4) ... [2024-05-12 11:02:31,350 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cf091e4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 12.05 11:02:31, skipping insertion in model container [2024-05-12 11:02:31,350 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 12.05 11:02:29" (2/4) ... [2024-05-12 11:02:31,351 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cf091e4 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 12.05 11:02:31, skipping insertion in model container [2024-05-12 11:02:31,351 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:02:30" (3/4) ... [2024-05-12 11:02:31,352 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cf091e4 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 12.05 11:02:31, skipping insertion in model container [2024-05-12 11:02:31,353 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.05 11:02:31" (4/4) ... [2024-05-12 11:02:31,355 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-prod-cons-eq.wvr.c [2024-05-12 11:02:31,369 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-05-12 11:02:31,370 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2024-05-12 11:02:31,370 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-05-12 11:02:31,422 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-05-12 11:02:31,453 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 51 places, 50 transitions, 121 flow [2024-05-12 11:02:31,482 INFO L124 PetriNetUnfolderBase]: 9/47 cut-off events. [2024-05-12 11:02:31,483 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-05-12 11:02:31,487 INFO L83 FinitePrefix]: Finished finitePrefix Result has 60 conditions, 47 events. 9/47 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 41 event pairs, 0 based on Foata normal form. 0/34 useless extension candidates. Maximal degree in co-relation 37. Up to 2 conditions per place. [2024-05-12 11:02:31,487 INFO L82 GeneralOperation]: Start removeDead. Operand has 51 places, 50 transitions, 121 flow [2024-05-12 11:02:31,493 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 47 places, 46 transitions, 110 flow [2024-05-12 11:02:31,505 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-05-12 11:02:31,511 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, 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;@5a0b638d, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-05-12 11:02:31,512 INFO L358 AbstractCegarLoop]: Starting to check reachability of 7 error locations. [2024-05-12 11:02:31,521 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-05-12 11:02:31,521 INFO L124 PetriNetUnfolderBase]: 6/20 cut-off events. [2024-05-12 11:02:31,521 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-05-12 11:02:31,522 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:31,522 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:31,523 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:31,526 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:31,527 INFO L85 PathProgramCache]: Analyzing trace with hash -983855276, now seen corresponding path program 1 times [2024-05-12 11:02:31,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:31,534 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [378041780] [2024-05-12 11:02:31,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:31,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:31,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:33,195 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-12 11:02:33,195 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:33,196 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [378041780] [2024-05-12 11:02:33,197 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [378041780] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:33,197 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:33,197 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:02:33,198 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383957311] [2024-05-12 11:02:33,199 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:33,206 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:02:33,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:33,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:02:33,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:02:33,247 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:02:33,249 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 47 places, 46 transitions, 110 flow. Second operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:33,249 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:33,249 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:02:33,250 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:33,712 INFO L124 PetriNetUnfolderBase]: 274/429 cut-off events. [2024-05-12 11:02:33,712 INFO L125 PetriNetUnfolderBase]: For 10/10 co-relation queries the response was YES. [2024-05-12 11:02:33,714 INFO L83 FinitePrefix]: Finished finitePrefix Result has 895 conditions, 429 events. 274/429 cut-off events. For 10/10 co-relation queries the response was YES. Maximal size of possible extension queue 39. Compared 1596 event pairs, 191 based on Foata normal form. 0/372 useless extension candidates. Maximal degree in co-relation 762. Up to 410 conditions per place. [2024-05-12 11:02:33,717 INFO L140 encePairwiseOnDemand]: 45/50 looper letters, 36 selfloop transitions, 2 changer transitions 0/43 dead transitions. [2024-05-12 11:02:33,717 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 47 places, 43 transitions, 180 flow [2024-05-12 11:02:33,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-05-12 11:02:33,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-05-12 11:02:33,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2024-05-12 11:02:33,726 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.365 [2024-05-12 11:02:33,727 INFO L175 Difference]: Start difference. First operand has 47 places, 46 transitions, 110 flow. Second operand 4 states and 73 transitions. [2024-05-12 11:02:33,728 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 47 places, 43 transitions, 180 flow [2024-05-12 11:02:33,730 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 41 places, 43 transitions, 168 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-05-12 11:02:33,732 INFO L231 Difference]: Finished difference. Result has 41 places, 43 transitions, 96 flow [2024-05-12 11:02:33,733 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=92, PETRI_DIFFERENCE_MINUEND_PLACES=38, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=43, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=96, PETRI_PLACES=41, PETRI_TRANSITIONS=43} [2024-05-12 11:02:33,735 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, -6 predicate places. [2024-05-12 11:02:33,736 INFO L495 AbstractCegarLoop]: Abstraction has has 41 places, 43 transitions, 96 flow [2024-05-12 11:02:33,736 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:33,736 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:33,736 INFO L208 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] [2024-05-12 11:02:33,736 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-05-12 11:02:33,737 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:33,737 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:33,737 INFO L85 PathProgramCache]: Analyzing trace with hash 1696164880, now seen corresponding path program 1 times [2024-05-12 11:02:33,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:33,738 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [234409364] [2024-05-12 11:02:33,738 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:33,738 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:33,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:33,804 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-12 11:02:33,805 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:33,805 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [234409364] [2024-05-12 11:02:33,805 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [234409364] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:33,805 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:33,805 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:02:33,806 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1187445559] [2024-05-12 11:02:33,806 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:33,807 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-12 11:02:33,807 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:33,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-12 11:02:33,808 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-12 11:02:33,808 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:33,808 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 41 places, 43 transitions, 96 flow. Second operand has 3 states, 3 states have (on average 19.666666666666668) internal successors, (59), 3 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:33,808 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:33,808 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:33,809 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:33,991 INFO L124 PetriNetUnfolderBase]: 511/819 cut-off events. [2024-05-12 11:02:33,991 INFO L125 PetriNetUnfolderBase]: For 8/8 co-relation queries the response was YES. [2024-05-12 11:02:33,992 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1576 conditions, 819 events. 511/819 cut-off events. For 8/8 co-relation queries the response was YES. Maximal size of possible extension queue 70. Compared 3506 event pairs, 118 based on Foata normal form. 1/734 useless extension candidates. Maximal degree in co-relation 1553. Up to 481 conditions per place. [2024-05-12 11:02:33,994 INFO L140 encePairwiseOnDemand]: 46/50 looper letters, 52 selfloop transitions, 3 changer transitions 1/61 dead transitions. [2024-05-12 11:02:33,995 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 43 places, 61 transitions, 248 flow [2024-05-12 11:02:33,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-12 11:02:33,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-05-12 11:02:33,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 90 transitions. [2024-05-12 11:02:33,996 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6 [2024-05-12 11:02:33,997 INFO L175 Difference]: Start difference. First operand has 41 places, 43 transitions, 96 flow. Second operand 3 states and 90 transitions. [2024-05-12 11:02:33,997 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 43 places, 61 transitions, 248 flow [2024-05-12 11:02:33,997 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 41 places, 61 transitions, 245 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-05-12 11:02:33,998 INFO L231 Difference]: Finished difference. Result has 42 places, 45 transitions, 112 flow [2024-05-12 11:02:33,998 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=93, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=43, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=40, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=112, PETRI_PLACES=42, PETRI_TRANSITIONS=45} [2024-05-12 11:02:33,999 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, -5 predicate places. [2024-05-12 11:02:33,999 INFO L495 AbstractCegarLoop]: Abstraction has has 42 places, 45 transitions, 112 flow [2024-05-12 11:02:33,999 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 19.666666666666668) internal successors, (59), 3 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:34,000 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:34,000 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:34,000 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-05-12 11:02:34,000 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:34,000 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:34,000 INFO L85 PathProgramCache]: Analyzing trace with hash 1820839381, now seen corresponding path program 1 times [2024-05-12 11:02:34,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:34,001 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55386948] [2024-05-12 11:02:34,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:34,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:34,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:34,158 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-12 11:02:34,158 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:34,158 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [55386948] [2024-05-12 11:02:34,158 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [55386948] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:34,158 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:34,159 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-05-12 11:02:34,159 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1456774792] [2024-05-12 11:02:34,159 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:34,159 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:02:34,159 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:34,160 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:02:34,160 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:02:34,171 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:34,171 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 42 places, 45 transitions, 112 flow. Second operand has 4 states, 4 states have (on average 17.75) internal successors, (71), 4 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:34,171 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:34,171 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:34,171 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:34,381 INFO L124 PetriNetUnfolderBase]: 664/1026 cut-off events. [2024-05-12 11:02:34,381 INFO L125 PetriNetUnfolderBase]: For 218/218 co-relation queries the response was YES. [2024-05-12 11:02:34,382 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2383 conditions, 1026 events. 664/1026 cut-off events. For 218/218 co-relation queries the response was YES. Maximal size of possible extension queue 84. Compared 4510 event pairs, 442 based on Foata normal form. 74/1068 useless extension candidates. Maximal degree in co-relation 1736. Up to 732 conditions per place. [2024-05-12 11:02:34,385 INFO L140 encePairwiseOnDemand]: 45/50 looper letters, 71 selfloop transitions, 3 changer transitions 0/79 dead transitions. [2024-05-12 11:02:34,385 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 79 transitions, 342 flow [2024-05-12 11:02:34,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-05-12 11:02:34,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-05-12 11:02:34,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 117 transitions. [2024-05-12 11:02:34,386 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.585 [2024-05-12 11:02:34,387 INFO L175 Difference]: Start difference. First operand has 42 places, 45 transitions, 112 flow. Second operand 4 states and 117 transitions. [2024-05-12 11:02:34,387 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 79 transitions, 342 flow [2024-05-12 11:02:34,387 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 44 places, 79 transitions, 338 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-05-12 11:02:34,388 INFO L231 Difference]: Finished difference. Result has 46 places, 47 transitions, 133 flow [2024-05-12 11:02:34,389 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=109, PETRI_DIFFERENCE_MINUEND_PLACES=41, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=42, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=133, PETRI_PLACES=46, PETRI_TRANSITIONS=47} [2024-05-12 11:02:34,389 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, -1 predicate places. [2024-05-12 11:02:34,389 INFO L495 AbstractCegarLoop]: Abstraction has has 46 places, 47 transitions, 133 flow [2024-05-12 11:02:34,390 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 17.75) internal successors, (71), 4 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:34,390 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:34,390 INFO L208 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] [2024-05-12 11:02:34,390 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-05-12 11:02:34,390 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:34,390 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:34,391 INFO L85 PathProgramCache]: Analyzing trace with hash -755539684, now seen corresponding path program 1 times [2024-05-12 11:02:34,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:34,391 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [909664070] [2024-05-12 11:02:34,391 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:34,391 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:34,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:34,505 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-12 11:02:34,506 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:34,506 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [909664070] [2024-05-12 11:02:34,506 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [909664070] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:34,506 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:34,507 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:02:34,507 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [650477731] [2024-05-12 11:02:34,507 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:34,507 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:02:34,508 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:34,508 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:02:34,508 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:02:34,516 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:34,516 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 46 places, 47 transitions, 133 flow. Second operand has 4 states, 4 states have (on average 18.0) internal successors, (72), 4 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:34,516 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:34,516 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:34,516 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:34,768 INFO L124 PetriNetUnfolderBase]: 859/1391 cut-off events. [2024-05-12 11:02:34,768 INFO L125 PetriNetUnfolderBase]: For 492/492 co-relation queries the response was YES. [2024-05-12 11:02:34,770 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3182 conditions, 1391 events. 859/1391 cut-off events. For 492/492 co-relation queries the response was YES. Maximal size of possible extension queue 100. Compared 6815 event pairs, 614 based on Foata normal form. 85/1441 useless extension candidates. Maximal degree in co-relation 2325. Up to 999 conditions per place. [2024-05-12 11:02:34,773 INFO L140 encePairwiseOnDemand]: 45/50 looper letters, 43 selfloop transitions, 2 changer transitions 23/73 dead transitions. [2024-05-12 11:02:34,773 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 73 transitions, 329 flow [2024-05-12 11:02:34,773 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-05-12 11:02:34,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-05-12 11:02:34,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 110 transitions. [2024-05-12 11:02:34,774 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.55 [2024-05-12 11:02:34,774 INFO L175 Difference]: Start difference. First operand has 46 places, 47 transitions, 133 flow. Second operand 4 states and 110 transitions. [2024-05-12 11:02:34,774 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 73 transitions, 329 flow [2024-05-12 11:02:34,775 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 73 transitions, 325 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-05-12 11:02:34,776 INFO L231 Difference]: Finished difference. Result has 50 places, 48 transitions, 145 flow [2024-05-12 11:02:34,776 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=129, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=47, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=145, PETRI_PLACES=50, PETRI_TRANSITIONS=48} [2024-05-12 11:02:34,777 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 3 predicate places. [2024-05-12 11:02:34,777 INFO L495 AbstractCegarLoop]: Abstraction has has 50 places, 48 transitions, 145 flow [2024-05-12 11:02:34,777 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 18.0) internal successors, (72), 4 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:34,777 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:34,778 INFO L208 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-05-12 11:02:34,778 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-05-12 11:02:34,778 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:34,778 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:34,778 INFO L85 PathProgramCache]: Analyzing trace with hash -1640803832, now seen corresponding path program 1 times [2024-05-12 11:02:34,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:34,779 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2031677440] [2024-05-12 11:02:34,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:34,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:34,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:34,934 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-05-12 11:02:34,935 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:34,935 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2031677440] [2024-05-12 11:02:34,935 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2031677440] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:34,935 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:34,935 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:02:34,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1226105446] [2024-05-12 11:02:34,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:34,936 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:02:34,936 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:34,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:02:34,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:02:34,945 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:34,945 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 48 transitions, 145 flow. Second operand has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:34,945 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:34,946 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:34,946 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:35,265 INFO L124 PetriNetUnfolderBase]: 1057/1718 cut-off events. [2024-05-12 11:02:35,265 INFO L125 PetriNetUnfolderBase]: For 982/982 co-relation queries the response was YES. [2024-05-12 11:02:35,268 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4130 conditions, 1718 events. 1057/1718 cut-off events. For 982/982 co-relation queries the response was YES. Maximal size of possible extension queue 139. Compared 9003 event pairs, 764 based on Foata normal form. 87/1749 useless extension candidates. Maximal degree in co-relation 2831. Up to 1005 conditions per place. [2024-05-12 11:02:35,273 INFO L140 encePairwiseOnDemand]: 40/50 looper letters, 71 selfloop transitions, 10 changer transitions 1/87 dead transitions. [2024-05-12 11:02:35,273 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 87 transitions, 419 flow [2024-05-12 11:02:35,274 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:02:35,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:02:35,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 131 transitions. [2024-05-12 11:02:35,275 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.524 [2024-05-12 11:02:35,275 INFO L175 Difference]: Start difference. First operand has 50 places, 48 transitions, 145 flow. Second operand 5 states and 131 transitions. [2024-05-12 11:02:35,275 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 87 transitions, 419 flow [2024-05-12 11:02:35,276 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 87 transitions, 408 flow, removed 3 selfloop flow, removed 2 redundant places. [2024-05-12 11:02:35,277 INFO L231 Difference]: Finished difference. Result has 54 places, 56 transitions, 218 flow [2024-05-12 11:02:35,277 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=139, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=48, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=218, PETRI_PLACES=54, PETRI_TRANSITIONS=56} [2024-05-12 11:02:35,278 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 7 predicate places. [2024-05-12 11:02:35,278 INFO L495 AbstractCegarLoop]: Abstraction has has 54 places, 56 transitions, 218 flow [2024-05-12 11:02:35,278 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:35,278 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:35,279 INFO L208 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-05-12 11:02:35,279 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-05-12 11:02:35,279 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:35,279 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:35,279 INFO L85 PathProgramCache]: Analyzing trace with hash 864909040, now seen corresponding path program 1 times [2024-05-12 11:02:35,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:35,280 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [317730722] [2024-05-12 11:02:35,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:35,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:35,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:35,420 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-12 11:02:35,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:35,421 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [317730722] [2024-05-12 11:02:35,421 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [317730722] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-12 11:02:35,421 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1932143032] [2024-05-12 11:02:35,421 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:35,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-12 11:02:35,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-05-12 11:02:35,423 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-12 11:02:35,432 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-05-12 11:02:35,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:35,577 INFO L262 TraceCheckSpWp]: Trace formula consists of 425 conjuncts, 8 conjunts are in the unsatisfiable core [2024-05-12 11:02:35,581 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:02:35,643 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-12 11:02:35,644 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-12 11:02:35,673 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-12 11:02:35,673 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1932143032] provided 1 perfect and 1 imperfect interpolant sequences [2024-05-12 11:02:35,673 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-05-12 11:02:35,674 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 9 [2024-05-12 11:02:35,674 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1810933187] [2024-05-12 11:02:35,674 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:35,674 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-05-12 11:02:35,675 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:35,675 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-05-12 11:02:35,675 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2024-05-12 11:02:35,687 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:35,688 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 56 transitions, 218 flow. Second operand has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:35,688 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:35,688 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:35,688 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:35,976 INFO L124 PetriNetUnfolderBase]: 1057/1720 cut-off events. [2024-05-12 11:02:35,976 INFO L125 PetriNetUnfolderBase]: For 642/642 co-relation queries the response was YES. [2024-05-12 11:02:35,979 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4178 conditions, 1720 events. 1057/1720 cut-off events. For 642/642 co-relation queries the response was YES. Maximal size of possible extension queue 127. Compared 8948 event pairs, 764 based on Foata normal form. 2/1675 useless extension candidates. Maximal degree in co-relation 2884. Up to 1001 conditions per place. [2024-05-12 11:02:35,984 INFO L140 encePairwiseOnDemand]: 44/50 looper letters, 76 selfloop transitions, 6 changer transitions 1/88 dead transitions. [2024-05-12 11:02:35,984 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 88 transitions, 481 flow [2024-05-12 11:02:35,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:02:35,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:02:35,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 127 transitions. [2024-05-12 11:02:35,985 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.508 [2024-05-12 11:02:35,985 INFO L175 Difference]: Start difference. First operand has 54 places, 56 transitions, 218 flow. Second operand 5 states and 127 transitions. [2024-05-12 11:02:35,985 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 88 transitions, 481 flow [2024-05-12 11:02:35,988 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 57 places, 88 transitions, 476 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-05-12 11:02:35,990 INFO L231 Difference]: Finished difference. Result has 59 places, 58 transitions, 242 flow [2024-05-12 11:02:35,990 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=213, PETRI_DIFFERENCE_MINUEND_PLACES=53, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=56, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=50, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=242, PETRI_PLACES=59, PETRI_TRANSITIONS=58} [2024-05-12 11:02:35,992 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 12 predicate places. [2024-05-12 11:02:35,992 INFO L495 AbstractCegarLoop]: Abstraction has has 59 places, 58 transitions, 242 flow [2024-05-12 11:02:35,993 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:35,993 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:35,993 INFO L208 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-05-12 11:02:36,006 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-05-12 11:02:36,204 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2024-05-12 11:02:36,205 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:36,205 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:36,206 INFO L85 PathProgramCache]: Analyzing trace with hash -1702832179, now seen corresponding path program 1 times [2024-05-12 11:02:36,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:36,206 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1340579435] [2024-05-12 11:02:36,206 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:36,206 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:36,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:36,302 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-12 11:02:36,302 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:36,302 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1340579435] [2024-05-12 11:02:36,302 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1340579435] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:36,302 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:36,302 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:02:36,303 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [825477308] [2024-05-12 11:02:36,303 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:36,303 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-12 11:02:36,303 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:36,304 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-12 11:02:36,304 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-12 11:02:36,307 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:36,307 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 59 places, 58 transitions, 242 flow. Second operand has 3 states, 3 states have (on average 20.666666666666668) internal successors, (62), 3 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:36,308 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:36,308 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:36,308 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:36,548 INFO L124 PetriNetUnfolderBase]: 917/1594 cut-off events. [2024-05-12 11:02:36,548 INFO L125 PetriNetUnfolderBase]: For 826/826 co-relation queries the response was YES. [2024-05-12 11:02:36,553 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3860 conditions, 1594 events. 917/1594 cut-off events. For 826/826 co-relation queries the response was YES. Maximal size of possible extension queue 92. Compared 8118 event pairs, 312 based on Foata normal form. 96/1666 useless extension candidates. Maximal degree in co-relation 3237. Up to 849 conditions per place. [2024-05-12 11:02:36,558 INFO L140 encePairwiseOnDemand]: 47/50 looper letters, 62 selfloop transitions, 2 changer transitions 9/78 dead transitions. [2024-05-12 11:02:36,558 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 61 places, 78 transitions, 449 flow [2024-05-12 11:02:36,559 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-12 11:02:36,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-05-12 11:02:36,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2024-05-12 11:02:36,560 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6066666666666667 [2024-05-12 11:02:36,560 INFO L175 Difference]: Start difference. First operand has 59 places, 58 transitions, 242 flow. Second operand 3 states and 91 transitions. [2024-05-12 11:02:36,560 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 61 places, 78 transitions, 449 flow [2024-05-12 11:02:36,562 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 59 places, 78 transitions, 440 flow, removed 1 selfloop flow, removed 2 redundant places. [2024-05-12 11:02:36,563 INFO L231 Difference]: Finished difference. Result has 60 places, 50 transitions, 189 flow [2024-05-12 11:02:36,563 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=233, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=58, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=56, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=189, PETRI_PLACES=60, PETRI_TRANSITIONS=50} [2024-05-12 11:02:36,564 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 13 predicate places. [2024-05-12 11:02:36,564 INFO L495 AbstractCegarLoop]: Abstraction has has 60 places, 50 transitions, 189 flow [2024-05-12 11:02:36,564 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 20.666666666666668) internal successors, (62), 3 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:36,564 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:36,564 INFO L208 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] [2024-05-12 11:02:36,564 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-05-12 11:02:36,565 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:36,565 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:36,565 INFO L85 PathProgramCache]: Analyzing trace with hash 1288461663, now seen corresponding path program 1 times [2024-05-12 11:02:36,565 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:36,566 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [334197373] [2024-05-12 11:02:36,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:36,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:36,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:36,686 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:02:36,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:36,686 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [334197373] [2024-05-12 11:02:36,687 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [334197373] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:36,687 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:36,687 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:02:36,687 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [123030258] [2024-05-12 11:02:36,687 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:36,687 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-12 11:02:36,688 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:36,688 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-12 11:02:36,695 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-12 11:02:36,699 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:36,699 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 60 places, 50 transitions, 189 flow. Second operand has 3 states, 3 states have (on average 21.666666666666668) internal successors, (65), 3 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:36,699 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:36,699 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:36,699 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:36,919 INFO L124 PetriNetUnfolderBase]: 802/1266 cut-off events. [2024-05-12 11:02:36,919 INFO L125 PetriNetUnfolderBase]: For 1188/1188 co-relation queries the response was YES. [2024-05-12 11:02:36,921 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3430 conditions, 1266 events. 802/1266 cut-off events. For 1188/1188 co-relation queries the response was YES. Maximal size of possible extension queue 83. Compared 5909 event pairs, 209 based on Foata normal form. 33/1285 useless extension candidates. Maximal degree in co-relation 3403. Up to 761 conditions per place. [2024-05-12 11:02:36,925 INFO L140 encePairwiseOnDemand]: 47/50 looper letters, 59 selfloop transitions, 2 changer transitions 0/66 dead transitions. [2024-05-12 11:02:36,925 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 59 places, 66 transitions, 367 flow [2024-05-12 11:02:36,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-12 11:02:36,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-05-12 11:02:36,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 87 transitions. [2024-05-12 11:02:36,926 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.58 [2024-05-12 11:02:36,926 INFO L175 Difference]: Start difference. First operand has 60 places, 50 transitions, 189 flow. Second operand 3 states and 87 transitions. [2024-05-12 11:02:36,927 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 59 places, 66 transitions, 367 flow [2024-05-12 11:02:36,928 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 55 places, 66 transitions, 347 flow, removed 6 selfloop flow, removed 4 redundant places. [2024-05-12 11:02:36,929 INFO L231 Difference]: Finished difference. Result has 56 places, 51 transitions, 181 flow [2024-05-12 11:02:36,929 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=169, PETRI_DIFFERENCE_MINUEND_PLACES=53, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=50, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=48, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=181, PETRI_PLACES=56, PETRI_TRANSITIONS=51} [2024-05-12 11:02:36,931 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 9 predicate places. [2024-05-12 11:02:36,931 INFO L495 AbstractCegarLoop]: Abstraction has has 56 places, 51 transitions, 181 flow [2024-05-12 11:02:36,931 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 21.666666666666668) internal successors, (65), 3 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:36,931 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:36,932 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:36,932 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2024-05-12 11:02:36,932 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:36,932 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:36,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1311502292, now seen corresponding path program 1 times [2024-05-12 11:02:36,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:36,933 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1882668242] [2024-05-12 11:02:36,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:36,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:36,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:37,092 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:02:37,093 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:37,093 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1882668242] [2024-05-12 11:02:37,093 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1882668242] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:37,094 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:37,094 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:02:37,095 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1897938692] [2024-05-12 11:02:37,095 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:37,096 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:02:37,097 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:37,097 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:02:37,097 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:02:37,108 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:37,108 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 56 places, 51 transitions, 181 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-05-12 11:02:37,109 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:37,109 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:37,109 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:37,422 INFO L124 PetriNetUnfolderBase]: 840/1255 cut-off events. [2024-05-12 11:02:37,423 INFO L125 PetriNetUnfolderBase]: For 1454/1454 co-relation queries the response was YES. [2024-05-12 11:02:37,425 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3688 conditions, 1255 events. 840/1255 cut-off events. For 1454/1454 co-relation queries the response was YES. Maximal size of possible extension queue 75. Compared 5199 event pairs, 564 based on Foata normal form. 32/1277 useless extension candidates. Maximal degree in co-relation 3661. Up to 1151 conditions per place. [2024-05-12 11:02:37,429 INFO L140 encePairwiseOnDemand]: 43/50 looper letters, 45 selfloop transitions, 2 changer transitions 27/79 dead transitions. [2024-05-12 11:02:37,430 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 79 transitions, 419 flow [2024-05-12 11:02:37,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:02:37,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:02:37,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2024-05-12 11:02:37,431 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.472 [2024-05-12 11:02:37,431 INFO L175 Difference]: Start difference. First operand has 56 places, 51 transitions, 181 flow. Second operand 5 states and 118 transitions. [2024-05-12 11:02:37,431 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 79 transitions, 419 flow [2024-05-12 11:02:37,433 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 59 places, 79 transitions, 417 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-05-12 11:02:37,435 INFO L231 Difference]: Finished difference. Result has 62 places, 52 transitions, 201 flow [2024-05-12 11:02:37,436 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=179, PETRI_DIFFERENCE_MINUEND_PLACES=55, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=201, PETRI_PLACES=62, PETRI_TRANSITIONS=52} [2024-05-12 11:02:37,437 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 15 predicate places. [2024-05-12 11:02:37,437 INFO L495 AbstractCegarLoop]: Abstraction has has 62 places, 52 transitions, 201 flow [2024-05-12 11:02:37,438 INFO L496 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-05-12 11:02:37,438 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:37,438 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:37,438 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2024-05-12 11:02:37,438 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:37,440 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:37,441 INFO L85 PathProgramCache]: Analyzing trace with hash 1256240908, now seen corresponding path program 1 times [2024-05-12 11:02:37,441 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:37,441 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [920667590] [2024-05-12 11:02:37,441 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:37,441 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:37,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:37,778 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:02:37,779 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:37,779 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [920667590] [2024-05-12 11:02:37,780 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [920667590] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:37,780 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:37,780 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:02:37,780 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [689698247] [2024-05-12 11:02:37,780 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:37,780 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:02:37,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:37,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:02:37,782 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:02:37,789 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:37,790 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 62 places, 52 transitions, 201 flow. Second operand has 4 states, 4 states have (on average 20.0) internal successors, (80), 4 states have internal predecessors, (80), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:37,790 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:37,790 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:37,790 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:38,069 INFO L124 PetriNetUnfolderBase]: 1039/1586 cut-off events. [2024-05-12 11:02:38,070 INFO L125 PetriNetUnfolderBase]: For 2104/2104 co-relation queries the response was YES. [2024-05-12 11:02:38,072 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4535 conditions, 1586 events. 1039/1586 cut-off events. For 2104/2104 co-relation queries the response was YES. Maximal size of possible extension queue 103. Compared 7437 event pairs, 752 based on Foata normal form. 103/1674 useless extension candidates. Maximal degree in co-relation 4505. Up to 1152 conditions per place. [2024-05-12 11:02:38,076 INFO L140 encePairwiseOnDemand]: 45/50 looper letters, 46 selfloop transitions, 2 changer transitions 29/82 dead transitions. [2024-05-12 11:02:38,076 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 64 places, 82 transitions, 457 flow [2024-05-12 11:02:38,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:02:38,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:02:38,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 123 transitions. [2024-05-12 11:02:38,077 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.492 [2024-05-12 11:02:38,077 INFO L175 Difference]: Start difference. First operand has 62 places, 52 transitions, 201 flow. Second operand 5 states and 123 transitions. [2024-05-12 11:02:38,077 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 64 places, 82 transitions, 457 flow [2024-05-12 11:02:38,079 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 61 places, 82 transitions, 431 flow, removed 12 selfloop flow, removed 3 redundant places. [2024-05-12 11:02:38,080 INFO L231 Difference]: Finished difference. Result has 64 places, 53 transitions, 209 flow [2024-05-12 11:02:38,080 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=187, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=52, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=50, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=209, PETRI_PLACES=64, PETRI_TRANSITIONS=53} [2024-05-12 11:02:38,080 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 17 predicate places. [2024-05-12 11:02:38,080 INFO L495 AbstractCegarLoop]: Abstraction has has 64 places, 53 transitions, 209 flow [2024-05-12 11:02:38,081 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 20.0) internal successors, (80), 4 states have internal predecessors, (80), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:38,081 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:38,081 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:38,081 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2024-05-12 11:02:38,081 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:38,082 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:38,082 INFO L85 PathProgramCache]: Analyzing trace with hash -171380174, now seen corresponding path program 1 times [2024-05-12 11:02:38,082 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:38,082 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1425501866] [2024-05-12 11:02:38,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:38,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:38,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:38,252 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-05-12 11:02:38,253 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:38,253 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1425501866] [2024-05-12 11:02:38,253 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1425501866] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:38,253 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:38,253 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-05-12 11:02:38,253 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1632107256] [2024-05-12 11:02:38,254 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:38,254 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-05-12 11:02:38,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:38,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-05-12 11:02:38,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-05-12 11:02:38,259 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:02:38,260 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 64 places, 53 transitions, 209 flow. Second operand has 5 states, 5 states have (on average 15.8) internal successors, (79), 5 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-05-12 11:02:38,260 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:38,260 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:02:38,260 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:38,645 INFO L124 PetriNetUnfolderBase]: 1523/2351 cut-off events. [2024-05-12 11:02:38,645 INFO L125 PetriNetUnfolderBase]: For 3049/3049 co-relation queries the response was YES. [2024-05-12 11:02:38,649 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6629 conditions, 2351 events. 1523/2351 cut-off events. For 3049/3049 co-relation queries the response was YES. Maximal size of possible extension queue 123. Compared 11171 event pairs, 368 based on Foata normal form. 164/2515 useless extension candidates. Maximal degree in co-relation 6600. Up to 753 conditions per place. [2024-05-12 11:02:38,655 INFO L140 encePairwiseOnDemand]: 44/50 looper letters, 90 selfloop transitions, 10 changer transitions 0/102 dead transitions. [2024-05-12 11:02:38,655 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 66 places, 102 transitions, 600 flow [2024-05-12 11:02:38,656 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:02:38,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:02:38,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 124 transitions. [2024-05-12 11:02:38,657 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.496 [2024-05-12 11:02:38,657 INFO L175 Difference]: Start difference. First operand has 64 places, 53 transitions, 209 flow. Second operand 5 states and 124 transitions. [2024-05-12 11:02:38,657 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 66 places, 102 transitions, 600 flow [2024-05-12 11:02:38,659 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 102 transitions, 576 flow, removed 11 selfloop flow, removed 3 redundant places. [2024-05-12 11:02:38,660 INFO L231 Difference]: Finished difference. Result has 67 places, 60 transitions, 269 flow [2024-05-12 11:02:38,661 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=197, PETRI_DIFFERENCE_MINUEND_PLACES=59, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=53, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=47, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=269, PETRI_PLACES=67, PETRI_TRANSITIONS=60} [2024-05-12 11:02:38,661 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 20 predicate places. [2024-05-12 11:02:38,661 INFO L495 AbstractCegarLoop]: Abstraction has has 67 places, 60 transitions, 269 flow [2024-05-12 11:02:38,661 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 15.8) internal successors, (79), 5 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-05-12 11:02:38,661 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:38,662 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:38,662 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2024-05-12 11:02:38,662 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:38,662 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:38,662 INFO L85 PathProgramCache]: Analyzing trace with hash 1039202250, now seen corresponding path program 2 times [2024-05-12 11:02:38,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:38,663 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [698407727] [2024-05-12 11:02:38,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:38,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:38,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:38,857 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-05-12 11:02:38,858 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:38,858 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [698407727] [2024-05-12 11:02:38,858 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [698407727] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-12 11:02:38,858 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [63967179] [2024-05-12 11:02:38,858 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-05-12 11:02:38,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-12 11:02:38,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-05-12 11:02:38,860 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-12 11:02:38,872 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-05-12 11:02:39,050 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-05-12 11:02:39,050 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-05-12 11:02:39,053 INFO L262 TraceCheckSpWp]: Trace formula consists of 486 conjuncts, 5 conjunts are in the unsatisfiable core [2024-05-12 11:02:39,055 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:02:39,094 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-05-12 11:02:39,095 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:02:39,095 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [63967179] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:39,095 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-05-12 11:02:39,095 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 7 [2024-05-12 11:02:39,095 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1076774583] [2024-05-12 11:02:39,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:39,096 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-05-12 11:02:39,096 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:39,096 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-05-12 11:02:39,097 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2024-05-12 11:02:39,102 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 50 [2024-05-12 11:02:39,103 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 67 places, 60 transitions, 269 flow. Second operand has 5 states, 5 states have (on average 16.6) internal successors, (83), 5 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:39,103 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:39,103 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 50 [2024-05-12 11:02:39,103 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:39,661 INFO L124 PetriNetUnfolderBase]: 2541/3919 cut-off events. [2024-05-12 11:02:39,661 INFO L125 PetriNetUnfolderBase]: For 6065/6074 co-relation queries the response was YES. [2024-05-12 11:02:39,670 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12780 conditions, 3919 events. 2541/3919 cut-off events. For 6065/6074 co-relation queries the response was YES. Maximal size of possible extension queue 199. Compared 20320 event pairs, 258 based on Foata normal form. 89/4007 useless extension candidates. Maximal degree in co-relation 12746. Up to 1069 conditions per place. [2024-05-12 11:02:39,686 INFO L140 encePairwiseOnDemand]: 44/50 looper letters, 107 selfloop transitions, 16 changer transitions 0/128 dead transitions. [2024-05-12 11:02:39,686 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 128 transitions, 826 flow [2024-05-12 11:02:39,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-05-12 11:02:39,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-05-12 11:02:39,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 148 transitions. [2024-05-12 11:02:39,687 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.49333333333333335 [2024-05-12 11:02:39,687 INFO L175 Difference]: Start difference. First operand has 67 places, 60 transitions, 269 flow. Second operand 6 states and 148 transitions. [2024-05-12 11:02:39,687 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 128 transitions, 826 flow [2024-05-12 11:02:39,693 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 72 places, 128 transitions, 822 flow, removed 2 selfloop flow, removed 0 redundant places. [2024-05-12 11:02:39,694 INFO L231 Difference]: Finished difference. Result has 76 places, 72 transitions, 424 flow [2024-05-12 11:02:39,694 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=267, PETRI_DIFFERENCE_MINUEND_PLACES=67, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=60, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=50, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=424, PETRI_PLACES=76, PETRI_TRANSITIONS=72} [2024-05-12 11:02:39,694 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 29 predicate places. [2024-05-12 11:02:39,695 INFO L495 AbstractCegarLoop]: Abstraction has has 76 places, 72 transitions, 424 flow [2024-05-12 11:02:39,695 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 16.6) internal successors, (83), 5 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:39,695 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:39,695 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:39,707 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-05-12 11:02:39,909 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2024-05-12 11:02:39,910 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:39,910 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:39,911 INFO L85 PathProgramCache]: Analyzing trace with hash -545907442, now seen corresponding path program 1 times [2024-05-12 11:02:39,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:39,911 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1488591448] [2024-05-12 11:02:39,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:39,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:39,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:40,036 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-05-12 11:02:40,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:40,036 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1488591448] [2024-05-12 11:02:40,036 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1488591448] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:02:40,036 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:02:40,037 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:02:40,037 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1832826750] [2024-05-12 11:02:40,037 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:02:40,037 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-12 11:02:40,037 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:40,038 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-12 11:02:40,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-12 11:02:40,038 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:40,038 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 76 places, 72 transitions, 424 flow. Second operand has 3 states, 3 states have (on average 23.333333333333332) internal successors, (70), 3 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:40,039 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:40,039 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:40,039 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:40,446 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1238] L60-->L62: Formula: (= (select (select |v_#memory_int#6_9| v_~done~0.base_9) (+ v_~done~0.offset_9 v_~state11~0_14)) v_~finished1~0_9) InVars {#memory_int#6=|v_#memory_int#6_9|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, ~done~0.base=v_~done~0.base_9} OutVars{thread1Thread1of1ForFork0_#t~mem5#1=|v_thread1Thread1of1ForFork0_#t~mem5#1_1|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, #memory_int#6=|v_#memory_int#6_9|, ~finished1~0=v_~finished1~0_9, ~done~0.base=v_~done~0.base_9} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~mem5#1, ~finished1~0][77], [18#L91-1true, Black: 322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 67#(<= ~n_produce~0 0), 20#L84true, Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 336#(<= 0 ~size1~0), Black: 330#(<= 1 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), 19#L62true, Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), Black: 296#(= ~finished1~0 0), 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), 460#true, 25#L134true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0), 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1))]) [2024-05-12 11:02:40,446 INFO L294 olderBase$Statistics]: this new event has 36 ancestors and is cut-off event [2024-05-12 11:02:40,446 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:02:40,446 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:02:40,447 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:02:40,478 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1242] L73-->L81: Formula: (let ((.cse1 (not |v_thread2_#t~short8#1_80|)) (.cse0 (select (select |v_#memory_int#3_173| v_~queue1~0.base_135) (+ v_~queue1~0.offset_135 (* v_~front1~0_228 4))))) (and (not (= (ite (and (< v_~front1~0_228 v_~n_queue~0_138) (<= 0 v_~front1~0_228)) 1 0) 0)) (or (and |v_thread2_#t~short8#1_80| (= |v_thread2_#t~mem7#1_62| .cse0) (or (and (< |v_thread2_#t~mem7#1_62| v_~n2~0_90) |v_thread2_#t~short8#1_79|) (and (not |v_thread2_#t~short8#1_79|) (<= v_~n2~0_90 |v_thread2_#t~mem7#1_62|)))) (and (= |v_thread2_#t~short8#1_79| |v_thread2_#t~short8#1_80|) .cse1 (= |v_thread2_#t~mem7#1_62| |v_thread2Thread1of1ForFork2_#t~mem7#1_1|))) (= v_~size1~0_110 (+ v_~size1~0_109 1)) (or (and (<= 0 .cse0) |v_thread2_#t~short8#1_80|) (and .cse1 (< .cse0 0))) (not (= (ite |v_thread2_#t~short8#1_79| 1 0) 0)) (= v_~front1~0_227 (+ v_~front1~0_228 1)) (= v_~state12~0_164 (let ((.cse2 (+ v_~consume~0.offset_116 (* v_~state12~0_165 4)))) (select (select |v_#memory_int#3_173| (select (select |v_#memory_$Pointer$#4.base_69| v_~consume~0.base_116) .cse2)) (+ (* .cse0 4) (select (select |v_#memory_$Pointer$#4.offset_69| v_~consume~0.base_116) .cse2))))) (not (= (ite (< 0 v_~size1~0_110) 1 0) 0)) (not (= (ite (and (< v_~state12~0_165 v_~n1~0_148) (<= 0 v_~state12~0_165)) 1 0) 0)))) InVars {#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_165, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_110, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem7#1=|v_thread2Thread1of1ForFork2_#t~mem7#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, ~front1~0=v_~front1~0_228, ~queue1~0.offset=v_~queue1~0.offset_135, ~consume~0.offset=v_~consume~0.offset_116} OutVars{#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_164, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, thread2Thread1of1ForFork2_#t~mem11#1=|v_thread2Thread1of1ForFork2_#t~mem11#1_1|, thread2Thread1of1ForFork2_#t~mem6#1=|v_thread2Thread1of1ForFork2_#t~mem6#1_1|, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_109, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1_1|, thread2Thread1of1ForFork2_#t~post12#1=|v_thread2Thread1of1ForFork2_#t~post12#1_1|, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem9#1=|v_thread2Thread1of1ForFork2_#t~mem9#1_1|, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, thread2Thread1of1ForFork2_#t~mem10#1.base=|v_thread2Thread1of1ForFork2_#t~mem10#1.base_1|, thread2Thread1of1ForFork2_#t~post13#1=|v_thread2Thread1of1ForFork2_#t~post13#1_1|, ~front1~0=v_~front1~0_227, ~queue1~0.offset=v_~queue1~0.offset_135, thread2Thread1of1ForFork2_#t~mem10#1.offset=|v_thread2Thread1of1ForFork2_#t~mem10#1.offset_1|, thread2Thread1of1ForFork2_#t~short8#1=|v_thread2Thread1of1ForFork2_#t~short8#1_1|, ~consume~0.offset=v_~consume~0.offset_116} AuxVars[|v_thread2_#t~short8#1_79|, |v_thread2_#t~short8#1_80|, |v_thread2_#t~mem7#1_62|] AssignedVars[~state12~0, thread2Thread1of1ForFork2_#t~mem11#1, thread2Thread1of1ForFork2_#t~mem6#1, ~size1~0, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork2_#t~post12#1, thread2Thread1of1ForFork2_#t~mem7#1, thread2Thread1of1ForFork2_#t~mem9#1, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork2_#t~mem10#1.base, thread2Thread1of1ForFork2_#t~post13#1, ~front1~0, thread2Thread1of1ForFork2_#t~mem10#1.offset, thread2Thread1of1ForFork2_#t~short8#1][54], [322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), 18#L91-1true, Black: 67#(<= ~n_produce~0 0), Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 336#(<= 0 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 330#(<= 1 ~size1~0), Black: 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), Black: 296#(= ~finished1~0 0), 460#true, 5#L60true, 25#L134true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), 12#L81true, Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0)]) [2024-05-12 11:02:40,478 INFO L294 olderBase$Statistics]: this new event has 37 ancestors and is cut-off event [2024-05-12 11:02:40,479 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:02:40,479 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-05-12 11:02:40,479 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:02:40,517 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1238] L60-->L62: Formula: (= (select (select |v_#memory_int#6_9| v_~done~0.base_9) (+ v_~done~0.offset_9 v_~state11~0_14)) v_~finished1~0_9) InVars {#memory_int#6=|v_#memory_int#6_9|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, ~done~0.base=v_~done~0.base_9} OutVars{thread1Thread1of1ForFork0_#t~mem5#1=|v_thread1Thread1of1ForFork0_#t~mem5#1_1|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, #memory_int#6=|v_#memory_int#6_9|, ~finished1~0=v_~finished1~0_9, ~done~0.base=v_~done~0.base_9} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~mem5#1, ~finished1~0][77], [18#L91-1true, Black: 322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 67#(<= ~n_produce~0 0), 20#L84true, Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 336#(<= 0 ~size1~0), Black: 330#(<= 1 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), 19#L62true, Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), 41#L134-2true, Black: 296#(= ~finished1~0 0), 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), 460#true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0), 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1))]) [2024-05-12 11:02:40,518 INFO L294 olderBase$Statistics]: this new event has 37 ancestors and is cut-off event [2024-05-12 11:02:40,518 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:02:40,518 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:02:40,518 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-05-12 11:02:40,520 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1242] L73-->L81: Formula: (let ((.cse1 (not |v_thread2_#t~short8#1_80|)) (.cse0 (select (select |v_#memory_int#3_173| v_~queue1~0.base_135) (+ v_~queue1~0.offset_135 (* v_~front1~0_228 4))))) (and (not (= (ite (and (< v_~front1~0_228 v_~n_queue~0_138) (<= 0 v_~front1~0_228)) 1 0) 0)) (or (and |v_thread2_#t~short8#1_80| (= |v_thread2_#t~mem7#1_62| .cse0) (or (and (< |v_thread2_#t~mem7#1_62| v_~n2~0_90) |v_thread2_#t~short8#1_79|) (and (not |v_thread2_#t~short8#1_79|) (<= v_~n2~0_90 |v_thread2_#t~mem7#1_62|)))) (and (= |v_thread2_#t~short8#1_79| |v_thread2_#t~short8#1_80|) .cse1 (= |v_thread2_#t~mem7#1_62| |v_thread2Thread1of1ForFork2_#t~mem7#1_1|))) (= v_~size1~0_110 (+ v_~size1~0_109 1)) (or (and (<= 0 .cse0) |v_thread2_#t~short8#1_80|) (and .cse1 (< .cse0 0))) (not (= (ite |v_thread2_#t~short8#1_79| 1 0) 0)) (= v_~front1~0_227 (+ v_~front1~0_228 1)) (= v_~state12~0_164 (let ((.cse2 (+ v_~consume~0.offset_116 (* v_~state12~0_165 4)))) (select (select |v_#memory_int#3_173| (select (select |v_#memory_$Pointer$#4.base_69| v_~consume~0.base_116) .cse2)) (+ (* .cse0 4) (select (select |v_#memory_$Pointer$#4.offset_69| v_~consume~0.base_116) .cse2))))) (not (= (ite (< 0 v_~size1~0_110) 1 0) 0)) (not (= (ite (and (< v_~state12~0_165 v_~n1~0_148) (<= 0 v_~state12~0_165)) 1 0) 0)))) InVars {#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_165, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_110, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem7#1=|v_thread2Thread1of1ForFork2_#t~mem7#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, ~front1~0=v_~front1~0_228, ~queue1~0.offset=v_~queue1~0.offset_135, ~consume~0.offset=v_~consume~0.offset_116} OutVars{#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_164, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, thread2Thread1of1ForFork2_#t~mem11#1=|v_thread2Thread1of1ForFork2_#t~mem11#1_1|, thread2Thread1of1ForFork2_#t~mem6#1=|v_thread2Thread1of1ForFork2_#t~mem6#1_1|, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_109, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1_1|, thread2Thread1of1ForFork2_#t~post12#1=|v_thread2Thread1of1ForFork2_#t~post12#1_1|, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem9#1=|v_thread2Thread1of1ForFork2_#t~mem9#1_1|, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, thread2Thread1of1ForFork2_#t~mem10#1.base=|v_thread2Thread1of1ForFork2_#t~mem10#1.base_1|, thread2Thread1of1ForFork2_#t~post13#1=|v_thread2Thread1of1ForFork2_#t~post13#1_1|, ~front1~0=v_~front1~0_227, ~queue1~0.offset=v_~queue1~0.offset_135, thread2Thread1of1ForFork2_#t~mem10#1.offset=|v_thread2Thread1of1ForFork2_#t~mem10#1.offset_1|, thread2Thread1of1ForFork2_#t~short8#1=|v_thread2Thread1of1ForFork2_#t~short8#1_1|, ~consume~0.offset=v_~consume~0.offset_116} AuxVars[|v_thread2_#t~short8#1_79|, |v_thread2_#t~short8#1_80|, |v_thread2_#t~mem7#1_62|] AssignedVars[~state12~0, thread2Thread1of1ForFork2_#t~mem11#1, thread2Thread1of1ForFork2_#t~mem6#1, ~size1~0, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork2_#t~post12#1, thread2Thread1of1ForFork2_#t~mem7#1, thread2Thread1of1ForFork2_#t~mem9#1, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork2_#t~mem10#1.base, thread2Thread1of1ForFork2_#t~post13#1, ~front1~0, thread2Thread1of1ForFork2_#t~mem10#1.offset, thread2Thread1of1ForFork2_#t~short8#1][54], [322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 67#(<= ~n_produce~0 0), Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 336#(<= 0 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 330#(<= 1 ~size1~0), Black: 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), 29#thread3EXITtrue, Black: 296#(= ~finished1~0 0), 460#true, 5#L60true, 25#L134true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), 12#L81true, Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0)]) [2024-05-12 11:02:40,520 INFO L294 olderBase$Statistics]: this new event has 38 ancestors and is cut-off event [2024-05-12 11:02:40,520 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:02:40,520 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:02:40,520 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-05-12 11:02:40,521 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1238] L60-->L62: Formula: (= (select (select |v_#memory_int#6_9| v_~done~0.base_9) (+ v_~done~0.offset_9 v_~state11~0_14)) v_~finished1~0_9) InVars {#memory_int#6=|v_#memory_int#6_9|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, ~done~0.base=v_~done~0.base_9} OutVars{thread1Thread1of1ForFork0_#t~mem5#1=|v_thread1Thread1of1ForFork0_#t~mem5#1_1|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, #memory_int#6=|v_#memory_int#6_9|, ~finished1~0=v_~finished1~0_9, ~done~0.base=v_~done~0.base_9} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~mem5#1, ~finished1~0][77], [Black: 322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 67#(<= ~n_produce~0 0), 20#L84true, Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 336#(<= 0 ~size1~0), Black: 330#(<= 1 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), 19#L62true, Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), 29#thread3EXITtrue, Black: 296#(= ~finished1~0 0), 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), 460#true, 25#L134true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0), 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1))]) [2024-05-12 11:02:40,521 INFO L294 olderBase$Statistics]: this new event has 37 ancestors and is cut-off event [2024-05-12 11:02:40,521 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:02:40,521 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:02:40,521 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-05-12 11:02:40,549 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1242] L73-->L81: Formula: (let ((.cse1 (not |v_thread2_#t~short8#1_80|)) (.cse0 (select (select |v_#memory_int#3_173| v_~queue1~0.base_135) (+ v_~queue1~0.offset_135 (* v_~front1~0_228 4))))) (and (not (= (ite (and (< v_~front1~0_228 v_~n_queue~0_138) (<= 0 v_~front1~0_228)) 1 0) 0)) (or (and |v_thread2_#t~short8#1_80| (= |v_thread2_#t~mem7#1_62| .cse0) (or (and (< |v_thread2_#t~mem7#1_62| v_~n2~0_90) |v_thread2_#t~short8#1_79|) (and (not |v_thread2_#t~short8#1_79|) (<= v_~n2~0_90 |v_thread2_#t~mem7#1_62|)))) (and (= |v_thread2_#t~short8#1_79| |v_thread2_#t~short8#1_80|) .cse1 (= |v_thread2_#t~mem7#1_62| |v_thread2Thread1of1ForFork2_#t~mem7#1_1|))) (= v_~size1~0_110 (+ v_~size1~0_109 1)) (or (and (<= 0 .cse0) |v_thread2_#t~short8#1_80|) (and .cse1 (< .cse0 0))) (not (= (ite |v_thread2_#t~short8#1_79| 1 0) 0)) (= v_~front1~0_227 (+ v_~front1~0_228 1)) (= v_~state12~0_164 (let ((.cse2 (+ v_~consume~0.offset_116 (* v_~state12~0_165 4)))) (select (select |v_#memory_int#3_173| (select (select |v_#memory_$Pointer$#4.base_69| v_~consume~0.base_116) .cse2)) (+ (* .cse0 4) (select (select |v_#memory_$Pointer$#4.offset_69| v_~consume~0.base_116) .cse2))))) (not (= (ite (< 0 v_~size1~0_110) 1 0) 0)) (not (= (ite (and (< v_~state12~0_165 v_~n1~0_148) (<= 0 v_~state12~0_165)) 1 0) 0)))) InVars {#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_165, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_110, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem7#1=|v_thread2Thread1of1ForFork2_#t~mem7#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, ~front1~0=v_~front1~0_228, ~queue1~0.offset=v_~queue1~0.offset_135, ~consume~0.offset=v_~consume~0.offset_116} OutVars{#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_164, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, thread2Thread1of1ForFork2_#t~mem11#1=|v_thread2Thread1of1ForFork2_#t~mem11#1_1|, thread2Thread1of1ForFork2_#t~mem6#1=|v_thread2Thread1of1ForFork2_#t~mem6#1_1|, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_109, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1_1|, thread2Thread1of1ForFork2_#t~post12#1=|v_thread2Thread1of1ForFork2_#t~post12#1_1|, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem9#1=|v_thread2Thread1of1ForFork2_#t~mem9#1_1|, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, thread2Thread1of1ForFork2_#t~mem10#1.base=|v_thread2Thread1of1ForFork2_#t~mem10#1.base_1|, thread2Thread1of1ForFork2_#t~post13#1=|v_thread2Thread1of1ForFork2_#t~post13#1_1|, ~front1~0=v_~front1~0_227, ~queue1~0.offset=v_~queue1~0.offset_135, thread2Thread1of1ForFork2_#t~mem10#1.offset=|v_thread2Thread1of1ForFork2_#t~mem10#1.offset_1|, thread2Thread1of1ForFork2_#t~short8#1=|v_thread2Thread1of1ForFork2_#t~short8#1_1|, ~consume~0.offset=v_~consume~0.offset_116} AuxVars[|v_thread2_#t~short8#1_79|, |v_thread2_#t~short8#1_80|, |v_thread2_#t~mem7#1_62|] AssignedVars[~state12~0, thread2Thread1of1ForFork2_#t~mem11#1, thread2Thread1of1ForFork2_#t~mem6#1, ~size1~0, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork2_#t~post12#1, thread2Thread1of1ForFork2_#t~mem7#1, thread2Thread1of1ForFork2_#t~mem9#1, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork2_#t~mem10#1.base, thread2Thread1of1ForFork2_#t~post13#1, ~front1~0, thread2Thread1of1ForFork2_#t~mem10#1.offset, thread2Thread1of1ForFork2_#t~short8#1][54], [322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), 18#L91-1true, Black: 67#(<= ~n_produce~0 0), Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 336#(<= 0 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 330#(<= 1 ~size1~0), Black: 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), 41#L134-2true, Black: 296#(= ~finished1~0 0), 460#true, 5#L60true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), 12#L81true, Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0)]) [2024-05-12 11:02:40,550 INFO L294 olderBase$Statistics]: this new event has 38 ancestors and is cut-off event [2024-05-12 11:02:40,550 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-05-12 11:02:40,550 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:02:40,550 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:02:40,582 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1242] L73-->L81: Formula: (let ((.cse1 (not |v_thread2_#t~short8#1_80|)) (.cse0 (select (select |v_#memory_int#3_173| v_~queue1~0.base_135) (+ v_~queue1~0.offset_135 (* v_~front1~0_228 4))))) (and (not (= (ite (and (< v_~front1~0_228 v_~n_queue~0_138) (<= 0 v_~front1~0_228)) 1 0) 0)) (or (and |v_thread2_#t~short8#1_80| (= |v_thread2_#t~mem7#1_62| .cse0) (or (and (< |v_thread2_#t~mem7#1_62| v_~n2~0_90) |v_thread2_#t~short8#1_79|) (and (not |v_thread2_#t~short8#1_79|) (<= v_~n2~0_90 |v_thread2_#t~mem7#1_62|)))) (and (= |v_thread2_#t~short8#1_79| |v_thread2_#t~short8#1_80|) .cse1 (= |v_thread2_#t~mem7#1_62| |v_thread2Thread1of1ForFork2_#t~mem7#1_1|))) (= v_~size1~0_110 (+ v_~size1~0_109 1)) (or (and (<= 0 .cse0) |v_thread2_#t~short8#1_80|) (and .cse1 (< .cse0 0))) (not (= (ite |v_thread2_#t~short8#1_79| 1 0) 0)) (= v_~front1~0_227 (+ v_~front1~0_228 1)) (= v_~state12~0_164 (let ((.cse2 (+ v_~consume~0.offset_116 (* v_~state12~0_165 4)))) (select (select |v_#memory_int#3_173| (select (select |v_#memory_$Pointer$#4.base_69| v_~consume~0.base_116) .cse2)) (+ (* .cse0 4) (select (select |v_#memory_$Pointer$#4.offset_69| v_~consume~0.base_116) .cse2))))) (not (= (ite (< 0 v_~size1~0_110) 1 0) 0)) (not (= (ite (and (< v_~state12~0_165 v_~n1~0_148) (<= 0 v_~state12~0_165)) 1 0) 0)))) InVars {#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_165, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_110, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem7#1=|v_thread2Thread1of1ForFork2_#t~mem7#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, ~front1~0=v_~front1~0_228, ~queue1~0.offset=v_~queue1~0.offset_135, ~consume~0.offset=v_~consume~0.offset_116} OutVars{#memory_$Pointer$#4.offset=|v_#memory_$Pointer$#4.offset_69|, ~state12~0=v_~state12~0_164, #memory_$Pointer$#4.base=|v_#memory_$Pointer$#4.base_69|, ~n2~0=v_~n2~0_90, thread2Thread1of1ForFork2_#t~mem11#1=|v_thread2Thread1of1ForFork2_#t~mem11#1_1|, thread2Thread1of1ForFork2_#t~mem6#1=|v_thread2Thread1of1ForFork2_#t~mem6#1_1|, ~n1~0=v_~n1~0_148, ~size1~0=v_~size1~0_109, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1_1|, thread2Thread1of1ForFork2_#t~post12#1=|v_thread2Thread1of1ForFork2_#t~post12#1_1|, #memory_int#3=|v_#memory_int#3_173|, thread2Thread1of1ForFork2_#t~mem9#1=|v_thread2Thread1of1ForFork2_#t~mem9#1_1|, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1=|v_thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_135, ~n_queue~0=v_~n_queue~0_138, ~consume~0.base=v_~consume~0.base_116, thread2Thread1of1ForFork2_#t~mem10#1.base=|v_thread2Thread1of1ForFork2_#t~mem10#1.base_1|, thread2Thread1of1ForFork2_#t~post13#1=|v_thread2Thread1of1ForFork2_#t~post13#1_1|, ~front1~0=v_~front1~0_227, ~queue1~0.offset=v_~queue1~0.offset_135, thread2Thread1of1ForFork2_#t~mem10#1.offset=|v_thread2Thread1of1ForFork2_#t~mem10#1.offset_1|, thread2Thread1of1ForFork2_#t~short8#1=|v_thread2Thread1of1ForFork2_#t~short8#1_1|, ~consume~0.offset=v_~consume~0.offset_116} AuxVars[|v_thread2_#t~short8#1_79|, |v_thread2_#t~short8#1_80|, |v_thread2_#t~mem7#1_62|] AssignedVars[~state12~0, thread2Thread1of1ForFork2_#t~mem11#1, thread2Thread1of1ForFork2_#t~mem6#1, ~size1~0, thread2Thread1of1ForFork2_assume_abort_if_not_#in~cond#1, thread2Thread1of1ForFork2_#t~post12#1, thread2Thread1of1ForFork2_#t~mem7#1, thread2Thread1of1ForFork2_#t~mem9#1, thread2Thread1of1ForFork2_assume_abort_if_not_~cond#1, thread2Thread1of1ForFork2_#t~mem10#1.base, thread2Thread1of1ForFork2_#t~post13#1, ~front1~0, thread2Thread1of1ForFork2_#t~mem10#1.offset, thread2Thread1of1ForFork2_#t~short8#1][54], [322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 67#(<= ~n_produce~0 0), Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 336#(<= 0 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 330#(<= 1 ~size1~0), Black: 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), 29#thread3EXITtrue, 41#L134-2true, Black: 296#(= ~finished1~0 0), 460#true, 5#L60true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), 12#L81true, Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0)]) [2024-05-12 11:02:40,583 INFO L294 olderBase$Statistics]: this new event has 39 ancestors and is cut-off event [2024-05-12 11:02:40,583 INFO L297 olderBase$Statistics]: existing Event has 39 ancestors and is cut-off event [2024-05-12 11:02:40,583 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:02:40,583 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:02:40,583 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1238] L60-->L62: Formula: (= (select (select |v_#memory_int#6_9| v_~done~0.base_9) (+ v_~done~0.offset_9 v_~state11~0_14)) v_~finished1~0_9) InVars {#memory_int#6=|v_#memory_int#6_9|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, ~done~0.base=v_~done~0.base_9} OutVars{thread1Thread1of1ForFork0_#t~mem5#1=|v_thread1Thread1of1ForFork0_#t~mem5#1_1|, ~done~0.offset=v_~done~0.offset_9, ~state11~0=v_~state11~0_14, #memory_int#6=|v_#memory_int#6_9|, ~finished1~0=v_~finished1~0_9, ~done~0.base=v_~done~0.base_9} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~mem5#1, ~finished1~0][77], [Black: 322#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (= ~finished1~0 (* 256 (div ~finished1~0 256))) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), Black: 67#(<= ~n_produce~0 0), 20#L84true, Black: 316#true, Black: 66#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_produce~0)), Black: 318#(= ~finished1~0 (* 256 (div ~finished1~0 256))), Black: 455#(and (<= 0 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1)), Black: 336#(<= 0 ~size1~0), Black: 330#(<= 1 ~size1~0), Black: 72#(= |ULTIMATE.start_main_~i~0#1| 0), Black: 78#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_update~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 79#(<= ~n_update~0 0), 19#L62true, Black: 287#(and (<= 1 ~n_update~0) (<= (+ |ULTIMATE.start_create_fresh_bool_array_~i~2#1| 1) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 292#(= ~size1~0 0), 59#(and (<= (+ ~n_update~0 ~n1~0) 4294967294) (<= 0 (+ ~n_queue~0 2147483648)) (<= ~n1~0 (+ 4294967295 ~n_produce~0)) (<= ~n_produce~0 (+ 2147483647 ~n1~0)) (<= ~n_update~0 (+ 2147483647 ~n1~0)) (<= (+ ~n_queue~0 ~n1~0) 4294967294) (<= 0 (+ ~n_produce~0 2147483648)) (<= 0 (+ ~front1~0 ~n1~0 2147483648)) (<= 0 (+ ~n2~0 2147483648)) (<= ~n_queue~0 2147483647) (<= (+ ~n2~0 ~n1~0) 4294967294) (<= 0 (+ ~n2~0 ~n1~0 2147483648)) (<= 0 (+ ~n_update~0 ~n1~0 2147483648)) (<= ~n2~0 2147483647) (<= ~n2~0 (+ 2147483647 ~n1~0)) (<= ~n1~0 (+ ~n_queue~0 4294967295)) (<= 0 (+ ~n1~0 ~n_produce~0 2147483648)) (<= 0 (+ ~n_queue~0 ~n1~0 2147483648)) (<= ~n1~0 (+ ~front1~0 4294967295)) (<= ~n1~0 (+ 4294967295 ~n2~0)) (<= 0 (+ ~n_update~0 2147483648)) (<= ~n1~0 (+ ~n_update~0 4294967295)) (<= ~n_produce~0 2147483647) (<= ~n_update~0 2147483647) (<= ~n_queue~0 (+ 2147483647 ~n1~0)) (<= (+ ~n1~0 ~n_produce~0) 4294967294) (<= 0 (+ ~front1~0 2147483648))), 29#thread3EXITtrue, 41#L134-2true, Black: 296#(= ~finished1~0 0), 320#(and (<= (div |thread2Thread1of1ForFork2_~cond~0#1| 256) 0) (<= 1 |thread2Thread1of1ForFork2_~cond~0#1|)), 460#true, Black: 300#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (<= ~n_queue~0 |ULTIMATE.start_create_fresh_int_array_~size#1|)), Black: 309#(and (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| 0) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n2~0)), Black: 62#(= ~state22~0 ~state12~0), 453#(and (<= 1 ~size1~0) (= |thread2Thread1of1ForFork2_~cond~0#1| 1))]) [2024-05-12 11:02:40,583 INFO L294 olderBase$Statistics]: this new event has 38 ancestors and is cut-off event [2024-05-12 11:02:40,583 INFO L297 olderBase$Statistics]: existing Event has 38 ancestors and is cut-off event [2024-05-12 11:02:40,583 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:02:40,584 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:02:40,684 INFO L124 PetriNetUnfolderBase]: 2501/3817 cut-off events. [2024-05-12 11:02:40,684 INFO L125 PetriNetUnfolderBase]: For 13111/13517 co-relation queries the response was YES. [2024-05-12 11:02:40,697 INFO L83 FinitePrefix]: Finished finitePrefix Result has 15267 conditions, 3817 events. 2501/3817 cut-off events. For 13111/13517 co-relation queries the response was YES. Maximal size of possible extension queue 223. Compared 20346 event pairs, 570 based on Foata normal form. 480/4157 useless extension candidates. Maximal degree in co-relation 15227. Up to 2027 conditions per place. [2024-05-12 11:02:40,715 INFO L140 encePairwiseOnDemand]: 47/50 looper letters, 73 selfloop transitions, 3 changer transitions 0/93 dead transitions. [2024-05-12 11:02:40,716 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 78 places, 93 transitions, 714 flow [2024-05-12 11:02:40,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-12 11:02:40,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-05-12 11:02:40,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 85 transitions. [2024-05-12 11:02:40,717 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5666666666666667 [2024-05-12 11:02:40,717 INFO L175 Difference]: Start difference. First operand has 76 places, 72 transitions, 424 flow. Second operand 3 states and 85 transitions. [2024-05-12 11:02:40,717 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 78 places, 93 transitions, 714 flow [2024-05-12 11:02:40,726 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 77 places, 93 transitions, 709 flow, removed 2 selfloop flow, removed 1 redundant places. [2024-05-12 11:02:40,728 INFO L231 Difference]: Finished difference. Result has 78 places, 73 transitions, 442 flow [2024-05-12 11:02:40,728 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=421, PETRI_DIFFERENCE_MINUEND_PLACES=75, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=72, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=69, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=442, PETRI_PLACES=78, PETRI_TRANSITIONS=73} [2024-05-12 11:02:40,729 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 31 predicate places. [2024-05-12 11:02:40,729 INFO L495 AbstractCegarLoop]: Abstraction has has 78 places, 73 transitions, 442 flow [2024-05-12 11:02:40,729 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 23.333333333333332) internal successors, (70), 3 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:40,729 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:40,730 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:40,730 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2024-05-12 11:02:40,730 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:40,730 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:40,731 INFO L85 PathProgramCache]: Analyzing trace with hash 803853085, now seen corresponding path program 1 times [2024-05-12 11:02:40,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:40,731 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1470435632] [2024-05-12 11:02:40,731 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:40,731 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:40,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:41,831 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-12 11:02:41,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:41,832 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1470435632] [2024-05-12 11:02:41,832 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1470435632] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-12 11:02:41,832 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [447805164] [2024-05-12 11:02:41,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:41,832 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-12 11:02:41,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-05-12 11:02:41,836 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-12 11:02:41,863 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-05-12 11:02:42,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:42,034 INFO L262 TraceCheckSpWp]: Trace formula consists of 501 conjuncts, 38 conjunts are in the unsatisfiable core [2024-05-12 11:02:42,041 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:02:42,207 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-05-12 11:02:42,212 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-05-12 11:02:42,679 INFO L349 Elim1Store]: treesize reduction 61, result has 40.8 percent of original size [2024-05-12 11:02:42,679 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 6 new quantified variables, introduced 6 case distinctions, treesize of input 70 treesize of output 73 [2024-05-12 11:02:42,687 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 47 [2024-05-12 11:02:42,689 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 39 [2024-05-12 11:02:42,697 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:02:42,697 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-12 11:02:43,061 INFO L349 Elim1Store]: treesize reduction 26, result has 91.8 percent of original size [2024-05-12 11:02:43,061 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 15 case distinctions, treesize of input 91 treesize of output 329 [2024-05-12 11:02:49,720 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-12 11:02:49,735 INFO L349 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2024-05-12 11:02:49,736 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 62 treesize of output 41 [2024-05-12 11:02:49,750 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 29 [2024-05-12 11:02:49,755 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2024-05-12 11:02:49,755 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 62 treesize of output 1 [2024-05-12 11:02:49,863 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:02:49,863 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [447805164] provided 0 perfect and 2 imperfect interpolant sequences [2024-05-12 11:02:49,863 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-05-12 11:02:49,863 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10, 8] total 23 [2024-05-12 11:02:49,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [194602906] [2024-05-12 11:02:49,863 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-05-12 11:02:49,864 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2024-05-12 11:02:49,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-05-12 11:02:49,865 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2024-05-12 11:02:49,865 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=485, Unknown=0, NotChecked=0, Total=552 [2024-05-12 11:02:50,347 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 50 [2024-05-12 11:02:50,350 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 78 places, 73 transitions, 442 flow. Second operand has 24 states, 24 states have (on average 15.5) internal successors, (372), 24 states have internal predecessors, (372), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:50,350 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:02:50,350 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 50 [2024-05-12 11:02:50,350 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:02:54,041 INFO L124 PetriNetUnfolderBase]: 9904/15543 cut-off events. [2024-05-12 11:02:54,042 INFO L125 PetriNetUnfolderBase]: For 55117/56329 co-relation queries the response was YES. [2024-05-12 11:02:54,103 INFO L83 FinitePrefix]: Finished finitePrefix Result has 65138 conditions, 15543 events. 9904/15543 cut-off events. For 55117/56329 co-relation queries the response was YES. Maximal size of possible extension queue 657. Compared 102301 event pairs, 516 based on Foata normal form. 444/15674 useless extension candidates. Maximal degree in co-relation 65096. Up to 4364 conditions per place. [2024-05-12 11:02:54,182 INFO L140 encePairwiseOnDemand]: 39/50 looper letters, 269 selfloop transitions, 62 changer transitions 3/351 dead transitions. [2024-05-12 11:02:54,182 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 104 places, 351 transitions, 2597 flow [2024-05-12 11:02:54,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2024-05-12 11:02:54,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2024-05-12 11:02:54,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 558 transitions. [2024-05-12 11:02:54,184 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.41333333333333333 [2024-05-12 11:02:54,184 INFO L175 Difference]: Start difference. First operand has 78 places, 73 transitions, 442 flow. Second operand 27 states and 558 transitions. [2024-05-12 11:02:54,184 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 104 places, 351 transitions, 2597 flow [2024-05-12 11:02:54,209 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 103 places, 351 transitions, 2585 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-05-12 11:02:54,212 INFO L231 Difference]: Finished difference. Result has 105 places, 128 transitions, 1062 flow [2024-05-12 11:02:54,212 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=439, PETRI_DIFFERENCE_MINUEND_PLACES=77, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=73, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=17, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=54, PETRI_DIFFERENCE_SUBTRAHEND_STATES=27, PETRI_FLOW=1062, PETRI_PLACES=105, PETRI_TRANSITIONS=128} [2024-05-12 11:02:54,213 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 58 predicate places. [2024-05-12 11:02:54,213 INFO L495 AbstractCegarLoop]: Abstraction has has 105 places, 128 transitions, 1062 flow [2024-05-12 11:02:54,213 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 15.5) internal successors, (372), 24 states have internal predecessors, (372), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:02:54,213 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:02:54,213 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:02:54,239 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-05-12 11:02:54,428 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-12 11:02:54,428 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:02:54,429 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:02:54,429 INFO L85 PathProgramCache]: Analyzing trace with hash 1735422015, now seen corresponding path program 2 times [2024-05-12 11:02:54,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-05-12 11:02:54,429 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1430837576] [2024-05-12 11:02:54,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:02:54,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-05-12 11:02:54,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:02:55,621 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:02:55,621 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-05-12 11:02:55,621 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1430837576] [2024-05-12 11:02:55,622 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1430837576] provided 0 perfect and 1 imperfect interpolant sequences [2024-05-12 11:02:55,622 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2034350247] [2024-05-12 11:02:55,622 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-05-12 11:02:55,622 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-05-12 11:02:55,622 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-05-12 11:02:55,623 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-05-12 11:02:55,624 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-05-12 11:02:55,841 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-05-12 11:02:55,841 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-05-12 11:02:55,844 INFO L262 TraceCheckSpWp]: Trace formula consists of 501 conjuncts, 36 conjunts are in the unsatisfiable core [2024-05-12 11:02:55,848 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:02:55,894 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 15 treesize of output 1 [2024-05-12 11:02:55,919 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-05-12 11:02:55,921 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-05-12 11:02:56,101 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 23 [2024-05-12 11:02:56,104 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 15 [2024-05-12 11:02:56,123 INFO L349 Elim1Store]: treesize reduction 20, result has 62.3 percent of original size [2024-05-12 11:02:56,125 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 37 treesize of output 45 [2024-05-12 11:02:56,135 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:02:56,135 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-12 11:03:01,086 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 91 [2024-05-12 11:03:01,098 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-12 11:03:01,098 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 314 treesize of output 298 [2024-05-12 11:03:01,105 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 290 treesize of output 274 [2024-05-12 11:03:01,119 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-12 11:03:01,119 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 806 treesize of output 718 [2024-05-12 11:03:04,617 INFO L349 Elim1Store]: treesize reduction 4, result has 97.3 percent of original size [2024-05-12 11:03:04,618 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 7 new quantified variables, introduced 10 case distinctions, treesize of input 1086 treesize of output 999 [2024-05-12 11:03:21,023 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-12 11:03:21,023 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 1396 treesize of output 1324 [2024-05-12 11:03:21,371 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 589 treesize of output 487 [2024-05-12 11:06:59,322 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 101 [2024-05-12 11:06:59,322 WARN L249 Executor]: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1) with exit command (exit)) stderr output: (error "out of memory") [2024-05-12 11:06:59,324 WARN L320 FreeRefinementEngine]: Global settings require throwing the following exception [2024-05-12 11:06:59,338 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-05-12 11:06:59,536 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2024-05-12 11:06:59,536 FATAL L? ?]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1) with exit command (exit)) Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:262) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseSuccess(Executor.java:277) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.push(Scriptor.java:133) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript.push(DiffWrapperScript.java:90) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.push(WrapperScript.java:148) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.scripttransfer.HistoryRecordingScript.push(HistoryRecordingScript.java:107) at de.uni_freiburg.informatik.ultimate.logic.Util.checkSat(Util.java:48) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.checkRedundancy(SimplifyDDA2.java:287) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.convertForPreprocessedInputTerms(SimplifyDDA2.java:519) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.convert(SimplifyDDA2.java:503) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.convert(SimplifyDDA2.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:88) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.simplify(SimplifyDDA2.java:609) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SmtUtils.simplify(SmtUtils.java:252) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SmtUtils.simplifyWithStatistics(SmtUtils.java:324) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify(QuantifierPusher.java:731) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:133) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine$ApplicationTermTask.doStep(TermContextTransformationEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:100) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.pushInner(QuantifierPusher.java:275) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:194) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine$ApplicationTermTask.doStep(TermContextTransformationEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:100) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.pushMinionEliminatees(QuantifierPushUtilsForSubsetPush.java:255) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.sequentialSubsetPush(QuantifierPushUtilsForSubsetPush.java:151) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:338) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:189) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine$ApplicationTermTask.doStep(TermContextTransformationEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:100) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.pushMinionEliminatees(QuantifierPushUtilsForSubsetPush.java:255) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.sequentialSubsetPush(QuantifierPushUtilsForSubsetPush.java:151) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:338) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:189) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:88) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.pushMinionEliminatees(QuantifierPushUtilsForSubsetPush.java:255) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.sequentialSubsetPush(QuantifierPushUtilsForSubsetPush.java:151) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:338) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:189) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine$ApplicationTermTask.doStep(TermContextTransformationEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:100) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:283) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:51) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:399) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:271) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:341) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:184) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:110) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:77) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:267) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:148) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:137) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:82) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:337) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:431) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:416) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:226) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:124) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1518) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:701) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:383) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:258) ... 93 more [2024-05-12 11:06:59,555 INFO L158 Benchmark]: Toolchain (without parser) took 269901.61ms. Allocated memory was 151.0MB in the beginning and 3.1GB in the end (delta: 2.9GB). Free memory was 113.7MB in the beginning and 1.5GB in the end (delta: -1.4GB). Peak memory consumption was 2.0GB. Max. memory is 16.1GB. [2024-05-12 11:06:59,555 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 115.3MB. Free memory is still 76.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-05-12 11:06:59,555 INFO L158 Benchmark]: Witness Parser took 0.14ms. Allocated memory is still 151.0MB. Free memory is still 117.5MB. There was no memory consumed. Max. memory is 16.1GB. [2024-05-12 11:06:59,556 INFO L158 Benchmark]: CACSL2BoogieTranslator took 404.96ms. Allocated memory is still 151.0MB. Free memory was 113.7MB in the beginning and 93.5MB in the end (delta: 20.2MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. [2024-05-12 11:06:59,556 INFO L158 Benchmark]: Boogie Procedure Inliner took 76.98ms. Allocated memory is still 151.0MB. Free memory was 93.5MB in the beginning and 90.2MB in the end (delta: 3.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-05-12 11:06:59,556 INFO L158 Benchmark]: Boogie Preprocessor took 82.29ms. Allocated memory is still 151.0MB. Free memory was 89.4MB in the beginning and 85.2MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-05-12 11:06:59,556 INFO L158 Benchmark]: RCFGBuilder took 1124.79ms. Allocated memory was 151.0MB in the beginning and 211.8MB in the end (delta: 60.8MB). Free memory was 85.2MB in the beginning and 170.6MB in the end (delta: -85.4MB). Peak memory consumption was 58.0MB. Max. memory is 16.1GB. [2024-05-12 11:06:59,557 INFO L158 Benchmark]: TraceAbstraction took 268208.33ms. Allocated memory was 211.8MB in the beginning and 3.1GB in the end (delta: 2.9GB). Free memory was 169.6MB in the beginning and 1.5GB in the end (delta: -1.3GB). Peak memory consumption was 2.0GB. Max. memory is 16.1GB. [2024-05-12 11:06:59,563 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 115.3MB. Free memory is still 76.0MB. There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.14ms. Allocated memory is still 151.0MB. Free memory is still 117.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 404.96ms. Allocated memory is still 151.0MB. Free memory was 113.7MB in the beginning and 93.5MB in the end (delta: 20.2MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 76.98ms. Allocated memory is still 151.0MB. Free memory was 93.5MB in the beginning and 90.2MB in the end (delta: 3.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 82.29ms. Allocated memory is still 151.0MB. Free memory was 89.4MB in the beginning and 85.2MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 1124.79ms. Allocated memory was 151.0MB in the beginning and 211.8MB in the end (delta: 60.8MB). Free memory was 85.2MB in the beginning and 170.6MB in the end (delta: -85.4MB). Peak memory consumption was 58.0MB. Max. memory is 16.1GB. * TraceAbstraction took 268208.33ms. Allocated memory was 211.8MB in the beginning and 3.1GB in the end (delta: 2.9GB). Free memory was 169.6MB in the beginning and 1.5GB in the end (delta: -1.3GB). Peak memory consumption was 2.0GB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1) with exit command (exit)) Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1) with exit command (exit)) Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:262) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c ./goblint.2024-05-07_14-17-48.files/mutex-meet/popl20-prod-cons-eq.wvr.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --- Real Ultimate output --- This is Ultimate 0.2.4-wip.fs.witness-ghost-b44c828-m [2024-05-12 11:07:01,522 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-05-12 11:07:01,603 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2024-05-12 11:07:01,608 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-05-12 11:07:01,609 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-05-12 11:07:01,636 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-05-12 11:07:01,637 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-05-12 11:07:01,637 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-05-12 11:07:01,638 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-05-12 11:07:01,641 INFO L153 SettingsManager]: * Use memory slicer=true [2024-05-12 11:07:01,641 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-05-12 11:07:01,641 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-05-12 11:07:01,641 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-05-12 11:07:01,642 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-05-12 11:07:01,642 INFO L153 SettingsManager]: * Use SBE=true [2024-05-12 11:07:01,643 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-05-12 11:07:01,643 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-05-12 11:07:01,643 INFO L153 SettingsManager]: * sizeof long=4 [2024-05-12 11:07:01,643 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-05-12 11:07:01,643 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-05-12 11:07:01,644 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-05-12 11:07:01,644 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-05-12 11:07:01,644 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-05-12 11:07:01,645 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2024-05-12 11:07:01,645 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-05-12 11:07:01,645 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-05-12 11:07:01,645 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-05-12 11:07:01,645 INFO L153 SettingsManager]: * sizeof long double=12 [2024-05-12 11:07:01,645 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-05-12 11:07:01,645 INFO L153 SettingsManager]: * Use constant arrays=true [2024-05-12 11:07:01,646 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-05-12 11:07:01,646 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-05-12 11:07:01,647 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-05-12 11:07:01,647 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-05-12 11:07:01,647 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-05-12 11:07:01,647 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-05-12 11:07:01,648 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-05-12 11:07:01,649 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-05-12 11:07:01,649 INFO L153 SettingsManager]: * Logic for external solver=AUFBV [2024-05-12 11:07:01,649 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false [2024-05-12 11:07:01,899 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-05-12 11:07:01,914 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-05-12 11:07:01,916 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-05-12 11:07:01,917 INFO L270 PluginConnector]: Initializing CDTParser... [2024-05-12 11:07:01,917 INFO L274 PluginConnector]: CDTParser initialized [2024-05-12 11:07:01,919 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c [2024-05-12 11:07:03,043 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-05-12 11:07:03,211 INFO L384 CDTParser]: Found 1 translation units. [2024-05-12 11:07:03,211 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c [2024-05-12 11:07:03,218 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e8ff8e50b/56ee98d33da547728c0c2ed3914749ed/FLAGf00da3a8a [2024-05-12 11:07:03,228 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e8ff8e50b/56ee98d33da547728c0c2ed3914749ed [2024-05-12 11:07:03,230 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-05-12 11:07:03,230 INFO L274 PluginConnector]: Witness Parser initialized [2024-05-12 11:07:03,230 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./goblint.2024-05-07_14-17-48.files/mutex-meet/popl20-prod-cons-eq.wvr.yml/witness.yml [2024-05-12 11:07:03,292 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-05-12 11:07:03,293 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-05-12 11:07:03,294 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-05-12 11:07:03,294 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-05-12 11:07:03,297 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-05-12 11:07:03,298 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.05 11:07:03" (1/2) ... [2024-05-12 11:07:03,298 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7571c4cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.05 11:07:03, skipping insertion in model container [2024-05-12 11:07:03,299 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.05 11:07:03" (1/2) ... [2024-05-12 11:07:03,300 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@6f3c3f39 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.05 11:07:03, skipping insertion in model container [2024-05-12 11:07:03,301 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 12.05 11:07:03" (2/2) ... [2024-05-12 11:07:03,302 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7571c4cc and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03, skipping insertion in model container [2024-05-12 11:07:03,302 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 12.05 11:07:03" (2/2) ... [2024-05-12 11:07:03,302 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-05-12 11:07:03,319 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-05-12 11:07:03,320 INFO L97 edCorrectnessWitness]: Location invariant before [L132-L132] ! multithreaded || ((((((((((((((((((((((((((((((((((((((((((((((((((4294967296LL + (long long )front1) + (long long )n_queue >= 0LL && (4294967296LL + (long long )front1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )front1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )front1) + (long long )n1 >= 0LL) && (4294967296LL + (long long )front1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n_queue) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_queue) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n2 >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n1 >= 0LL) && (4294967295LL + (long long )front1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n_queue) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_queue) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n2 >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_update >= 0LL) [2024-05-12 11:07:03,320 INFO L97 edCorrectnessWitness]: Location invariant before [L134-L134] ! multithreaded || ((((((((((((((((((((((((((((((((((((((((((((((((((4294967296LL + (long long )front1) + (long long )n_queue >= 0LL && (4294967296LL + (long long )front1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )front1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )front1) + (long long )n1 >= 0LL) && (4294967296LL + (long long )front1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n_queue) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_queue) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n2 >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n1 >= 0LL) && (4294967295LL + (long long )front1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n_queue) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_queue) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n2 >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_update >= 0LL) [2024-05-12 11:07:03,320 INFO L97 edCorrectnessWitness]: Location invariant before [L133-L133] ! multithreaded || ((((((((((((((((((((((((((((((((((((((((((((((((((4294967296LL + (long long )front1) + (long long )n_queue >= 0LL && (4294967296LL + (long long )front1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )front1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )front1) + (long long )n1 >= 0LL) && (4294967296LL + (long long )front1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n_queue) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n_produce) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n1) + (long long )n_update >= 0LL) && (4294967296LL + (long long )n1) + (long long )n2 >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_queue >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_produce >= 0LL) && (4294967296LL + (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_queue) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n_produce) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n1) + (long long )n_update >= 0LL) && (4294967295LL - (long long )n1) + (long long )n2 >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_queue >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_produce >= 0LL) && (4294967295LL - (long long )n2) + (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )front1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )front1) - (long long )n1 >= 0LL) && (4294967295LL + (long long )front1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n_queue) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n_produce) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n1) - (long long )n_update >= 0LL) && (4294967295LL + (long long )n1) - (long long )n2 >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_queue >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_produce >= 0LL) && (4294967295LL + (long long )n2) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_queue) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n_produce) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n1) - (long long )n_update >= 0LL) && (4294967294LL - (long long )n1) - (long long )n2 >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_queue >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_produce >= 0LL) && (4294967294LL - (long long )n2) - (long long )n_update >= 0LL) [2024-05-12 11:07:03,320 INFO L103 edCorrectnessWitness]: ghost_variable multithreaded = 0 [2024-05-12 11:07:03,320 INFO L106 edCorrectnessWitness]: ghost_update [L131-L131] multithreaded = 1; [2024-05-12 11:07:03,339 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-05-12 11:07:03,524 WARN L246 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c[4380,4393] [2024-05-12 11:07:03,539 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-05-12 11:07:03,551 INFO L199 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2024-05-12 11:07:03,557 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-05-12 11:07:03,589 WARN L246 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c[4380,4393] [2024-05-12 11:07:03,592 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-05-12 11:07:03,600 INFO L202 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-05-12 11:07:03,706 WARN L246 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-prod-cons-eq.wvr.c[4380,4393] [2024-05-12 11:07:03,709 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-05-12 11:07:03,722 INFO L206 MainTranslator]: Completed translation [2024-05-12 11:07:03,723 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03 WrapperNode [2024-05-12 11:07:03,723 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-05-12 11:07:03,724 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-05-12 11:07:03,724 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-05-12 11:07:03,724 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-05-12 11:07:03,729 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,740 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,804 INFO L138 Inliner]: procedures = 30, calls = 80, calls flagged for inlining = 26, calls inlined = 32, statements flattened = 405 [2024-05-12 11:07:03,804 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-05-12 11:07:03,805 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-05-12 11:07:03,805 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-05-12 11:07:03,805 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-05-12 11:07:03,813 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,814 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,830 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,857 INFO L175 MemorySlicer]: Split 30 memory accesses to 7 slices as follows [2, 3, 16, 3, 2, 2, 2]. 53 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0, 0, 0]. The 9 writes are split as follows [0, 1, 4, 1, 1, 1, 1]. [2024-05-12 11:07:03,857 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,857 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,875 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,879 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,882 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,884 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,889 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-05-12 11:07:03,890 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-05-12 11:07:03,890 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-05-12 11:07:03,890 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-05-12 11:07:03,891 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (1/1) ... [2024-05-12 11:07:03,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-05-12 11:07:03,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-05-12 11:07:03,911 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-05-12 11:07:03,918 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-05-12 11:07:03,946 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-05-12 11:07:03,946 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#0 [2024-05-12 11:07:03,946 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#1 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#2 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#3 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#4 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#5 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#6 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#1 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#2 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#3 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#4 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#5 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#6 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#0 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#1 [2024-05-12 11:07:03,947 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#2 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#3 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#4 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#5 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#6 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#0 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#1 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#2 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#3 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#4 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#5 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#6 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#0 [2024-05-12 11:07:03,948 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#1 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#2 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#3 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#4 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#5 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#6 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-05-12 11:07:03,949 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-05-12 11:07:03,949 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-05-12 11:07:03,949 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-05-12 11:07:03,949 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-05-12 11:07:03,950 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#0 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#1 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#2 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#3 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#4 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#5 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#6 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#0 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#1 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#2 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#3 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#4 [2024-05-12 11:07:03,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#5 [2024-05-12 11:07:03,951 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#6 [2024-05-12 11:07:03,952 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-05-12 11:07:04,087 INFO L244 CfgBuilder]: Building ICFG [2024-05-12 11:07:04,088 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-05-12 11:07:12,156 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-05-12 11:07:12,156 INFO L293 CfgBuilder]: Performing block encoding [2024-05-12 11:07:12,530 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-05-12 11:07:12,531 INFO L320 CfgBuilder]: Removed 9 assume(true) statements. [2024-05-12 11:07:12,531 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.05 11:07:12 BoogieIcfgContainer [2024-05-12 11:07:12,531 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-05-12 11:07:12,533 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-05-12 11:07:12,533 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-05-12 11:07:12,535 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-05-12 11:07:12,535 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 12.05 11:07:03" (1/4) ... [2024-05-12 11:07:12,536 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7eb42c9b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 12.05 11:07:12, skipping insertion in model container [2024-05-12 11:07:12,536 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 12.05 11:07:03" (2/4) ... [2024-05-12 11:07:12,536 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7eb42c9b and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 12.05 11:07:12, skipping insertion in model container [2024-05-12 11:07:12,536 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 12.05 11:07:03" (3/4) ... [2024-05-12 11:07:12,536 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7eb42c9b and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 12.05 11:07:12, skipping insertion in model container [2024-05-12 11:07:12,536 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.05 11:07:12" (4/4) ... [2024-05-12 11:07:12,537 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-prod-cons-eq.wvr.c [2024-05-12 11:07:12,550 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-05-12 11:07:12,550 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2024-05-12 11:07:12,550 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-05-12 11:07:12,600 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-05-12 11:07:12,621 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 51 places, 50 transitions, 121 flow [2024-05-12 11:07:12,642 INFO L124 PetriNetUnfolderBase]: 9/47 cut-off events. [2024-05-12 11:07:12,642 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-05-12 11:07:12,644 INFO L83 FinitePrefix]: Finished finitePrefix Result has 60 conditions, 47 events. 9/47 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 41 event pairs, 0 based on Foata normal form. 0/34 useless extension candidates. Maximal degree in co-relation 37. Up to 2 conditions per place. [2024-05-12 11:07:12,644 INFO L82 GeneralOperation]: Start removeDead. Operand has 51 places, 50 transitions, 121 flow [2024-05-12 11:07:12,646 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 47 places, 46 transitions, 110 flow [2024-05-12 11:07:12,653 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-05-12 11:07:12,657 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, 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;@4f2b93f7, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-05-12 11:07:12,657 INFO L358 AbstractCegarLoop]: Starting to check reachability of 7 error locations. [2024-05-12 11:07:12,663 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-05-12 11:07:12,663 INFO L124 PetriNetUnfolderBase]: 6/20 cut-off events. [2024-05-12 11:07:12,663 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-05-12 11:07:12,663 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:12,664 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:07:12,664 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:12,667 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:12,668 INFO L85 PathProgramCache]: Analyzing trace with hash 630865468, now seen corresponding path program 1 times [2024-05-12 11:07:12,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:12,676 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1093182865] [2024-05-12 11:07:12,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:12,677 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:12,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:12,679 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:12,700 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2024-05-12 11:07:12,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:12,850 INFO L262 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 1 conjunts are in the unsatisfiable core [2024-05-12 11:07:12,853 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:12,866 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-12 11:07:12,866 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:12,866 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:12,867 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1093182865] [2024-05-12 11:07:12,867 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1093182865] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:12,867 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:12,867 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-05-12 11:07:12,868 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [219876103] [2024-05-12 11:07:12,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:12,874 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-05-12 11:07:12,877 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:12,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-05-12 11:07:12,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-05-12 11:07:12,894 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:12,896 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 47 places, 46 transitions, 110 flow. Second operand has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:12,896 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:12,896 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:12,899 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:13,320 INFO L124 PetriNetUnfolderBase]: 274/429 cut-off events. [2024-05-12 11:07:13,320 INFO L125 PetriNetUnfolderBase]: For 10/10 co-relation queries the response was YES. [2024-05-12 11:07:13,321 INFO L83 FinitePrefix]: Finished finitePrefix Result has 895 conditions, 429 events. 274/429 cut-off events. For 10/10 co-relation queries the response was YES. Maximal size of possible extension queue 39. Compared 1592 event pairs, 191 based on Foata normal form. 0/372 useless extension candidates. Maximal degree in co-relation 762. Up to 419 conditions per place. [2024-05-12 11:07:13,324 INFO L140 encePairwiseOnDemand]: 47/50 looper letters, 38 selfloop transitions, 0 changer transitions 0/43 dead transitions. [2024-05-12 11:07:13,324 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 43 transitions, 180 flow [2024-05-12 11:07:13,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-05-12 11:07:13,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2024-05-12 11:07:13,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 57 transitions. [2024-05-12 11:07:13,332 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.57 [2024-05-12 11:07:13,333 INFO L175 Difference]: Start difference. First operand has 47 places, 46 transitions, 110 flow. Second operand 2 states and 57 transitions. [2024-05-12 11:07:13,334 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 43 transitions, 180 flow [2024-05-12 11:07:13,336 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 43 transitions, 168 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-05-12 11:07:13,337 INFO L231 Difference]: Finished difference. Result has 39 places, 43 transitions, 92 flow [2024-05-12 11:07:13,338 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=92, PETRI_DIFFERENCE_MINUEND_PLACES=38, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=43, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=43, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=92, PETRI_PLACES=39, PETRI_TRANSITIONS=43} [2024-05-12 11:07:13,341 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, -8 predicate places. [2024-05-12 11:07:13,341 INFO L495 AbstractCegarLoop]: Abstraction has has 39 places, 43 transitions, 92 flow [2024-05-12 11:07:13,341 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:13,341 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:13,341 INFO L208 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] [2024-05-12 11:07:13,349 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2024-05-12 11:07:13,544 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:13,545 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:13,545 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:13,546 INFO L85 PathProgramCache]: Analyzing trace with hash 282690064, now seen corresponding path program 1 times [2024-05-12 11:07:13,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:13,546 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1601689638] [2024-05-12 11:07:13,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:13,547 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:13,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:13,548 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:13,554 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2024-05-12 11:07:13,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:13,710 INFO L262 TraceCheckSpWp]: Trace formula consists of 224 conjuncts, 2 conjunts are in the unsatisfiable core [2024-05-12 11:07:13,712 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:13,737 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-12 11:07:13,737 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:13,737 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:13,738 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1601689638] [2024-05-12 11:07:13,738 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1601689638] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:13,738 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:13,738 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:07:13,738 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1341060601] [2024-05-12 11:07:13,738 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:13,739 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-12 11:07:13,739 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:13,740 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-12 11:07:13,740 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-12 11:07:13,750 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 50 [2024-05-12 11:07:13,750 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 39 places, 43 transitions, 92 flow. Second operand has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:13,750 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:13,750 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 50 [2024-05-12 11:07:13,750 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:14,489 INFO L124 PetriNetUnfolderBase]: 394/608 cut-off events. [2024-05-12 11:07:14,489 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-05-12 11:07:14,491 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1234 conditions, 608 events. 394/608 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 50. Compared 2436 event pairs, 175 based on Foata normal form. 0/504 useless extension candidates. Maximal degree in co-relation 1231. Up to 376 conditions per place. [2024-05-12 11:07:14,493 INFO L140 encePairwiseOnDemand]: 46/50 looper letters, 49 selfloop transitions, 3 changer transitions 0/56 dead transitions. [2024-05-12 11:07:14,493 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 41 places, 56 transitions, 224 flow [2024-05-12 11:07:14,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-12 11:07:14,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-05-12 11:07:14,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2024-05-12 11:07:14,494 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.49333333333333335 [2024-05-12 11:07:14,495 INFO L175 Difference]: Start difference. First operand has 39 places, 43 transitions, 92 flow. Second operand 3 states and 74 transitions. [2024-05-12 11:07:14,495 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 41 places, 56 transitions, 224 flow [2024-05-12 11:07:14,499 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 41 places, 56 transitions, 224 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-05-12 11:07:14,501 INFO L231 Difference]: Finished difference. Result has 43 places, 44 transitions, 110 flow [2024-05-12 11:07:14,501 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=92, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=43, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=40, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=110, PETRI_PLACES=43, PETRI_TRANSITIONS=44} [2024-05-12 11:07:14,501 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, -4 predicate places. [2024-05-12 11:07:14,502 INFO L495 AbstractCegarLoop]: Abstraction has has 43 places, 44 transitions, 110 flow [2024-05-12 11:07:14,502 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:14,502 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:14,502 INFO L208 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-05-12 11:07:14,520 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Ended with exit code 0 [2024-05-12 11:07:14,706 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:14,706 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:14,707 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:14,707 INFO L85 PathProgramCache]: Analyzing trace with hash -430388555, now seen corresponding path program 1 times [2024-05-12 11:07:14,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:14,708 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1520674684] [2024-05-12 11:07:14,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:14,708 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:14,708 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:14,723 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:14,753 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2024-05-12 11:07:14,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:14,901 INFO L262 TraceCheckSpWp]: Trace formula consists of 232 conjuncts, 3 conjunts are in the unsatisfiable core [2024-05-12 11:07:14,903 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:14,939 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-05-12 11:07:14,939 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:14,939 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:14,939 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1520674684] [2024-05-12 11:07:14,939 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1520674684] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:14,940 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:14,940 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:07:14,940 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1882052082] [2024-05-12 11:07:14,940 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:14,940 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:07:14,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:14,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:07:14,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:07:14,948 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 50 [2024-05-12 11:07:14,948 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 44 transitions, 110 flow. Second operand has 4 states, 4 states have (on average 12.75) internal successors, (51), 4 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:14,948 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:14,948 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 50 [2024-05-12 11:07:14,949 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:16,348 INFO L124 PetriNetUnfolderBase]: 803/1212 cut-off events. [2024-05-12 11:07:16,348 INFO L125 PetriNetUnfolderBase]: For 294/294 co-relation queries the response was YES. [2024-05-12 11:07:16,350 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2731 conditions, 1212 events. 803/1212 cut-off events. For 294/294 co-relation queries the response was YES. Maximal size of possible extension queue 57. Compared 4736 event pairs, 170 based on Foata normal form. 58/1151 useless extension candidates. Maximal degree in co-relation 2726. Up to 380 conditions per place. [2024-05-12 11:07:16,353 INFO L140 encePairwiseOnDemand]: 44/50 looper letters, 74 selfloop transitions, 8 changer transitions 0/84 dead transitions. [2024-05-12 11:07:16,353 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 47 places, 84 transitions, 371 flow [2024-05-12 11:07:16,354 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:07:16,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:07:16,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2024-05-12 11:07:16,355 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.436 [2024-05-12 11:07:16,355 INFO L175 Difference]: Start difference. First operand has 43 places, 44 transitions, 110 flow. Second operand 5 states and 109 transitions. [2024-05-12 11:07:16,355 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 47 places, 84 transitions, 371 flow [2024-05-12 11:07:16,356 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 45 places, 84 transitions, 361 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-05-12 11:07:16,357 INFO L231 Difference]: Finished difference. Result has 48 places, 49 transitions, 156 flow [2024-05-12 11:07:16,358 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=104, PETRI_DIFFERENCE_MINUEND_PLACES=41, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=156, PETRI_PLACES=48, PETRI_TRANSITIONS=49} [2024-05-12 11:07:16,358 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 1 predicate places. [2024-05-12 11:07:16,358 INFO L495 AbstractCegarLoop]: Abstraction has has 48 places, 49 transitions, 156 flow [2024-05-12 11:07:16,359 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 12.75) internal successors, (51), 4 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:16,359 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:16,359 INFO L208 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-05-12 11:07:16,364 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Ended with exit code 0 [2024-05-12 11:07:16,565 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:16,565 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:16,566 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:16,566 INFO L85 PathProgramCache]: Analyzing trace with hash -476616527, now seen corresponding path program 2 times [2024-05-12 11:07:16,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:16,566 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1350377388] [2024-05-12 11:07:16,566 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-05-12 11:07:16,567 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:16,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:16,571 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:16,573 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2024-05-12 11:07:16,728 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-05-12 11:07:16,729 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-05-12 11:07:16,732 INFO L262 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 2 conjunts are in the unsatisfiable core [2024-05-12 11:07:16,733 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:16,796 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-12 11:07:16,796 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:16,796 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:16,796 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1350377388] [2024-05-12 11:07:16,796 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1350377388] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:16,796 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:16,797 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:07:16,797 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [795230077] [2024-05-12 11:07:16,797 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:16,797 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-12 11:07:16,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:16,797 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-12 11:07:16,798 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-12 11:07:16,798 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:16,798 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 48 places, 49 transitions, 156 flow. Second operand has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:16,798 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:16,798 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:16,798 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:17,695 INFO L124 PetriNetUnfolderBase]: 1047/1603 cut-off events. [2024-05-12 11:07:17,695 INFO L125 PetriNetUnfolderBase]: For 1029/1094 co-relation queries the response was YES. [2024-05-12 11:07:17,698 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3957 conditions, 1603 events. 1047/1603 cut-off events. For 1029/1094 co-relation queries the response was YES. Maximal size of possible extension queue 109. Compared 7228 event pairs, 213 based on Foata normal form. 51/1466 useless extension candidates. Maximal degree in co-relation 3949. Up to 937 conditions per place. [2024-05-12 11:07:17,702 INFO L140 encePairwiseOnDemand]: 46/50 looper letters, 54 selfloop transitions, 3 changer transitions 1/68 dead transitions. [2024-05-12 11:07:17,702 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 50 places, 68 transitions, 331 flow [2024-05-12 11:07:17,703 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-12 11:07:17,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-05-12 11:07:17,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 81 transitions. [2024-05-12 11:07:17,706 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.54 [2024-05-12 11:07:17,706 INFO L175 Difference]: Start difference. First operand has 48 places, 49 transitions, 156 flow. Second operand 3 states and 81 transitions. [2024-05-12 11:07:17,706 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 50 places, 68 transitions, 331 flow [2024-05-12 11:07:17,710 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 50 places, 68 transitions, 331 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-05-12 11:07:17,711 INFO L231 Difference]: Finished difference. Result has 51 places, 51 transitions, 175 flow [2024-05-12 11:07:17,711 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=156, PETRI_DIFFERENCE_MINUEND_PLACES=48, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=49, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=175, PETRI_PLACES=51, PETRI_TRANSITIONS=51} [2024-05-12 11:07:17,712 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 4 predicate places. [2024-05-12 11:07:17,712 INFO L495 AbstractCegarLoop]: Abstraction has has 51 places, 51 transitions, 175 flow [2024-05-12 11:07:17,713 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:17,713 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:17,713 INFO L208 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-05-12 11:07:17,729 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2024-05-12 11:07:17,916 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:17,917 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:17,917 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:17,917 INFO L85 PathProgramCache]: Analyzing trace with hash 1201156490, now seen corresponding path program 1 times [2024-05-12 11:07:17,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:17,918 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1306444320] [2024-05-12 11:07:17,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:17,918 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:17,918 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:17,919 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:17,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2024-05-12 11:07:18,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:18,150 INFO L262 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 4 conjunts are in the unsatisfiable core [2024-05-12 11:07:18,152 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:18,223 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-05-12 11:07:18,224 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:18,224 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:18,224 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1306444320] [2024-05-12 11:07:18,224 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1306444320] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:18,225 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:18,225 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:07:18,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [90319510] [2024-05-12 11:07:18,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:18,226 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-05-12 11:07:18,226 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:18,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-05-12 11:07:18,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-05-12 11:07:18,234 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 6 out of 50 [2024-05-12 11:07:18,234 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 51 transitions, 175 flow. Second operand has 5 states, 5 states have (on average 12.2) internal successors, (61), 5 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:18,234 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:18,234 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 6 of 50 [2024-05-12 11:07:18,234 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:20,541 INFO L124 PetriNetUnfolderBase]: 3538/5460 cut-off events. [2024-05-12 11:07:20,541 INFO L125 PetriNetUnfolderBase]: For 3963/3963 co-relation queries the response was YES. [2024-05-12 11:07:20,550 INFO L83 FinitePrefix]: Finished finitePrefix Result has 15693 conditions, 5460 events. 3538/5460 cut-off events. For 3963/3963 co-relation queries the response was YES. Maximal size of possible extension queue 252. Compared 29845 event pairs, 420 based on Foata normal form. 209/5662 useless extension candidates. Maximal degree in co-relation 15683. Up to 1577 conditions per place. [2024-05-12 11:07:20,570 INFO L140 encePairwiseOnDemand]: 44/50 looper letters, 139 selfloop transitions, 20 changer transitions 0/164 dead transitions. [2024-05-12 11:07:20,571 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 57 places, 164 transitions, 909 flow [2024-05-12 11:07:20,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-05-12 11:07:20,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2024-05-12 11:07:20,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 176 transitions. [2024-05-12 11:07:20,573 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5028571428571429 [2024-05-12 11:07:20,573 INFO L175 Difference]: Start difference. First operand has 51 places, 51 transitions, 175 flow. Second operand 7 states and 176 transitions. [2024-05-12 11:07:20,573 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 57 places, 164 transitions, 909 flow [2024-05-12 11:07:20,577 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 56 places, 164 transitions, 899 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-05-12 11:07:20,579 INFO L231 Difference]: Finished difference. Result has 61 places, 71 transitions, 376 flow [2024-05-12 11:07:20,579 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=172, PETRI_DIFFERENCE_MINUEND_PLACES=50, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=42, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=376, PETRI_PLACES=61, PETRI_TRANSITIONS=71} [2024-05-12 11:07:20,581 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 14 predicate places. [2024-05-12 11:07:20,581 INFO L495 AbstractCegarLoop]: Abstraction has has 61 places, 71 transitions, 376 flow [2024-05-12 11:07:20,581 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 12.2) internal successors, (61), 5 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:20,582 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:20,584 INFO L208 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] [2024-05-12 11:07:20,607 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2024-05-12 11:07:20,790 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:20,790 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:20,791 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:20,791 INFO L85 PathProgramCache]: Analyzing trace with hash 2051563826, now seen corresponding path program 1 times [2024-05-12 11:07:20,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:20,795 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [600204535] [2024-05-12 11:07:20,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:20,795 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:20,796 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:20,796 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:20,798 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2024-05-12 11:07:20,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:21,004 INFO L262 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 2 conjunts are in the unsatisfiable core [2024-05-12 11:07:21,005 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:21,049 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-05-12 11:07:21,049 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:21,049 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:21,049 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [600204535] [2024-05-12 11:07:21,049 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [600204535] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:21,049 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:21,049 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-05-12 11:07:21,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [455747411] [2024-05-12 11:07:21,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:21,050 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-05-12 11:07:21,050 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:21,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-05-12 11:07:21,050 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-05-12 11:07:21,050 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:21,051 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 71 transitions, 376 flow. Second operand has 3 states, 3 states have (on average 18.0) internal successors, (54), 3 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:21,051 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:21,051 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:21,051 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:22,319 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][62], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, Black: 86#true, 481#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 25#L134true, 4#L57true, 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 407#(= ~size1~0 (_ bv1 32)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8)))]) [2024-05-12 11:07:22,319 INFO L294 olderBase$Statistics]: this new event has 31 ancestors and is cut-off event [2024-05-12 11:07:22,320 INFO L297 olderBase$Statistics]: existing Event has 24 ancestors and is cut-off event [2024-05-12 11:07:22,320 INFO L297 olderBase$Statistics]: existing Event has 24 ancestors and is cut-off event [2024-05-12 11:07:22,320 INFO L297 olderBase$Statistics]: existing Event has 31 ancestors and is cut-off event [2024-05-12 11:07:22,332 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][62], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 29#thread3EXITtrue, Black: 86#true, 481#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 25#L134true, 4#L57true, 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 407#(= ~size1~0 (_ bv1 32)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8)))]) [2024-05-12 11:07:22,332 INFO L294 olderBase$Statistics]: this new event has 32 ancestors and is cut-off event [2024-05-12 11:07:22,332 INFO L297 olderBase$Statistics]: existing Event has 25 ancestors and is cut-off event [2024-05-12 11:07:22,333 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:22,333 INFO L297 olderBase$Statistics]: existing Event has 25 ancestors and is cut-off event [2024-05-12 11:07:22,423 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][62], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, 41#L134-2true, Black: 86#true, 481#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 407#(= ~size1~0 (_ bv1 32)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32))]) [2024-05-12 11:07:22,424 INFO L294 olderBase$Statistics]: this new event has 32 ancestors and is cut-off event [2024-05-12 11:07:22,424 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:22,424 INFO L297 olderBase$Statistics]: existing Event has 25 ancestors and is cut-off event [2024-05-12 11:07:22,424 INFO L297 olderBase$Statistics]: existing Event has 25 ancestors and is cut-off event [2024-05-12 11:07:22,430 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][62], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, 481#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 407#(= ~size1~0 (_ bv1 32)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32))]) [2024-05-12 11:07:22,430 INFO L294 olderBase$Statistics]: this new event has 33 ancestors and is cut-off event [2024-05-12 11:07:22,430 INFO L297 olderBase$Statistics]: existing Event has 26 ancestors and is cut-off event [2024-05-12 11:07:22,431 INFO L297 olderBase$Statistics]: existing Event has 26 ancestors and is cut-off event [2024-05-12 11:07:22,431 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:22,548 INFO L124 PetriNetUnfolderBase]: 3575/5454 cut-off events. [2024-05-12 11:07:22,548 INFO L125 PetriNetUnfolderBase]: For 14600/15288 co-relation queries the response was YES. [2024-05-12 11:07:22,559 INFO L83 FinitePrefix]: Finished finitePrefix Result has 19258 conditions, 5454 events. 3575/5454 cut-off events. For 14600/15288 co-relation queries the response was YES. Maximal size of possible extension queue 297. Compared 30701 event pairs, 930 based on Foata normal form. 689/5952 useless extension candidates. Maximal degree in co-relation 19243. Up to 2656 conditions per place. [2024-05-12 11:07:22,578 INFO L140 encePairwiseOnDemand]: 47/50 looper letters, 68 selfloop transitions, 3 changer transitions 0/92 dead transitions. [2024-05-12 11:07:22,578 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 63 places, 92 transitions, 624 flow [2024-05-12 11:07:22,579 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-05-12 11:07:22,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-05-12 11:07:22,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 76 transitions. [2024-05-12 11:07:22,579 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5066666666666667 [2024-05-12 11:07:22,579 INFO L175 Difference]: Start difference. First operand has 61 places, 71 transitions, 376 flow. Second operand 3 states and 76 transitions. [2024-05-12 11:07:22,579 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 63 places, 92 transitions, 624 flow [2024-05-12 11:07:22,588 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 92 transitions, 622 flow, removed 1 selfloop flow, removed 0 redundant places. [2024-05-12 11:07:22,589 INFO L231 Difference]: Finished difference. Result has 64 places, 72 transitions, 391 flow [2024-05-12 11:07:22,589 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=374, PETRI_DIFFERENCE_MINUEND_PLACES=61, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=71, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=68, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=391, PETRI_PLACES=64, PETRI_TRANSITIONS=72} [2024-05-12 11:07:22,590 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 17 predicate places. [2024-05-12 11:07:22,590 INFO L495 AbstractCegarLoop]: Abstraction has has 64 places, 72 transitions, 391 flow [2024-05-12 11:07:22,590 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 18.0) internal successors, (54), 3 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:22,590 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:22,590 INFO L208 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-05-12 11:07:22,604 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (7)] Ended with exit code 0 [2024-05-12 11:07:22,795 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:22,795 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:22,796 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:22,796 INFO L85 PathProgramCache]: Analyzing trace with hash 1876280787, now seen corresponding path program 1 times [2024-05-12 11:07:22,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:22,796 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [725205386] [2024-05-12 11:07:22,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:22,797 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:22,797 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:22,798 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:22,800 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2024-05-12 11:07:23,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:23,019 INFO L262 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 6 conjunts are in the unsatisfiable core [2024-05-12 11:07:23,021 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:23,122 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-05-12 11:07:23,124 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:23,124 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:23,124 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [725205386] [2024-05-12 11:07:23,124 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [725205386] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:23,124 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:23,125 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-05-12 11:07:23,125 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [76004972] [2024-05-12 11:07:23,125 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:23,125 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:07:23,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:23,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:07:23,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:07:23,126 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:23,126 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 64 places, 72 transitions, 391 flow. Second operand has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 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-05-12 11:07:23,126 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:23,126 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:23,126 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:24,771 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][36], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), 587#true, 41#L134-2true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, 481#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|)]) [2024-05-12 11:07:24,772 INFO L294 olderBase$Statistics]: this new event has 36 ancestors and is cut-off event [2024-05-12 11:07:24,772 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-05-12 11:07:24,772 INFO L297 olderBase$Statistics]: existing Event has 22 ancestors and is cut-off event [2024-05-12 11:07:24,772 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-05-12 11:07:24,776 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][36], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 407#(= ~size1~0 (_ bv1 32)), 20#L84true, 587#true, 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, Black: 486#(= ~finished2~0 (_ bv0 8)), 481#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|)]) [2024-05-12 11:07:24,776 INFO L294 olderBase$Statistics]: this new event has 37 ancestors and is cut-off event [2024-05-12 11:07:24,776 INFO L297 olderBase$Statistics]: existing Event has 30 ancestors and is cut-off event [2024-05-12 11:07:24,776 INFO L297 olderBase$Statistics]: existing Event has 23 ancestors and is cut-off event [2024-05-12 11:07:24,776 INFO L297 olderBase$Statistics]: existing Event has 30 ancestors and is cut-off event [2024-05-12 11:07:24,826 INFO L124 PetriNetUnfolderBase]: 3564/5493 cut-off events. [2024-05-12 11:07:24,826 INFO L125 PetriNetUnfolderBase]: For 16531/17237 co-relation queries the response was YES. [2024-05-12 11:07:24,840 INFO L83 FinitePrefix]: Finished finitePrefix Result has 20853 conditions, 5493 events. 3564/5493 cut-off events. For 16531/17237 co-relation queries the response was YES. Maximal size of possible extension queue 291. Compared 31101 event pairs, 1949 based on Foata normal form. 272/5549 useless extension candidates. Maximal degree in co-relation 20836. Up to 4738 conditions per place. [2024-05-12 11:07:24,866 INFO L140 encePairwiseOnDemand]: 45/50 looper letters, 50 selfloop transitions, 2 changer transitions 22/95 dead transitions. [2024-05-12 11:07:24,866 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 95 transitions, 588 flow [2024-05-12 11:07:24,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-05-12 11:07:24,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-05-12 11:07:24,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2024-05-12 11:07:24,867 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.475 [2024-05-12 11:07:24,867 INFO L175 Difference]: Start difference. First operand has 64 places, 72 transitions, 391 flow. Second operand 4 states and 95 transitions. [2024-05-12 11:07:24,868 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 95 transitions, 588 flow [2024-05-12 11:07:24,882 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 66 places, 95 transitions, 585 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-05-12 11:07:24,883 INFO L231 Difference]: Finished difference. Result has 68 places, 73 transitions, 404 flow [2024-05-12 11:07:24,883 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=388, PETRI_DIFFERENCE_MINUEND_PLACES=63, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=72, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=70, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=404, PETRI_PLACES=68, PETRI_TRANSITIONS=73} [2024-05-12 11:07:24,884 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 21 predicate places. [2024-05-12 11:07:24,884 INFO L495 AbstractCegarLoop]: Abstraction has has 68 places, 73 transitions, 404 flow [2024-05-12 11:07:24,884 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 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-05-12 11:07:24,884 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:24,885 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:07:24,904 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (8)] Ended with exit code 0 [2024-05-12 11:07:25,090 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:25,091 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:25,091 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:25,091 INFO L85 PathProgramCache]: Analyzing trace with hash 729806502, now seen corresponding path program 1 times [2024-05-12 11:07:25,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:25,092 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1002466257] [2024-05-12 11:07:25,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:25,092 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:25,092 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:25,093 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:25,095 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2024-05-12 11:07:25,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:25,388 INFO L262 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 8 conjunts are in the unsatisfiable core [2024-05-12 11:07:25,391 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:25,495 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-12 11:07:25,496 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:25,496 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:25,496 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1002466257] [2024-05-12 11:07:25,496 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1002466257] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:25,498 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:25,498 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-05-12 11:07:25,498 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2136706345] [2024-05-12 11:07:25,498 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:25,498 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-05-12 11:07:25,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:25,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-05-12 11:07:25,500 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-05-12 11:07:25,501 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:25,501 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 68 places, 73 transitions, 404 flow. Second operand has 5 states, 5 states have (on average 14.4) internal successors, (72), 5 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:25,501 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:25,501 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:25,501 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:27,436 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][35], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), 587#true, 41#L134-2true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|)]) [2024-05-12 11:07:27,437 INFO L294 olderBase$Statistics]: this new event has 37 ancestors and is cut-off event [2024-05-12 11:07:27,437 INFO L297 olderBase$Statistics]: existing Event has 30 ancestors and is cut-off event [2024-05-12 11:07:27,437 INFO L297 olderBase$Statistics]: existing Event has 23 ancestors and is cut-off event [2024-05-12 11:07:27,437 INFO L297 olderBase$Statistics]: existing Event has 30 ancestors and is cut-off event [2024-05-12 11:07:27,440 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][35], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 407#(= ~size1~0 (_ bv1 32)), 587#true, 29#thread3EXITtrue, 41#L134-2true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|)]) [2024-05-12 11:07:27,440 INFO L294 olderBase$Statistics]: this new event has 38 ancestors and is cut-off event [2024-05-12 11:07:27,440 INFO L297 olderBase$Statistics]: existing Event has 31 ancestors and is cut-off event [2024-05-12 11:07:27,440 INFO L297 olderBase$Statistics]: existing Event has 31 ancestors and is cut-off event [2024-05-12 11:07:27,440 INFO L297 olderBase$Statistics]: existing Event has 24 ancestors and is cut-off event [2024-05-12 11:07:27,480 INFO L124 PetriNetUnfolderBase]: 3592/5572 cut-off events. [2024-05-12 11:07:27,480 INFO L125 PetriNetUnfolderBase]: For 17308/17996 co-relation queries the response was YES. [2024-05-12 11:07:27,493 INFO L83 FinitePrefix]: Finished finitePrefix Result has 20961 conditions, 5572 events. 3592/5572 cut-off events. For 17308/17996 co-relation queries the response was YES. Maximal size of possible extension queue 296. Compared 31988 event pairs, 1949 based on Foata normal form. 293/5635 useless extension candidates. Maximal degree in co-relation 20942. Up to 4739 conditions per place. [2024-05-12 11:07:27,510 INFO L140 encePairwiseOnDemand]: 44/50 looper letters, 51 selfloop transitions, 2 changer transitions 31/105 dead transitions. [2024-05-12 11:07:27,511 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 71 places, 105 transitions, 659 flow [2024-05-12 11:07:27,520 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:07:27,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:07:27,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 112 transitions. [2024-05-12 11:07:27,521 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.448 [2024-05-12 11:07:27,521 INFO L175 Difference]: Start difference. First operand has 68 places, 73 transitions, 404 flow. Second operand 5 states and 112 transitions. [2024-05-12 11:07:27,521 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 71 places, 105 transitions, 659 flow [2024-05-12 11:07:27,533 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 70 places, 105 transitions, 655 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-05-12 11:07:27,534 INFO L231 Difference]: Finished difference. Result has 73 places, 74 transitions, 422 flow [2024-05-12 11:07:27,534 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=400, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=73, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=71, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=422, PETRI_PLACES=73, PETRI_TRANSITIONS=74} [2024-05-12 11:07:27,535 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 26 predicate places. [2024-05-12 11:07:27,535 INFO L495 AbstractCegarLoop]: Abstraction has has 73 places, 74 transitions, 422 flow [2024-05-12 11:07:27,535 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.4) internal successors, (72), 5 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:27,535 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:27,535 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:07:27,543 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (9)] Ended with exit code 0 [2024-05-12 11:07:27,741 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:27,741 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:27,742 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:27,742 INFO L85 PathProgramCache]: Analyzing trace with hash 380944956, now seen corresponding path program 1 times [2024-05-12 11:07:27,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:27,742 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1067150504] [2024-05-12 11:07:27,742 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:27,743 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:27,743 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:27,744 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:27,757 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2024-05-12 11:07:28,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:28,036 INFO L262 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 13 conjunts are in the unsatisfiable core [2024-05-12 11:07:28,038 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:28,117 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-12 11:07:28,117 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-12 11:07:28,220 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-05-12 11:07:28,220 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:28,220 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1067150504] [2024-05-12 11:07:28,220 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1067150504] provided 0 perfect and 2 imperfect interpolant sequences [2024-05-12 11:07:28,220 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-05-12 11:07:28,220 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2024-05-12 11:07:28,220 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [827045649] [2024-05-12 11:07:28,220 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-05-12 11:07:28,221 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2024-05-12 11:07:28,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:28,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-05-12 11:07:28,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2024-05-12 11:07:28,221 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:28,221 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 73 places, 74 transitions, 422 flow. Second operand has 10 states, 10 states have (on average 11.8) internal successors, (118), 10 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:28,222 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:28,222 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:28,222 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:30,426 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][80], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 38#L133-5true, Black: 279#(= ~state12~0 ~state22~0), 4#L57true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 407#(= ~size1~0 (_ bv1 32)), 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,427 INFO L294 olderBase$Statistics]: this new event has 33 ancestors and is cut-off event [2024-05-12 11:07:30,427 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:30,427 INFO L297 olderBase$Statistics]: existing Event has 26 ancestors and is cut-off event [2024-05-12 11:07:30,427 INFO L297 olderBase$Statistics]: existing Event has 26 ancestors and is cut-off event [2024-05-12 11:07:30,607 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][80], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 25#L134true, Black: 279#(= ~state12~0 ~state22~0), 4#L57true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 407#(= ~size1~0 (_ bv1 32)), 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,607 INFO L294 olderBase$Statistics]: this new event has 34 ancestors and is cut-off event [2024-05-12 11:07:30,607 INFO L297 olderBase$Statistics]: existing Event has 27 ancestors and is cut-off event [2024-05-12 11:07:30,608 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:07:30,608 INFO L297 olderBase$Statistics]: existing Event has 27 ancestors and is cut-off event [2024-05-12 11:07:30,610 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][80], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 29#thread3EXITtrue, 698#true, Black: 86#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), 38#L133-5true, Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 407#(= ~size1~0 (_ bv1 32)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,610 INFO L294 olderBase$Statistics]: this new event has 34 ancestors and is cut-off event [2024-05-12 11:07:30,610 INFO L297 olderBase$Statistics]: existing Event has 27 ancestors and is cut-off event [2024-05-12 11:07:30,610 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:07:30,610 INFO L297 olderBase$Statistics]: existing Event has 27 ancestors and is cut-off event [2024-05-12 11:07:30,753 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][80], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, 41#L134-2true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 407#(= ~size1~0 (_ bv1 32)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,754 INFO L294 olderBase$Statistics]: this new event has 35 ancestors and is cut-off event [2024-05-12 11:07:30,754 INFO L297 olderBase$Statistics]: existing Event has 28 ancestors and is cut-off event [2024-05-12 11:07:30,754 INFO L297 olderBase$Statistics]: existing Event has 28 ancestors and is cut-off event [2024-05-12 11:07:30,754 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:30,755 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][80], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 29#thread3EXITtrue, 698#true, Black: 86#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, 25#L134true, Black: 279#(= ~state12~0 ~state22~0), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 407#(= ~size1~0 (_ bv1 32)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,755 INFO L294 olderBase$Statistics]: this new event has 35 ancestors and is cut-off event [2024-05-12 11:07:30,755 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:30,755 INFO L297 olderBase$Statistics]: existing Event has 28 ancestors and is cut-off event [2024-05-12 11:07:30,755 INFO L297 olderBase$Statistics]: existing Event has 28 ancestors and is cut-off event [2024-05-12 11:07:30,829 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][37], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 407#(= ~size1~0 (_ bv1 32)), 20#L84true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), 25#L134true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|)]) [2024-05-12 11:07:30,829 INFO L294 olderBase$Statistics]: this new event has 37 ancestors and is cut-off event [2024-05-12 11:07:30,830 INFO L297 olderBase$Statistics]: existing Event has 30 ancestors and is cut-off event [2024-05-12 11:07:30,830 INFO L297 olderBase$Statistics]: existing Event has 30 ancestors and is cut-off event [2024-05-12 11:07:30,830 INFO L297 olderBase$Statistics]: existing Event has 23 ancestors and is cut-off event [2024-05-12 11:07:30,835 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][37], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 407#(= ~size1~0 (_ bv1 32)), 29#thread3EXITtrue, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 25#L134true, 4#L57true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,835 INFO L294 olderBase$Statistics]: this new event has 38 ancestors and is cut-off event [2024-05-12 11:07:30,835 INFO L297 olderBase$Statistics]: existing Event has 24 ancestors and is cut-off event [2024-05-12 11:07:30,835 INFO L297 olderBase$Statistics]: existing Event has 31 ancestors and is cut-off event [2024-05-12 11:07:30,835 INFO L297 olderBase$Statistics]: existing Event has 31 ancestors and is cut-off event [2024-05-12 11:07:30,846 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][80], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 29#thread3EXITtrue, 41#L134-2true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 407#(= ~size1~0 (_ bv1 32)), 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,847 INFO L294 olderBase$Statistics]: this new event has 36 ancestors and is cut-off event [2024-05-12 11:07:30,847 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-05-12 11:07:30,847 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:07:30,847 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-05-12 11:07:30,883 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][37], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), 41#L134-2true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,884 INFO L294 olderBase$Statistics]: this new event has 38 ancestors and is cut-off event [2024-05-12 11:07:30,884 INFO L297 olderBase$Statistics]: existing Event has 31 ancestors and is cut-off event [2024-05-12 11:07:30,884 INFO L297 olderBase$Statistics]: existing Event has 31 ancestors and is cut-off event [2024-05-12 11:07:30,884 INFO L297 olderBase$Statistics]: existing Event has 24 ancestors and is cut-off event [2024-05-12 11:07:30,887 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][37], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 20#L84true, 407#(= ~size1~0 (_ bv1 32)), 29#thread3EXITtrue, 41#L134-2true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:30,887 INFO L294 olderBase$Statistics]: this new event has 39 ancestors and is cut-off event [2024-05-12 11:07:30,887 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:30,887 INFO L297 olderBase$Statistics]: existing Event has 25 ancestors and is cut-off event [2024-05-12 11:07:30,887 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:30,905 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][38], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 18#L91-1true, 407#(= ~size1~0 (_ bv1 32)), 20#L84true, 41#L134-2true, 698#true, Black: 86#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|)]) [2024-05-12 11:07:30,905 INFO L294 olderBase$Statistics]: this new event has 39 ancestors and is cut-off event [2024-05-12 11:07:30,905 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:30,905 INFO L297 olderBase$Statistics]: existing Event has 25 ancestors and is cut-off event [2024-05-12 11:07:30,905 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:30,908 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][38], [Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 407#(= ~size1~0 (_ bv1 32)), 20#L84true, 29#thread3EXITtrue, 41#L134-2true, 698#true, Black: 486#(= ~finished2~0 (_ bv0 8)), Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), 54#true, Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 596#(and (bvule ~n_produce~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_produce~0))), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|)]) [2024-05-12 11:07:30,908 INFO L294 olderBase$Statistics]: this new event has 40 ancestors and is cut-off event [2024-05-12 11:07:30,908 INFO L297 olderBase$Statistics]: existing Event has 26 ancestors and is cut-off event [2024-05-12 11:07:30,908 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:30,909 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:30,970 INFO L124 PetriNetUnfolderBase]: 7144/10964 cut-off events. [2024-05-12 11:07:30,971 INFO L125 PetriNetUnfolderBase]: For 39150/40578 co-relation queries the response was YES. [2024-05-12 11:07:31,006 INFO L83 FinitePrefix]: Finished finitePrefix Result has 43207 conditions, 10964 events. 7144/10964 cut-off events. For 39150/40578 co-relation queries the response was YES. Maximal size of possible extension queue 578. Compared 69751 event pairs, 3893 based on Foata normal form. 516/11047 useless extension candidates. Maximal degree in co-relation 43185. Up to 4756 conditions per place. [2024-05-12 11:07:31,049 INFO L140 encePairwiseOnDemand]: 44/50 looper letters, 95 selfloop transitions, 8 changer transitions 0/124 dead transitions. [2024-05-12 11:07:31,050 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 78 places, 124 transitions, 846 flow [2024-05-12 11:07:31,050 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-05-12 11:07:31,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2024-05-12 11:07:31,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 142 transitions. [2024-05-12 11:07:31,051 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.355 [2024-05-12 11:07:31,051 INFO L175 Difference]: Start difference. First operand has 73 places, 74 transitions, 422 flow. Second operand 8 states and 142 transitions. [2024-05-12 11:07:31,051 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 78 places, 124 transitions, 846 flow [2024-05-12 11:07:31,080 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 76 places, 124 transitions, 834 flow, removed 5 selfloop flow, removed 2 redundant places. [2024-05-12 11:07:31,082 INFO L231 Difference]: Finished difference. Result has 79 places, 79 transitions, 463 flow [2024-05-12 11:07:31,083 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=414, PETRI_DIFFERENCE_MINUEND_PLACES=69, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=74, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=68, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=463, PETRI_PLACES=79, PETRI_TRANSITIONS=79} [2024-05-12 11:07:31,084 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 32 predicate places. [2024-05-12 11:07:31,084 INFO L495 AbstractCegarLoop]: Abstraction has has 79 places, 79 transitions, 463 flow [2024-05-12 11:07:31,084 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 11.8) internal successors, (118), 10 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:31,084 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:31,085 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:07:31,106 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2024-05-12 11:07:31,291 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:31,294 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:31,294 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:31,294 INFO L85 PathProgramCache]: Analyzing trace with hash -279579951, now seen corresponding path program 1 times [2024-05-12 11:07:31,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:31,295 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2045257687] [2024-05-12 11:07:31,295 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:31,295 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:31,295 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:31,299 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:31,305 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2024-05-12 11:07:31,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:31,668 INFO L262 TraceCheckSpWp]: Trace formula consists of 304 conjuncts, 7 conjunts are in the unsatisfiable core [2024-05-12 11:07:31,669 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:31,773 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:07:31,773 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:31,774 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:31,774 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2045257687] [2024-05-12 11:07:31,774 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2045257687] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:31,774 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:31,774 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:07:31,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [576829158] [2024-05-12 11:07:31,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:31,774 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:07:31,774 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:31,775 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:07:31,775 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:07:31,775 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:31,775 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 79 places, 79 transitions, 463 flow. Second operand has 4 states, 4 states have (on average 16.5) internal successors, (66), 4 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:31,775 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:31,775 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:31,775 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:34,126 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][42], [18#L91-1true, 407#(= ~size1~0 (_ bv1 32)), 20#L84true, Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), 1053#true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:34,126 INFO L294 olderBase$Statistics]: this new event has 39 ancestors and is cut-off event [2024-05-12 11:07:34,127 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:34,127 INFO L297 olderBase$Statistics]: existing Event has 25 ancestors and is cut-off event [2024-05-12 11:07:34,127 INFO L297 olderBase$Statistics]: existing Event has 32 ancestors and is cut-off event [2024-05-12 11:07:34,130 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][42], [20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 1053#true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:34,130 INFO L294 olderBase$Statistics]: this new event has 40 ancestors and is cut-off event [2024-05-12 11:07:34,130 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:34,130 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:34,130 INFO L297 olderBase$Statistics]: existing Event has 26 ancestors and is cut-off event [2024-05-12 11:07:34,148 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][42], [18#L91-1true, 407#(= ~size1~0 (_ bv1 32)), 20#L84true, Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), 1053#true, 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)))]) [2024-05-12 11:07:34,148 INFO L294 olderBase$Statistics]: this new event has 40 ancestors and is cut-off event [2024-05-12 11:07:34,148 INFO L297 olderBase$Statistics]: existing Event has 26 ancestors and is cut-off event [2024-05-12 11:07:34,148 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:34,149 INFO L297 olderBase$Statistics]: existing Event has 33 ancestors and is cut-off event [2024-05-12 11:07:34,151 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][42], [20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 1053#true, 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)))]) [2024-05-12 11:07:34,151 INFO L294 olderBase$Statistics]: this new event has 41 ancestors and is cut-off event [2024-05-12 11:07:34,151 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:07:34,152 INFO L297 olderBase$Statistics]: existing Event has 27 ancestors and is cut-off event [2024-05-12 11:07:34,152 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:07:34,210 INFO L124 PetriNetUnfolderBase]: 7136/11007 cut-off events. [2024-05-12 11:07:34,211 INFO L125 PetriNetUnfolderBase]: For 37548/38972 co-relation queries the response was YES. [2024-05-12 11:07:34,243 INFO L83 FinitePrefix]: Finished finitePrefix Result has 42853 conditions, 11007 events. 7136/11007 cut-off events. For 37548/38972 co-relation queries the response was YES. Maximal size of possible extension queue 572. Compared 69898 event pairs, 3906 based on Foata normal form. 562/11147 useless extension candidates. Maximal degree in co-relation 42829. Up to 9476 conditions per place. [2024-05-12 11:07:34,282 INFO L140 encePairwiseOnDemand]: 46/50 looper letters, 56 selfloop transitions, 3 changer transitions 24/104 dead transitions. [2024-05-12 11:07:34,283 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 82 places, 104 transitions, 716 flow [2024-05-12 11:07:34,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-05-12 11:07:34,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-05-12 11:07:34,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 92 transitions. [2024-05-12 11:07:34,284 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.46 [2024-05-12 11:07:34,284 INFO L175 Difference]: Start difference. First operand has 79 places, 79 transitions, 463 flow. Second operand 4 states and 92 transitions. [2024-05-12 11:07:34,284 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 82 places, 104 transitions, 716 flow [2024-05-12 11:07:34,312 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 80 places, 104 transitions, 699 flow, removed 7 selfloop flow, removed 2 redundant places. [2024-05-12 11:07:34,313 INFO L231 Difference]: Finished difference. Result has 82 places, 80 transitions, 469 flow [2024-05-12 11:07:34,313 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=450, PETRI_DIFFERENCE_MINUEND_PLACES=77, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=79, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=76, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=469, PETRI_PLACES=82, PETRI_TRANSITIONS=80} [2024-05-12 11:07:34,314 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 35 predicate places. [2024-05-12 11:07:34,314 INFO L495 AbstractCegarLoop]: Abstraction has has 82 places, 80 transitions, 469 flow [2024-05-12 11:07:34,314 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 16.5) internal successors, (66), 4 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:34,314 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:34,314 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:07:34,320 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2024-05-12 11:07:34,520 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:34,520 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:34,521 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:34,521 INFO L85 PathProgramCache]: Analyzing trace with hash 1822464003, now seen corresponding path program 1 times [2024-05-12 11:07:34,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:34,521 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2119276242] [2024-05-12 11:07:34,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:34,522 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:34,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:34,523 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:34,555 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2024-05-12 11:07:34,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:35,012 INFO L262 TraceCheckSpWp]: Trace formula consists of 324 conjuncts, 5 conjunts are in the unsatisfiable core [2024-05-12 11:07:35,013 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:35,103 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-05-12 11:07:35,104 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:35,104 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:35,104 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2119276242] [2024-05-12 11:07:35,104 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2119276242] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:35,104 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:35,104 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:07:35,104 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [984179331] [2024-05-12 11:07:35,104 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:35,105 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:07:35,105 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:35,105 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:07:35,105 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:07:35,105 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:35,105 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 82 places, 80 transitions, 469 flow. Second operand has 4 states, 4 states have (on average 16.75) internal successors, (67), 4 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:35,105 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:35,105 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:35,106 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:37,664 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][41], [1173#true, 18#L91-1true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1074#(and (not (bvslt (_ bv0 32) ~n_queue~0)) (bvule ~n_queue~0 (_ bv1073741823 32))), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 1053#true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:37,664 INFO L294 olderBase$Statistics]: this new event has 41 ancestors and is cut-off event [2024-05-12 11:07:37,664 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:07:37,664 INFO L297 olderBase$Statistics]: existing Event has 27 ancestors and is cut-off event [2024-05-12 11:07:37,664 INFO L297 olderBase$Statistics]: existing Event has 34 ancestors and is cut-off event [2024-05-12 11:07:37,667 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][41], [1173#true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1074#(and (not (bvslt (_ bv0 32) ~n_queue~0)) (bvule ~n_queue~0 (_ bv1073741823 32))), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 1053#true, Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:37,667 INFO L294 olderBase$Statistics]: this new event has 42 ancestors and is cut-off event [2024-05-12 11:07:37,667 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:37,668 INFO L297 olderBase$Statistics]: existing Event has 28 ancestors and is cut-off event [2024-05-12 11:07:37,668 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:37,724 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][41], [1173#true, 18#L91-1true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1074#(and (not (bvslt (_ bv0 32) ~n_queue~0)) (bvule ~n_queue~0 (_ bv1073741823 32))), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), 1053#true, 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)))]) [2024-05-12 11:07:37,724 INFO L294 olderBase$Statistics]: this new event has 42 ancestors and is cut-off event [2024-05-12 11:07:37,724 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:37,725 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:37,725 INFO L297 olderBase$Statistics]: existing Event has 28 ancestors and is cut-off event [2024-05-12 11:07:37,727 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][41], [1173#true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1074#(and (not (bvslt (_ bv0 32) ~n_queue~0)) (bvule ~n_queue~0 (_ bv1073741823 32))), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), 1053#true, 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)))]) [2024-05-12 11:07:37,728 INFO L294 olderBase$Statistics]: this new event has 43 ancestors and is cut-off event [2024-05-12 11:07:37,728 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:07:37,728 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-05-12 11:07:37,728 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:07:37,777 INFO L124 PetriNetUnfolderBase]: 7652/12089 cut-off events. [2024-05-12 11:07:37,777 INFO L125 PetriNetUnfolderBase]: For 46721/48445 co-relation queries the response was YES. [2024-05-12 11:07:37,809 INFO L83 FinitePrefix]: Finished finitePrefix Result has 46601 conditions, 12089 events. 7652/12089 cut-off events. For 46721/48445 co-relation queries the response was YES. Maximal size of possible extension queue 579. Compared 79482 event pairs, 4310 based on Foata normal form. 1266/12935 useless extension candidates. Maximal degree in co-relation 46575. Up to 9478 conditions per place. [2024-05-12 11:07:37,843 INFO L140 encePairwiseOnDemand]: 45/50 looper letters, 60 selfloop transitions, 2 changer transitions 26/109 dead transitions. [2024-05-12 11:07:37,844 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 84 places, 109 transitions, 750 flow [2024-05-12 11:07:37,844 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-05-12 11:07:37,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-05-12 11:07:37,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 96 transitions. [2024-05-12 11:07:37,845 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.48 [2024-05-12 11:07:37,845 INFO L175 Difference]: Start difference. First operand has 82 places, 80 transitions, 469 flow. Second operand 4 states and 96 transitions. [2024-05-12 11:07:37,845 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 84 places, 109 transitions, 750 flow [2024-05-12 11:07:37,875 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 82 places, 109 transitions, 741 flow, removed 3 selfloop flow, removed 2 redundant places. [2024-05-12 11:07:37,876 INFO L231 Difference]: Finished difference. Result has 84 places, 81 transitions, 482 flow [2024-05-12 11:07:37,876 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=462, PETRI_DIFFERENCE_MINUEND_PLACES=79, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=80, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=78, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=482, PETRI_PLACES=84, PETRI_TRANSITIONS=81} [2024-05-12 11:07:37,876 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 37 predicate places. [2024-05-12 11:07:37,877 INFO L495 AbstractCegarLoop]: Abstraction has has 84 places, 81 transitions, 482 flow [2024-05-12 11:07:37,877 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 16.75) internal successors, (67), 4 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:37,877 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:37,877 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:07:37,883 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (12)] Forceful destruction successful, exit code 0 [2024-05-12 11:07:38,083 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:38,083 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:38,083 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:38,083 INFO L85 PathProgramCache]: Analyzing trace with hash 1590957825, now seen corresponding path program 1 times [2024-05-12 11:07:38,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:38,084 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1153120824] [2024-05-12 11:07:38,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:38,084 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:38,084 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:38,085 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:38,087 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2024-05-12 11:07:38,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:38,705 INFO L262 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 8 conjunts are in the unsatisfiable core [2024-05-12 11:07:38,707 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:38,817 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-05-12 11:07:38,817 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-05-12 11:07:38,817 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-05-12 11:07:38,817 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1153120824] [2024-05-12 11:07:38,818 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1153120824] provided 1 perfect and 0 imperfect interpolant sequences [2024-05-12 11:07:38,818 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-05-12 11:07:38,818 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-05-12 11:07:38,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1403218028] [2024-05-12 11:07:38,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-05-12 11:07:38,818 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-05-12 11:07:38,818 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-05-12 11:07:38,818 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-05-12 11:07:38,818 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-05-12 11:07:38,819 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 50 [2024-05-12 11:07:38,819 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 84 places, 81 transitions, 482 flow. Second operand has 4 states, 4 states have (on average 17.25) internal successors, (69), 4 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:38,819 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-05-12 11:07:38,819 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 50 [2024-05-12 11:07:38,819 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-05-12 11:07:41,499 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][39], [1173#true, 18#L91-1true, 407#(= ~size1~0 (_ bv1 32)), 20#L84true, Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 1206#(and (not (bvslt (_ bv0 32) ~n1~0)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 1202#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 41#L134-2true, 1296#true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:41,499 INFO L294 olderBase$Statistics]: this new event has 42 ancestors and is cut-off event [2024-05-12 11:07:41,499 INFO L297 olderBase$Statistics]: existing Event has 28 ancestors and is cut-off event [2024-05-12 11:07:41,499 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:41,499 INFO L297 olderBase$Statistics]: existing Event has 35 ancestors and is cut-off event [2024-05-12 11:07:41,502 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][39], [1173#true, 407#(= ~size1~0 (_ bv1 32)), 20#L84true, Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 1206#(and (not (bvslt (_ bv0 32) ~n1~0)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 1202#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, 1296#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), 4#L57true, Black: 279#(= ~state12~0 ~state22~0), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), 833#(and (bvslt (_ bv0 32) ~n_update~0) (not (bvslt (_ bv1 32) ~n_update~0)))]) [2024-05-12 11:07:41,503 INFO L294 olderBase$Statistics]: this new event has 43 ancestors and is cut-off event [2024-05-12 11:07:41,503 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:07:41,503 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:07:41,503 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-05-12 11:07:41,521 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][39], [1173#true, 18#L91-1true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 1206#(and (not (bvslt (_ bv0 32) ~n1~0)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 1202#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), Black: 376#(= ~size1~0 (_ bv0 32)), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 41#L134-2true, 1296#true, Black: 86#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)))]) [2024-05-12 11:07:41,521 INFO L294 olderBase$Statistics]: this new event has 43 ancestors and is cut-off event [2024-05-12 11:07:41,521 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:07:41,522 INFO L297 olderBase$Statistics]: existing Event has 29 ancestors and is cut-off event [2024-05-12 11:07:41,522 INFO L297 olderBase$Statistics]: existing Event has 36 ancestors and is cut-off event [2024-05-12 11:07:41,525 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([1212] L52-->L57: Formula: (and (not (= (_ bv0 32) (ite (and (bvslt v_~state11~0_134 v_~n_produce~0_92) (bvsge v_~state11~0_134 (_ bv0 32))) (_ bv1 32) (_ bv0 32)))) (= v_~size1~0_95 (bvadd v_~size1~0_96 (_ bv1 32))) (not (= (ite (= (let ((.cse0 (select |v_#memory_int#2_155| v_~queue1~0.base_123)) (.cse1 (bvmul (_ bv4 32) v_~size1~0_96)) (.cse2 (bvmul (_ bv4 32) v_~front1~0_203))) (concat (concat (concat (select .cse0 (bvadd .cse1 (_ bv3 32) v_~queue1~0.offset_123 .cse2)) (select .cse0 (bvadd (_ bv2 32) .cse1 v_~queue1~0.offset_123 .cse2))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2 (_ bv1 32)))) (select .cse0 (bvadd .cse1 v_~queue1~0.offset_123 .cse2)))) (let ((.cse3 (select |v_#memory_int#2_155| v_~produce~0.base_95)) (.cse4 (bvmul (_ bv4 32) v_~state11~0_134))) (concat (concat (concat (select .cse3 (bvadd .cse4 (_ bv3 32) v_~produce~0.offset_95)) (select .cse3 (bvadd .cse4 (_ bv2 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 (_ bv1 32) v_~produce~0.offset_95))) (select .cse3 (bvadd .cse4 v_~produce~0.offset_95))))) (_ bv1 32) (_ bv0 32)) (_ bv0 32))) (not (= (_ bv0 32) (ite (let ((.cse5 (bvadd v_~size1~0_96 v_~front1~0_203))) (and (bvsge .cse5 (_ bv0 32)) (bvslt .cse5 v_~n_queue~0_114))) (_ bv1 32) (_ bv0 32))))) InVars {~queue1~0.base=v_~queue1~0.base_123, ~state11~0=v_~state11~0_134, ~n_queue~0=v_~n_queue~0_114, ~size1~0=v_~size1~0_96, ~produce~0.base=v_~produce~0.base_95, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, #memory_int#2=|v_#memory_int#2_155|} OutVars{~state11~0=v_~state11~0_134, ~size1~0=v_~size1~0_95, ~produce~0.base=v_~produce~0.base_95, thread1Thread1of1ForFork0_#t~mem2#1=|v_thread1Thread1of1ForFork0_#t~mem2#1_1|, #memory_int#2=|v_#memory_int#2_155|, thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1_1|, ~queue1~0.base=v_~queue1~0.base_123, thread1Thread1of1ForFork0_#t~post3#1=|v_thread1Thread1of1ForFork0_#t~post3#1_1|, ~n_queue~0=v_~n_queue~0_114, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1=|v_thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1_1|, ~n_produce~0=v_~n_produce~0_92, ~produce~0.offset=v_~produce~0.offset_95, ~queue1~0.offset=v_~queue1~0.offset_123, ~front1~0=v_~front1~0_203, thread1Thread1of1ForFork0_#t~mem1#1=|v_thread1Thread1of1ForFork0_#t~mem1#1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_assume_abort_if_not_#in~cond#1, thread1Thread1of1ForFork0_#t~post3#1, ~size1~0, thread1Thread1of1ForFork0_assume_abort_if_not_~cond#1, thread1Thread1of1ForFork0_#t~mem2#1, thread1Thread1of1ForFork0_#t~mem1#1][39], [1173#true, 20#L84true, 407#(= ~size1~0 (_ bv1 32)), Black: 486#(= ~finished2~0 (_ bv0 8)), 54#true, Black: 1206#(and (not (bvslt (_ bv0 32) ~n1~0)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 1202#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (bvule ~n1~0 (_ bv1073741823 32))), Black: 220#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 207#(= ~finished1~0 (_ bv0 8)), Black: 1070#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_queue~0) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32))), Black: 1047#(and (not (bvslt (_ bv1 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)) (bvslt (_ bv0 32) ~n_update~0) (= |ULTIMATE.start_create_fresh_bool_array_~i~2#1| (_ bv0 32)) (not (bvslt (_ bv1 32) ~n_update~0)) (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 829#(and (bvslt (_ bv0 32) |ULTIMATE.start_create_fresh_int_array_~size#1|) (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv1 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 1049#(and (or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)) (bvslt |ULTIMATE.start_create_fresh_bool_array_~i~2#1| |ULTIMATE.start_create_fresh_bool_array_~size#1|)), Black: 475#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv0 32))), 270#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~finished1~0 (_ bv0 8))), Black: 376#(= ~size1~0 (_ bv0 32)), Black: 429#(= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|), Black: 473#(and (= (_ bv1 8) |thread2Thread1of1ForFork2_~cond~0#1|) (= ~size1~0 (_ bv1 32))), 29#thread3EXITtrue, 41#L134-2true, Black: 86#true, 1296#true, Black: 709#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)) (= |ULTIMATE.start_create_fresh_int_array_~size#1| ~n_update~0)), Black: 750#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (= (_ bv2147483647 32) ~state11~0)) (not (bvslt (_ bv0 32) ~n_update~0)) (bvsge ~state11~0 (_ bv0 32))), Black: 713#(and (bvule ~n_update~0 (_ bv1073741823 32)) (not (bvslt (_ bv0 32) ~n_update~0))), Black: 279#(= ~state12~0 ~state22~0), 4#L57true, 1031#(or (not (bvsge ~n_update~0 (_ bv0 32))) (bvslt (_ bv0 32) ~n_update~0)), Black: 592#(and (bvule |ULTIMATE.start_create_fresh_int_array_~size#1| (_ bv1073741823 32)) (= ~n_produce~0 |ULTIMATE.start_create_fresh_int_array_~size#1|) (= |ULTIMATE.start_create_fresh_int_array_~i~1#1| (_ bv0 32)))]) [2024-05-12 11:07:41,525 INFO L294 olderBase$Statistics]: this new event has 44 ancestors and is cut-off event [2024-05-12 11:07:41,525 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-05-12 11:07:41,525 INFO L297 olderBase$Statistics]: existing Event has 37 ancestors and is cut-off event [2024-05-12 11:07:41,525 INFO L297 olderBase$Statistics]: existing Event has 30 ancestors and is cut-off event [2024-05-12 11:07:41,696 INFO L124 PetriNetUnfolderBase]: 7656/12101 cut-off events. [2024-05-12 11:07:41,697 INFO L125 PetriNetUnfolderBase]: For 52260/53842 co-relation queries the response was YES. [2024-05-12 11:07:41,729 INFO L83 FinitePrefix]: Finished finitePrefix Result has 47060 conditions, 12101 events. 7656/12101 cut-off events. For 52260/53842 co-relation queries the response was YES. Maximal size of possible extension queue 606. Compared 80548 event pairs, 4310 based on Foata normal form. 1216/12839 useless extension candidates. Maximal degree in co-relation 47033. Up to 9484 conditions per place. [2024-05-12 11:07:41,765 INFO L140 encePairwiseOnDemand]: 45/50 looper letters, 59 selfloop transitions, 2 changer transitions 30/112 dead transitions. [2024-05-12 11:07:41,765 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 87 places, 112 transitions, 780 flow [2024-05-12 11:07:41,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-05-12 11:07:41,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-05-12 11:07:41,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 106 transitions. [2024-05-12 11:07:41,766 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.424 [2024-05-12 11:07:41,767 INFO L175 Difference]: Start difference. First operand has 84 places, 81 transitions, 482 flow. Second operand 5 states and 106 transitions. [2024-05-12 11:07:41,767 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 87 places, 112 transitions, 780 flow [2024-05-12 11:07:41,795 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 85 places, 112 transitions, 769 flow, removed 4 selfloop flow, removed 2 redundant places. [2024-05-12 11:07:41,796 INFO L231 Difference]: Finished difference. Result has 88 places, 82 transitions, 498 flow [2024-05-12 11:07:41,797 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=50, PETRI_DIFFERENCE_MINUEND_FLOW=472, PETRI_DIFFERENCE_MINUEND_PLACES=81, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=81, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=79, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=498, PETRI_PLACES=88, PETRI_TRANSITIONS=82} [2024-05-12 11:07:41,797 INFO L281 CegarLoopForPetriNet]: 47 programPoint places, 41 predicate places. [2024-05-12 11:07:41,797 INFO L495 AbstractCegarLoop]: Abstraction has has 88 places, 82 transitions, 498 flow [2024-05-12 11:07:41,797 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 17.25) internal successors, (69), 4 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-05-12 11:07:41,797 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-05-12 11:07:41,798 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-05-12 11:07:41,804 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (13)] Forceful destruction successful, exit code 0 [2024-05-12 11:07:42,003 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:42,004 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-05-12 11:07:42,004 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-05-12 11:07:42,004 INFO L85 PathProgramCache]: Analyzing trace with hash 855263161, now seen corresponding path program 1 times [2024-05-12 11:07:42,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-05-12 11:07:42,005 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1394704991] [2024-05-12 11:07:42,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-05-12 11:07:42,005 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-05-12 11:07:42,005 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-05-12 11:07:42,010 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-05-12 11:07:42,010 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2024-05-12 11:07:42,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-05-12 11:07:42,944 INFO L262 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 44 conjunts are in the unsatisfiable core [2024-05-12 11:07:42,947 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-05-12 11:07:43,560 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 11 treesize of output 7 [2024-05-12 11:07:46,160 INFO L349 Elim1Store]: treesize reduction 1514, result has 22.2 percent of original size [2024-05-12 11:07:46,160 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 16 select indices, 16 select index equivalence classes, 6 disjoint index pairs (out of 120 index pairs), introduced 24 new quantified variables, introduced 120 case distinctions, treesize of input 651 treesize of output 642 [2024-05-12 11:07:46,220 INFO L173 IndexEqualityManager]: detected equality via solver [2024-05-12 11:07:46,222 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 628 treesize of output 528 [2024-05-12 11:07:46,243 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 555 treesize of output 435 [2024-05-12 11:08:01,630 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-05-12 11:08:01,630 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-05-12 11:08:03,313 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-05-12 11:08:03,314 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 541 treesize of output 490 [2024-05-12 11:09:20,629 WARN L293 SmtUtils]: Spent 1.28m on a formula simplification. DAG size of input: 1710 DAG size of output: 1341 (called from [L 346] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1) [2024-05-12 11:09:20,630 INFO L349 Elim1Store]: treesize reduction 1233, result has 82.8 percent of original size [2024-05-12 11:09:20,631 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 32 select indices, 32 select index equivalence classes, 0 disjoint index pairs (out of 496 index pairs), introduced 40 new quantified variables, introduced 496 case distinctions, treesize of input 1152 treesize of output 6173 Killed by 15