./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --validate ./goblint.2024-08-08_07-59-58.files/protection-local/safe001_rmo.oepc.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version c091e2ee Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i ./goblint.2024-08-08_07-59-58.files/protection-local/safe001_rmo.oepc.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_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-tmp.fs.goblint-validation-c091e2e-m [2024-08-14 10:26:21,082 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-14 10:26:21,159 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf [2024-08-14 10:26:21,166 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-14 10:26:21,167 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-14 10:26:21,196 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-14 10:26:21,197 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-14 10:26:21,197 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-14 10:26:21,198 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-14 10:26:21,198 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-14 10:26:21,199 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-14 10:26:21,199 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-14 10:26:21,200 INFO L153 SettingsManager]: * Use SBE=true [2024-08-14 10:26:21,205 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-14 10:26:21,205 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-14 10:26:21,205 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-14 10:26:21,206 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-08-14 10:26:21,206 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-14 10:26:21,206 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-14 10:26:21,206 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-14 10:26:21,207 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-14 10:26:21,207 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-14 10:26:21,208 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-14 10:26:21,208 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-14 10:26:21,208 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-14 10:26:21,208 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-14 10:26:21,209 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-14 10:26:21,210 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-14 10:26:21,210 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-14 10:26:21,211 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-14 10:26:21,211 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-14 10:26:21,212 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-14 10:26:21,212 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-14 10:26:21,213 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-14 10:26:21,213 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-08-14 10:26:21,213 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-08-14 10:26:21,213 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-08-14 10:26:21,213 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-14 10:26:21,214 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-08-14 10:26:21,214 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-14 10:26:21,214 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-08-14 10:26:21,215 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-08-14 10:26:21,215 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.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-08-14 10:26:21,439 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-14 10:26:21,465 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-14 10:26:21,469 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-14 10:26:21,470 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-14 10:26:21,471 INFO L274 PluginConnector]: CDTParser initialized [2024-08-14 10:26:21,472 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i [2024-08-14 10:26:22,930 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-14 10:26:23,168 INFO L384 CDTParser]: Found 1 translation units. [2024-08-14 10:26:23,168 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i [2024-08-14 10:26:23,181 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/e2017da19/a9f920f126ae4c3a945364d036a5132b/FLAG49e94c533 [2024-08-14 10:26:23,505 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/e2017da19/a9f920f126ae4c3a945364d036a5132b [2024-08-14 10:26:23,507 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-14 10:26:23,508 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-14 10:26:23,508 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-08-08_07-59-58.files/protection-local/safe001_rmo.oepc.yml/witness.yml [2024-08-14 10:26:23,871 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-14 10:26:23,872 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-08-14 10:26:23,873 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-14 10:26:23,874 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-14 10:26:23,879 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-14 10:26:23,880 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.08 10:26:23" (1/2) ... [2024-08-14 10:26:23,881 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6d45d474 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:23, skipping insertion in model container [2024-08-14 10:26:23,881 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.08 10:26:23" (1/2) ... [2024-08-14 10:26:23,883 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@bd95a99 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:23, skipping insertion in model container [2024-08-14 10:26:23,883 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.08 10:26:23" (2/2) ... [2024-08-14 10:26:23,883 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6d45d474 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:23, skipping insertion in model container [2024-08-14 10:26:23,883 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.08 10:26:23" (2/2) ... [2024-08-14 10:26:23,884 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-08-14 10:26:24,284 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-08-14 10:26:24,285 INFO L97 edCorrectnessWitness]: Location invariant before [L802-L802] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,286 INFO L97 edCorrectnessWitness]: Location invariant before [L792-L792] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,286 INFO L97 edCorrectnessWitness]: Location invariant before [L825-L825] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,286 INFO L97 edCorrectnessWitness]: Location invariant before [L759-L759] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,287 INFO L97 edCorrectnessWitness]: Location invariant before [L857-L857] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,287 INFO L97 edCorrectnessWitness]: Location invariant before [L835-L835] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,288 INFO L97 edCorrectnessWitness]: Location invariant before [L868-L868] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,288 INFO L97 edCorrectnessWitness]: Location invariant before [L789-L789] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,288 INFO L97 edCorrectnessWitness]: Location invariant before [L780-L780] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,288 INFO L97 edCorrectnessWitness]: Location invariant before [L809-L809] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,288 INFO L97 edCorrectnessWitness]: Location invariant before [L795-L795] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,288 INFO L97 edCorrectnessWitness]: Location invariant before [L782-L782] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,289 INFO L97 edCorrectnessWitness]: Location invariant before [L861-L861] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,289 INFO L97 edCorrectnessWitness]: Location invariant before [L777-L777] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,289 INFO L97 edCorrectnessWitness]: Location invariant before [L828-L828] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:24,344 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-08-14 10:26:24,515 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i[993,1006] [2024-08-14 10:26:24,693 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-14 10:26:24,706 INFO L202 MainTranslator]: Completed pre-run [2024-08-14 10:26:24,719 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i[993,1006] Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-08-14 10:26:24,894 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-14 10:26:24,942 INFO L206 MainTranslator]: Completed translation [2024-08-14 10:26:24,942 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24 WrapperNode [2024-08-14 10:26:24,943 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-14 10:26:24,943 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-08-14 10:26:24,944 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-08-14 10:26:24,944 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-08-14 10:26:24,951 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 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:24,979 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 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,017 INFO L138 Inliner]: procedures = 175, calls = 160, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 223 [2024-08-14 10:26:25,017 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-08-14 10:26:25,018 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-14 10:26:25,018 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-14 10:26:25,022 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-14 10:26:25,032 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,032 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,038 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,039 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,080 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,083 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,087 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,090 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,096 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-14 10:26:25,097 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-08-14 10:26:25,097 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-08-14 10:26:25,097 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-08-14 10:26:25,099 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:24" (1/1) ... [2024-08-14 10:26:25,113 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-14 10:26:25,126 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-14 10:26:25,144 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-08-14 10:26:25,153 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-08-14 10:26:25,190 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-08-14 10:26:25,191 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-08-14 10:26:25,191 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-08-14 10:26:25,192 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-14 10:26:25,192 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2024-08-14 10:26:25,193 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2024-08-14 10:26:25,193 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2024-08-14 10:26:25,194 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2024-08-14 10:26:25,195 INFO L130 BoogieDeclarations]: Found specification of procedure P2 [2024-08-14 10:26:25,195 INFO L138 BoogieDeclarations]: Found implementation of procedure P2 [2024-08-14 10:26:25,195 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-08-14 10:26:25,195 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-08-14 10:26:25,195 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-14 10:26:25,196 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-14 10:26:25,197 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-08-14 10:26:25,376 INFO L244 CfgBuilder]: Building ICFG [2024-08-14 10:26:25,378 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-14 10:26:26,239 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-08-14 10:26:26,239 INFO L293 CfgBuilder]: Performing block encoding [2024-08-14 10:26:26,271 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder has thrown an exception: de.uni_freiburg.informatik.ultimate.core.model.models.annotation.IAnnotations$UnmergeableAnnotationsException: Cannot merge class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo with class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo at de.uni_freiburg.informatik.ultimate.core.model.models.annotation.IAnnotations.merge(IAnnotations.java:78) at de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo.merge(AtomicBlockInfo.java:61) at de.uni_freiburg.informatik.ultimate.core.model.models.ModelUtils.copyAnnotationsFiltered(ModelUtils.java:165) at de.uni_freiburg.informatik.ultimate.core.model.models.ModelUtils.copyAnnotations(ModelUtils.java:66) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder$LargeBlockEncoding.composeSequential(CfgBuilder.java:1879) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder$LargeBlockEncoding.(CfgBuilder.java:1743) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.createIcfg(CfgBuilder.java:301) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBuilderObserver.process(RCFGBuilderObserver.java:88) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.DFSTreeWalker.runObserver(DFSTreeWalker.java:65) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:166) 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) [2024-08-14 10:26:26,276 INFO L158 Benchmark]: Toolchain (without parser) took 2403.11ms. Allocated memory was 163.6MB in the beginning and 241.2MB in the end (delta: 77.6MB). Free memory was 73.9MB in the beginning and 129.5MB in the end (delta: -55.6MB). Peak memory consumption was 24.7MB. Max. memory is 16.1GB. [2024-08-14 10:26:26,277 INFO L158 Benchmark]: CDTParser took 0.22ms. Allocated memory is still 163.6MB. Free memory was 122.9MB in the beginning and 122.6MB in the end (delta: 261.6kB). There was no memory consumed. Max. memory is 16.1GB. [2024-08-14 10:26:26,277 INFO L158 Benchmark]: Witness Parser took 0.08ms. Allocated memory is still 163.6MB. Free memory is still 107.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-14 10:26:26,278 INFO L158 Benchmark]: CACSL2BoogieTranslator took 1069.38ms. Allocated memory is still 163.6MB. Free memory was 73.9MB in the beginning and 50.4MB in the end (delta: 23.5MB). Peak memory consumption was 24.2MB. Max. memory is 16.1GB. [2024-08-14 10:26:26,279 INFO L158 Benchmark]: Boogie Procedure Inliner took 73.86ms. Allocated memory is still 163.6MB. Free memory was 50.4MB in the beginning and 46.3MB in the end (delta: 4.1MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-08-14 10:26:26,280 INFO L158 Benchmark]: Boogie Preprocessor took 78.50ms. Allocated memory was 163.6MB in the beginning and 241.2MB in the end (delta: 77.6MB). Free memory was 46.3MB in the beginning and 204.9MB in the end (delta: -158.6MB). Peak memory consumption was 8.9MB. Max. memory is 16.1GB. [2024-08-14 10:26:26,280 INFO L158 Benchmark]: RCFGBuilder took 1176.94ms. Allocated memory is still 241.2MB. Free memory was 204.9MB in the beginning and 129.5MB in the end (delta: 75.4MB). Peak memory consumption was 75.5MB. Max. memory is 16.1GB. [2024-08-14 10:26:26,283 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.22ms. Allocated memory is still 163.6MB. Free memory was 122.9MB in the beginning and 122.6MB in the end (delta: 261.6kB). There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.08ms. Allocated memory is still 163.6MB. Free memory is still 107.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 1069.38ms. Allocated memory is still 163.6MB. Free memory was 73.9MB in the beginning and 50.4MB in the end (delta: 23.5MB). Peak memory consumption was 24.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 73.86ms. Allocated memory is still 163.6MB. Free memory was 50.4MB in the beginning and 46.3MB in the end (delta: 4.1MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 78.50ms. Allocated memory was 163.6MB in the beginning and 241.2MB in the end (delta: 77.6MB). Free memory was 46.3MB in the beginning and 204.9MB in the end (delta: -158.6MB). Peak memory consumption was 8.9MB. Max. memory is 16.1GB. * RCFGBuilder took 1176.94ms. Allocated memory is still 241.2MB. Free memory was 204.9MB in the beginning and 129.5MB in the end (delta: 75.4MB). Peak memory consumption was 75.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: - ExceptionOrErrorResult: UnmergeableAnnotationsException: Cannot merge class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo with class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: UnmergeableAnnotationsException: Cannot merge class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo with class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo: de.uni_freiburg.informatik.ultimate.core.model.models.annotation.IAnnotations.merge(IAnnotations.java:78) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2024-08-14 10:26:26,316 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 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/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i ./goblint.2024-08-08_07-59-58.files/protection-local/safe001_rmo.oepc.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_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-tmp.fs.goblint-validation-c091e2e-m [2024-08-14 10:26:28,490 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-14 10:26:28,580 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf [2024-08-14 10:26:28,586 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-14 10:26:28,586 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-14 10:26:28,616 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-14 10:26:28,617 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-14 10:26:28,617 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-14 10:26:28,618 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-14 10:26:28,618 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-14 10:26:28,619 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-14 10:26:28,621 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-14 10:26:28,621 INFO L153 SettingsManager]: * Use SBE=true [2024-08-14 10:26:28,622 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-14 10:26:28,622 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-14 10:26:28,623 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-14 10:26:28,623 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-14 10:26:28,625 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-14 10:26:28,626 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-14 10:26:28,626 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-14 10:26:28,626 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-14 10:26:28,627 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-08-14 10:26:28,627 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-14 10:26:28,630 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-08-14 10:26:28,630 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-14 10:26:28,631 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-14 10:26:28,631 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-14 10:26:28,631 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-14 10:26:28,631 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-14 10:26:28,631 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-14 10:26:28,632 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-14 10:26:28,632 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-14 10:26:28,632 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-14 10:26:28,632 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-14 10:26:28,632 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-14 10:26:28,633 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-08-14 10:26:28,634 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-08-14 10:26:28,634 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-08-14 10:26:28,634 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-14 10:26:28,635 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-08-14 10:26:28,635 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-14 10:26:28,636 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-08-14 10:26:28,636 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-08-14 10:26:28,636 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-08-14 10:26:28,636 INFO L153 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.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-08-14 10:26:28,947 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-14 10:26:28,968 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-14 10:26:28,971 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-14 10:26:28,972 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-14 10:26:28,972 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-14 10:26:28,973 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-08-08_07-59-58.files/protection-local/safe001_rmo.oepc.yml/witness.yml [2024-08-14 10:26:29,367 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-14 10:26:29,367 INFO L274 PluginConnector]: CDTParser initialized [2024-08-14 10:26:29,368 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i [2024-08-14 10:26:30,920 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-14 10:26:31,185 INFO L384 CDTParser]: Found 1 translation units. [2024-08-14 10:26:31,187 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i [2024-08-14 10:26:31,206 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/a49aece7c/a394e92c099f4a13ae53dcbfae0a19a3/FLAGfb4f889b3 [2024-08-14 10:26:31,223 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/a49aece7c/a394e92c099f4a13ae53dcbfae0a19a3 [2024-08-14 10:26:31,225 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-14 10:26:31,226 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-08-14 10:26:31,228 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-14 10:26:31,229 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-14 10:26:31,235 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-14 10:26:31,236 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.08 10:26:29" (1/2) ... [2024-08-14 10:26:31,236 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2f38bfad and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:31, skipping insertion in model container [2024-08-14 10:26:31,237 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 14.08 10:26:29" (1/2) ... [2024-08-14 10:26:31,238 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@ce43430 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 14.08 10:26:31, skipping insertion in model container [2024-08-14 10:26:31,238 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.08 10:26:31" (2/2) ... [2024-08-14 10:26:31,239 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2f38bfad and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:31, skipping insertion in model container [2024-08-14 10:26:31,239 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.08 10:26:31" (2/2) ... [2024-08-14 10:26:31,240 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-08-14 10:26:31,627 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-08-14 10:26:31,628 INFO L97 edCorrectnessWitness]: Location invariant before [L828-L828] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,628 INFO L97 edCorrectnessWitness]: Location invariant before [L789-L789] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,628 INFO L97 edCorrectnessWitness]: Location invariant before [L857-L857] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,628 INFO L97 edCorrectnessWitness]: Location invariant before [L868-L868] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,629 INFO L97 edCorrectnessWitness]: Location invariant before [L809-L809] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,629 INFO L97 edCorrectnessWitness]: Location invariant before [L792-L792] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,629 INFO L97 edCorrectnessWitness]: Location invariant before [L825-L825] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,629 INFO L97 edCorrectnessWitness]: Location invariant before [L777-L777] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,629 INFO L97 edCorrectnessWitness]: Location invariant before [L861-L861] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,629 INFO L97 edCorrectnessWitness]: Location invariant before [L782-L782] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,630 INFO L97 edCorrectnessWitness]: Location invariant before [L759-L759] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,630 INFO L97 edCorrectnessWitness]: Location invariant before [L802-L802] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,632 INFO L97 edCorrectnessWitness]: Location invariant before [L780-L780] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,632 INFO L97 edCorrectnessWitness]: Location invariant before [L795-L795] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,632 INFO L97 edCorrectnessWitness]: Location invariant before [L835-L835] (((((((((((((((((((0 <= __unbuffered_cnt) && (y$flush_delayed == (_Bool)0)) && (y$r_buff0_thd0 == (_Bool)0)) && (y$r_buff0_thd1 == (_Bool)0)) && (y$r_buff0_thd2 == (_Bool)0)) && (y$r_buff0_thd3 == (_Bool)0)) && (y$r_buff1_thd0 == (_Bool)0)) && (y$r_buff1_thd1 == (_Bool)0)) && (y$r_buff1_thd2 == (_Bool)0)) && (y$r_buff1_thd3 == (_Bool)0)) && (y$w_buff0 == 0)) && (y$w_buff0_used == (_Bool)0)) && (y$w_buff1 == 0)) && (y$w_buff1_used == (_Bool)0)) && (__unbuffered_p0_EAX$read_delayed_var == 0 || (__unbuffered_p0_EAX$read_delayed_var == & y && ((*__unbuffered_p0_EAX$read_delayed_var == 0 || *__unbuffered_p0_EAX$read_delayed_var == 1) || *__unbuffered_p0_EAX$read_delayed_var == 2)))) && ((__unbuffered_p0_EAX == 0 || __unbuffered_p0_EAX == 1) || __unbuffered_p0_EAX == 2)) && ((__unbuffered_p2_EAX == 0 || __unbuffered_p2_EAX == 1) || __unbuffered_p2_EAX == 2)) && ((x == 0 || x == 1) || x == 2)) && ((y == 0 || y == 1) || y == 2)) && ((y$mem_tmp == 0 || y$mem_tmp == 1) || y$mem_tmp == 2) [2024-08-14 10:26:31,673 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-08-14 10:26:31,860 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i[993,1006] [2024-08-14 10:26:32,108 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-14 10:26:32,127 INFO L202 MainTranslator]: Completed pre-run [2024-08-14 10:26:32,143 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/safe001_rmo.oepc.i[993,1006] Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-08-14 10:26:32,342 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-14 10:26:32,385 INFO L206 MainTranslator]: Completed translation [2024-08-14 10:26:32,386 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32 WrapperNode [2024-08-14 10:26:32,386 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-14 10:26:32,387 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-08-14 10:26:32,387 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-08-14 10:26:32,387 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-08-14 10:26:32,394 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,436 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,479 INFO L138 Inliner]: procedures = 179, calls = 160, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 224 [2024-08-14 10:26:32,479 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-08-14 10:26:32,480 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-14 10:26:32,480 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-14 10:26:32,480 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-14 10:26:32,491 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,492 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,502 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,506 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,531 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,535 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,542 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,546 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,552 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-14 10:26:32,553 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-08-14 10:26:32,553 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-08-14 10:26:32,554 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-08-14 10:26:32,555 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 10:26:32" (1/1) ... [2024-08-14 10:26:32,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-14 10:26:32,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-14 10:26:32,587 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-08-14 10:26:32,594 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-08-14 10:26:32,624 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2024-08-14 10:26:32,625 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-08-14 10:26:32,626 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-14 10:26:32,626 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2024-08-14 10:26:32,626 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2024-08-14 10:26:32,627 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2024-08-14 10:26:32,627 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2024-08-14 10:26:32,627 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2024-08-14 10:26:32,627 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2024-08-14 10:26:32,627 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2024-08-14 10:26:32,628 INFO L130 BoogieDeclarations]: Found specification of procedure P2 [2024-08-14 10:26:32,628 INFO L138 BoogieDeclarations]: Found implementation of procedure P2 [2024-08-14 10:26:32,628 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-08-14 10:26:32,628 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-14 10:26:32,628 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-14 10:26:32,630 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-08-14 10:26:32,813 INFO L244 CfgBuilder]: Building ICFG [2024-08-14 10:26:32,815 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-14 10:26:33,757 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-08-14 10:26:33,761 INFO L293 CfgBuilder]: Performing block encoding [2024-08-14 10:26:33,798 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder has thrown an exception: de.uni_freiburg.informatik.ultimate.core.model.models.annotation.IAnnotations$UnmergeableAnnotationsException: Cannot merge class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo with class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo at de.uni_freiburg.informatik.ultimate.core.model.models.annotation.IAnnotations.merge(IAnnotations.java:78) at de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo.merge(AtomicBlockInfo.java:61) at de.uni_freiburg.informatik.ultimate.core.model.models.ModelUtils.copyAnnotationsFiltered(ModelUtils.java:165) at de.uni_freiburg.informatik.ultimate.core.model.models.ModelUtils.copyAnnotations(ModelUtils.java:66) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder$LargeBlockEncoding.composeSequential(CfgBuilder.java:1879) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder$LargeBlockEncoding.(CfgBuilder.java:1743) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.createIcfg(CfgBuilder.java:301) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBuilderObserver.process(RCFGBuilderObserver.java:88) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.DFSTreeWalker.runObserver(DFSTreeWalker.java:65) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:166) 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) [2024-08-14 10:26:33,804 INFO L158 Benchmark]: Toolchain (without parser) took 2576.93ms. Allocated memory was 90.2MB in the beginning and 111.1MB in the end (delta: 21.0MB). Free memory was 66.4MB in the beginning and 44.4MB in the end (delta: 22.0MB). Peak memory consumption was 55.0MB. Max. memory is 16.1GB. [2024-08-14 10:26:33,804 INFO L158 Benchmark]: Witness Parser took 0.17ms. Allocated memory is still 44.0MB. Free memory was 20.7MB in the beginning and 20.7MB in the end (delta: 42.2kB). There was no memory consumed. Max. memory is 16.1GB. [2024-08-14 10:26:33,804 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 60.8MB. Free memory is still 41.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-14 10:26:33,805 INFO L158 Benchmark]: CACSL2BoogieTranslator took 1157.76ms. Allocated memory is still 90.2MB. Free memory was 66.4MB in the beginning and 46.2MB in the end (delta: 20.2MB). Peak memory consumption was 38.2MB. Max. memory is 16.1GB. [2024-08-14 10:26:33,805 INFO L158 Benchmark]: Boogie Procedure Inliner took 92.30ms. Allocated memory is still 90.2MB. Free memory was 46.2MB in the beginning and 42.7MB in the end (delta: 3.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-08-14 10:26:33,806 INFO L158 Benchmark]: Boogie Preprocessor took 72.58ms. Allocated memory is still 90.2MB. Free memory was 42.7MB in the beginning and 38.6MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-08-14 10:26:33,806 INFO L158 Benchmark]: RCFGBuilder took 1248.89ms. Allocated memory was 90.2MB in the beginning and 111.1MB in the end (delta: 21.0MB). Free memory was 38.6MB in the beginning and 44.4MB in the end (delta: -5.9MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. [2024-08-14 10:26:33,808 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Witness Parser took 0.17ms. Allocated memory is still 44.0MB. Free memory was 20.7MB in the beginning and 20.7MB in the end (delta: 42.2kB). There was no memory consumed. Max. memory is 16.1GB. * CDTParser took 0.09ms. Allocated memory is still 60.8MB. Free memory is still 41.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 1157.76ms. Allocated memory is still 90.2MB. Free memory was 66.4MB in the beginning and 46.2MB in the end (delta: 20.2MB). Peak memory consumption was 38.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 92.30ms. Allocated memory is still 90.2MB. Free memory was 46.2MB in the beginning and 42.7MB in the end (delta: 3.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 72.58ms. Allocated memory is still 90.2MB. Free memory was 42.7MB in the beginning and 38.6MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 1248.89ms. Allocated memory was 90.2MB in the beginning and 111.1MB in the end (delta: 21.0MB). Free memory was 38.6MB in the beginning and 44.4MB in the end (delta: -5.9MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: - ExceptionOrErrorResult: UnmergeableAnnotationsException: Cannot merge class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo with class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: UnmergeableAnnotationsException: Cannot merge class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo with class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo: de.uni_freiburg.informatik.ultimate.core.model.models.annotation.IAnnotations.merge(IAnnotations.java:78) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2024-08-14 10:26:33,835 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnmergeableAnnotationsException: Cannot merge class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo with class de.uni_freiburg.informatik.ultimate.core.lib.models.annotation.AtomicBlockInfo