./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread-wmm/safe028_power.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 7724a2de Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../../../trunk/examples/svcomp/pthread-wmm/safe028_power.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 0d78821bc3a287b999f98be361d707254bd2fa61b63b525cf42d392168336d80 --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.fs.goblint-validation-7724a2d-m [2024-06-27 17:29:59,296 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-06-27 17:29:59,374 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-06-27 17:29:59,380 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-06-27 17:29:59,380 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-06-27 17:29:59,412 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-06-27 17:29:59,412 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-06-27 17:29:59,413 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-06-27 17:29:59,413 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-06-27 17:29:59,417 INFO L153 SettingsManager]: * Use memory slicer=true [2024-06-27 17:29:59,418 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-06-27 17:29:59,418 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-06-27 17:29:59,419 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-06-27 17:29:59,420 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-06-27 17:29:59,421 INFO L153 SettingsManager]: * Use SBE=true [2024-06-27 17:29:59,421 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-06-27 17:29:59,421 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-06-27 17:29:59,421 INFO L153 SettingsManager]: * sizeof long=4 [2024-06-27 17:29:59,422 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-06-27 17:29:59,422 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-06-27 17:29:59,422 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-06-27 17:29:59,423 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-06-27 17:29:59,423 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-06-27 17:29:59,423 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-06-27 17:29:59,423 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-06-27 17:29:59,423 INFO L153 SettingsManager]: * sizeof long double=12 [2024-06-27 17:29:59,424 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-06-27 17:29:59,424 INFO L153 SettingsManager]: * Use constant arrays=true [2024-06-27 17:29:59,425 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-06-27 17:29:59,425 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-06-27 17:29:59,426 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-06-27 17:29:59,426 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-06-27 17:29:59,426 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-27 17:29:59,427 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-06-27 17:29:59,427 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-06-27 17:29:59,427 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-06-27 17:29:59,427 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-06-27 17:29:59,427 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-06-27 17:29:59,428 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-06-27 17:29:59,428 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-06-27 17:29:59,428 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-06-27 17:29:59,428 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-06-27 17:29:59,428 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-06-27 17:29:59,429 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 0d78821bc3a287b999f98be361d707254bd2fa61b63b525cf42d392168336d80 [2024-06-27 17:29:59,672 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-06-27 17:29:59,693 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-06-27 17:29:59,697 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-06-27 17:29:59,698 INFO L270 PluginConnector]: Initializing CDTParser... [2024-06-27 17:29:59,698 INFO L274 PluginConnector]: CDTParser initialized [2024-06-27 17:29:59,699 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-wmm/safe028_power.i [2024-06-27 17:30:00,902 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-06-27 17:30:01,129 INFO L384 CDTParser]: Found 1 translation units. [2024-06-27 17:30:01,129 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-wmm/safe028_power.i [2024-06-27 17:30:01,149 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8508c347a/54827d02485346c2aba638c13ff9d704/FLAGaaeb79c28 [2024-06-27 17:30:01,162 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8508c347a/54827d02485346c2aba638c13ff9d704 [2024-06-27 17:30:01,163 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-06-27 17:30:01,164 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-06-27 17:30:01,166 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-06-27 17:30:01,166 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-06-27 17:30:01,171 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-06-27 17:30:01,171 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,172 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@13f72934 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01, skipping insertion in model container [2024-06-27 17:30:01,173 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,212 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-06-27 17:30:01,363 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/safe028_power.i[990,1003] [2024-06-27 17:30:01,638 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-27 17:30:01,655 INFO L202 MainTranslator]: Completed pre-run [2024-06-27 17:30:01,683 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/safe028_power.i[990,1003] [2024-06-27 17:30:01,766 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-27 17:30:01,804 INFO L206 MainTranslator]: Completed translation [2024-06-27 17:30:01,804 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01 WrapperNode [2024-06-27 17:30:01,804 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-06-27 17:30:01,805 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-06-27 17:30:01,805 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-06-27 17:30:01,805 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-06-27 17:30:01,811 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,828 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,861 INFO L138 Inliner]: procedures = 175, calls = 65, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 166 [2024-06-27 17:30:01,861 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-06-27 17:30:01,862 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-06-27 17:30:01,862 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-06-27 17:30:01,862 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-06-27 17:30:01,879 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,879 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,886 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,908 INFO L175 MemorySlicer]: Split 24 memory accesses to 2 slices as follows [22, 2]. 92 percent of accesses are in the largest equivalence class. The 3 initializations are split as follows [1, 2]. The 7 writes are split as follows [7, 0]. [2024-06-27 17:30:01,909 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,910 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,930 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,932 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,935 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,937 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,944 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-06-27 17:30:01,945 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-06-27 17:30:01,945 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-06-27 17:30:01,945 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-06-27 17:30:01,946 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (1/1) ... [2024-06-27 17:30:01,960 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-27 17:30:01,972 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 17:30:02,099 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-06-27 17:30:02,108 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-06-27 17:30:02,145 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-06-27 17:30:02,145 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-06-27 17:30:02,145 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-06-27 17:30:02,145 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-06-27 17:30:02,145 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-06-27 17:30:02,146 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-06-27 17:30:02,147 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2024-06-27 17:30:02,147 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2024-06-27 17:30:02,148 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2024-06-27 17:30:02,148 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2024-06-27 17:30:02,148 INFO L130 BoogieDeclarations]: Found specification of procedure P2 [2024-06-27 17:30:02,148 INFO L138 BoogieDeclarations]: Found implementation of procedure P2 [2024-06-27 17:30:02,148 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-06-27 17:30:02,149 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-06-27 17:30:02,149 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-06-27 17:30:02,149 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-06-27 17:30:02,149 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-06-27 17:30:02,151 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-06-27 17:30:02,301 INFO L244 CfgBuilder]: Building ICFG [2024-06-27 17:30:02,303 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-06-27 17:30:02,758 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-06-27 17:30:02,759 INFO L293 CfgBuilder]: Performing block encoding [2024-06-27 17:30:03,149 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-06-27 17:30:03,150 INFO L320 CfgBuilder]: Removed 0 assume(true) statements. [2024-06-27 17:30:03,151 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.06 05:30:03 BoogieIcfgContainer [2024-06-27 17:30:03,151 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-06-27 17:30:03,153 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-06-27 17:30:03,153 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-06-27 17:30:03,156 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-06-27 17:30:03,156 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.06 05:30:01" (1/3) ... [2024-06-27 17:30:03,157 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48dc3d8e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.06 05:30:03, skipping insertion in model container [2024-06-27 17:30:03,158 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 05:30:01" (2/3) ... [2024-06-27 17:30:03,159 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48dc3d8e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.06 05:30:03, skipping insertion in model container [2024-06-27 17:30:03,159 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.06 05:30:03" (3/3) ... [2024-06-27 17:30:03,161 INFO L112 eAbstractionObserver]: Analyzing ICFG safe028_power.i [2024-06-27 17:30:03,170 WARN L146 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2024-06-27 17:30:03,180 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-06-27 17:30:03,180 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-06-27 17:30:03,180 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-06-27 17:30:03,250 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-06-27 17:30:03,288 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 48 places, 39 transitions, 90 flow [2024-06-27 17:30:03,322 INFO L124 PetriNetUnfolderBase]: 1/36 cut-off events. [2024-06-27 17:30:03,322 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-27 17:30:03,329 INFO L83 FinitePrefix]: Finished finitePrefix Result has 46 conditions, 36 events. 1/36 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 67 event pairs, 0 based on Foata normal form. 0/33 useless extension candidates. Maximal degree in co-relation 38. Up to 2 conditions per place. [2024-06-27 17:30:03,330 INFO L82 GeneralOperation]: Start removeDead. Operand has 48 places, 39 transitions, 90 flow [2024-06-27 17:30:03,333 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 45 places, 36 transitions, 81 flow [2024-06-27 17:30:03,348 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-06-27 17:30:03,356 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=true, 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;@70376a9a, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-06-27 17:30:03,356 INFO L358 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2024-06-27 17:30:03,363 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-06-27 17:30:03,363 INFO L124 PetriNetUnfolderBase]: 0/9 cut-off events. [2024-06-27 17:30:03,363 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-27 17:30:03,363 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 17:30:03,364 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1] [2024-06-27 17:30:03,365 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting P1Err0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-06-27 17:30:03,370 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 17:30:03,370 INFO L85 PathProgramCache]: Analyzing trace with hash 588902002, now seen corresponding path program 1 times [2024-06-27 17:30:03,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 17:30:03,379 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [686397505] [2024-06-27 17:30:03,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 17:30:03,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 17:30:03,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 17:30:03,813 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 17:30:03,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 17:30:03,814 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [686397505] [2024-06-27 17:30:03,814 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [686397505] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 17:30:03,814 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 17:30:03,815 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-06-27 17:30:03,817 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [190974468] [2024-06-27 17:30:03,819 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 17:30:03,826 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-27 17:30:03,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 17:30:03,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-27 17:30:03,853 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-27 17:30:03,855 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 17 out of 39 [2024-06-27 17:30:03,857 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 45 places, 36 transitions, 81 flow. Second operand has 3 states, 3 states have (on average 18.666666666666668) internal successors, (56), 3 states have internal predecessors, (56), 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-06-27 17:30:03,857 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 17:30:03,857 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 17 of 39 [2024-06-27 17:30:03,858 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 17:30:04,425 INFO L124 PetriNetUnfolderBase]: 719/1241 cut-off events. [2024-06-27 17:30:04,426 INFO L125 PetriNetUnfolderBase]: For 9/9 co-relation queries the response was YES. [2024-06-27 17:30:04,433 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2364 conditions, 1241 events. 719/1241 cut-off events. For 9/9 co-relation queries the response was YES. Maximal size of possible extension queue 95. Compared 7781 event pairs, 116 based on Foata normal form. 48/1263 useless extension candidates. Maximal degree in co-relation 2353. Up to 874 conditions per place. [2024-06-27 17:30:04,441 INFO L140 encePairwiseOnDemand]: 35/39 looper letters, 29 selfloop transitions, 2 changer transitions 2/47 dead transitions. [2024-06-27 17:30:04,442 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 46 places, 47 transitions, 172 flow [2024-06-27 17:30:04,444 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-06-27 17:30:04,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-06-27 17:30:04,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 87 transitions. [2024-06-27 17:30:04,458 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.7435897435897436 [2024-06-27 17:30:04,459 INFO L175 Difference]: Start difference. First operand has 45 places, 36 transitions, 81 flow. Second operand 3 states and 87 transitions. [2024-06-27 17:30:04,460 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 46 places, 47 transitions, 172 flow [2024-06-27 17:30:04,463 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 43 places, 47 transitions, 168 flow, removed 0 selfloop flow, removed 3 redundant places. [2024-06-27 17:30:04,465 INFO L231 Difference]: Finished difference. Result has 43 places, 33 transitions, 76 flow [2024-06-27 17:30:04,467 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=74, PETRI_DIFFERENCE_MINUEND_PLACES=41, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=34, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=32, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=76, PETRI_PLACES=43, PETRI_TRANSITIONS=33} [2024-06-27 17:30:04,471 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, -2 predicate places. [2024-06-27 17:30:04,471 INFO L495 AbstractCegarLoop]: Abstraction has has 43 places, 33 transitions, 76 flow [2024-06-27 17:30:04,471 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 18.666666666666668) internal successors, (56), 3 states have internal predecessors, (56), 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-06-27 17:30:04,472 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 17:30:04,472 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 17:30:04,472 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-06-27 17:30:04,473 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-06-27 17:30:04,473 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 17:30:04,473 INFO L85 PathProgramCache]: Analyzing trace with hash -1716186806, now seen corresponding path program 1 times [2024-06-27 17:30:04,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 17:30:04,474 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [638358046] [2024-06-27 17:30:04,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 17:30:04,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 17:30:04,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 17:30:04,712 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 17:30:04,712 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 17:30:04,712 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [638358046] [2024-06-27 17:30:04,713 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [638358046] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 17:30:04,713 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 17:30:04,713 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-06-27 17:30:04,713 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [231912201] [2024-06-27 17:30:04,713 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 17:30:04,714 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-06-27 17:30:04,715 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 17:30:04,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-06-27 17:30:04,716 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-06-27 17:30:04,725 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 39 [2024-06-27 17:30:04,725 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 33 transitions, 76 flow. Second operand has 4 states, 4 states have (on average 16.0) internal successors, (64), 4 states have internal predecessors, (64), 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-06-27 17:30:04,726 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 17:30:04,726 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 39 [2024-06-27 17:30:04,726 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 17:30:05,288 INFO L124 PetriNetUnfolderBase]: 1497/2516 cut-off events. [2024-06-27 17:30:05,288 INFO L125 PetriNetUnfolderBase]: For 138/138 co-relation queries the response was YES. [2024-06-27 17:30:05,292 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4964 conditions, 2516 events. 1497/2516 cut-off events. For 138/138 co-relation queries the response was YES. Maximal size of possible extension queue 159. Compared 15333 event pairs, 186 based on Foata normal form. 100/2522 useless extension candidates. Maximal degree in co-relation 4954. Up to 1316 conditions per place. [2024-06-27 17:30:05,302 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 42 selfloop transitions, 5 changer transitions 1/58 dead transitions. [2024-06-27 17:30:05,303 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 58 transitions, 230 flow [2024-06-27 17:30:05,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-06-27 17:30:05,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-06-27 17:30:05,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 102 transitions. [2024-06-27 17:30:05,306 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6538461538461539 [2024-06-27 17:30:05,306 INFO L175 Difference]: Start difference. First operand has 43 places, 33 transitions, 76 flow. Second operand 4 states and 102 transitions. [2024-06-27 17:30:05,307 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 58 transitions, 230 flow [2024-06-27 17:30:05,309 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 43 places, 58 transitions, 222 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-06-27 17:30:05,311 INFO L231 Difference]: Finished difference. Result has 45 places, 36 transitions, 106 flow [2024-06-27 17:30:05,311 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=72, PETRI_DIFFERENCE_MINUEND_PLACES=40, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=33, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=28, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=106, PETRI_PLACES=45, PETRI_TRANSITIONS=36} [2024-06-27 17:30:05,312 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 0 predicate places. [2024-06-27 17:30:05,312 INFO L495 AbstractCegarLoop]: Abstraction has has 45 places, 36 transitions, 106 flow [2024-06-27 17:30:05,313 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 16.0) internal successors, (64), 4 states have internal predecessors, (64), 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-06-27 17:30:05,313 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 17:30:05,313 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 17:30:05,313 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-06-27 17:30:05,314 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-06-27 17:30:05,315 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 17:30:05,315 INFO L85 PathProgramCache]: Analyzing trace with hash -364092021, now seen corresponding path program 1 times [2024-06-27 17:30:05,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 17:30:05,318 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2072981585] [2024-06-27 17:30:05,318 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 17:30:05,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 17:30:05,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 17:30:05,485 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 17:30:05,485 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 17:30:05,486 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2072981585] [2024-06-27 17:30:05,486 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2072981585] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 17:30:05,486 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 17:30:05,486 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-06-27 17:30:05,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1579429086] [2024-06-27 17:30:05,487 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 17:30:05,487 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-06-27 17:30:05,487 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 17:30:05,488 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-06-27 17:30:05,488 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-06-27 17:30:05,492 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 39 [2024-06-27 17:30:05,493 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 45 places, 36 transitions, 106 flow. Second operand has 5 states, 5 states have (on average 16.0) internal successors, (80), 5 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-06-27 17:30:05,493 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 17:30:05,493 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 39 [2024-06-27 17:30:05,493 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 17:30:05,917 INFO L124 PetriNetUnfolderBase]: 960/1625 cut-off events. [2024-06-27 17:30:05,917 INFO L125 PetriNetUnfolderBase]: For 415/415 co-relation queries the response was YES. [2024-06-27 17:30:05,921 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3724 conditions, 1625 events. 960/1625 cut-off events. For 415/415 co-relation queries the response was YES. Maximal size of possible extension queue 80. Compared 8686 event pairs, 98 based on Foata normal form. 82/1655 useless extension candidates. Maximal degree in co-relation 3712. Up to 581 conditions per place. [2024-06-27 17:30:05,928 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 53 selfloop transitions, 8 changer transitions 1/72 dead transitions. [2024-06-27 17:30:05,928 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 72 transitions, 323 flow [2024-06-27 17:30:05,929 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-06-27 17:30:05,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-06-27 17:30:05,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 129 transitions. [2024-06-27 17:30:05,932 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6615384615384615 [2024-06-27 17:30:05,932 INFO L175 Difference]: Start difference. First operand has 45 places, 36 transitions, 106 flow. Second operand 5 states and 129 transitions. [2024-06-27 17:30:05,932 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 72 transitions, 323 flow [2024-06-27 17:30:05,935 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 72 transitions, 313 flow, removed 1 selfloop flow, removed 2 redundant places. [2024-06-27 17:30:05,936 INFO L231 Difference]: Finished difference. Result has 49 places, 39 transitions, 146 flow [2024-06-27 17:30:05,937 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=98, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=28, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=146, PETRI_PLACES=49, PETRI_TRANSITIONS=39} [2024-06-27 17:30:05,938 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 4 predicate places. [2024-06-27 17:30:05,938 INFO L495 AbstractCegarLoop]: Abstraction has has 49 places, 39 transitions, 146 flow [2024-06-27 17:30:05,938 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 16.0) internal successors, (80), 5 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-06-27 17:30:05,938 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 17:30:05,939 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] [2024-06-27 17:30:05,939 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-06-27 17:30:05,939 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-06-27 17:30:05,940 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 17:30:05,940 INFO L85 PathProgramCache]: Analyzing trace with hash 1214236992, now seen corresponding path program 1 times [2024-06-27 17:30:05,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 17:30:05,941 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1451095059] [2024-06-27 17:30:05,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 17:30:05,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 17:30:06,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 17:30:06,218 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 17:30:06,219 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 17:30:06,219 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1451095059] [2024-06-27 17:30:06,219 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1451095059] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 17:30:06,219 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 17:30:06,220 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-06-27 17:30:06,220 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [678859540] [2024-06-27 17:30:06,220 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 17:30:06,220 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-06-27 17:30:06,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 17:30:06,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-06-27 17:30:06,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2024-06-27 17:30:06,226 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 39 [2024-06-27 17:30:06,226 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 49 places, 39 transitions, 146 flow. Second operand has 6 states, 6 states have (on average 16.0) internal successors, (96), 6 states have internal predecessors, (96), 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-06-27 17:30:06,236 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 17:30:06,237 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 39 [2024-06-27 17:30:06,237 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 17:30:06,511 INFO L124 PetriNetUnfolderBase]: 567/934 cut-off events. [2024-06-27 17:30:06,511 INFO L125 PetriNetUnfolderBase]: For 744/744 co-relation queries the response was YES. [2024-06-27 17:30:06,514 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2442 conditions, 934 events. 567/934 cut-off events. For 744/744 co-relation queries the response was YES. Maximal size of possible extension queue 48. Compared 4160 event pairs, 81 based on Foata normal form. 40/954 useless extension candidates. Maximal degree in co-relation 2428. Up to 308 conditions per place. [2024-06-27 17:30:06,519 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 46 selfloop transitions, 11 changer transitions 1/68 dead transitions. [2024-06-27 17:30:06,519 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 68 transitions, 330 flow [2024-06-27 17:30:06,519 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-06-27 17:30:06,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-06-27 17:30:06,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 138 transitions. [2024-06-27 17:30:06,522 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5897435897435898 [2024-06-27 17:30:06,522 INFO L175 Difference]: Start difference. First operand has 49 places, 39 transitions, 146 flow. Second operand 6 states and 138 transitions. [2024-06-27 17:30:06,523 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 68 transitions, 330 flow [2024-06-27 17:30:06,529 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 50 places, 68 transitions, 305 flow, removed 4 selfloop flow, removed 4 redundant places. [2024-06-27 17:30:06,531 INFO L231 Difference]: Finished difference. Result has 52 places, 39 transitions, 160 flow [2024-06-27 17:30:06,531 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=124, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=11, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=28, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=160, PETRI_PLACES=52, PETRI_TRANSITIONS=39} [2024-06-27 17:30:06,533 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 7 predicate places. [2024-06-27 17:30:06,533 INFO L495 AbstractCegarLoop]: Abstraction has has 52 places, 39 transitions, 160 flow [2024-06-27 17:30:06,533 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 16.0) internal successors, (96), 6 states have internal predecessors, (96), 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-06-27 17:30:06,533 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 17:30:06,533 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-06-27 17:30:06,534 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-06-27 17:30:06,534 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-06-27 17:30:06,534 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 17:30:06,534 INFO L85 PathProgramCache]: Analyzing trace with hash 1953638527, now seen corresponding path program 1 times [2024-06-27 17:30:06,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 17:30:06,535 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1666759502] [2024-06-27 17:30:06,535 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 17:30:06,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 17:30:06,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 17:30:06,898 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 17:30:06,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 17:30:06,899 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1666759502] [2024-06-27 17:30:06,899 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1666759502] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 17:30:06,899 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 17:30:06,900 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2024-06-27 17:30:06,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [691971233] [2024-06-27 17:30:06,900 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 17:30:06,900 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-06-27 17:30:06,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 17:30:06,901 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-06-27 17:30:06,901 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-06-27 17:30:06,909 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 14 out of 39 [2024-06-27 17:30:06,909 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 52 places, 39 transitions, 160 flow. Second operand has 6 states, 6 states have (on average 17.166666666666668) internal successors, (103), 6 states have internal predecessors, (103), 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-06-27 17:30:06,910 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 17:30:06,910 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 14 of 39 [2024-06-27 17:30:06,910 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 17:30:07,249 INFO L124 PetriNetUnfolderBase]: 668/1319 cut-off events. [2024-06-27 17:30:07,250 INFO L125 PetriNetUnfolderBase]: For 600/614 co-relation queries the response was YES. [2024-06-27 17:30:07,254 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3001 conditions, 1319 events. 668/1319 cut-off events. For 600/614 co-relation queries the response was YES. Maximal size of possible extension queue 85. Compared 7547 event pairs, 84 based on Foata normal form. 8/1299 useless extension candidates. Maximal degree in co-relation 2986. Up to 572 conditions per place. [2024-06-27 17:30:07,258 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 27 selfloop transitions, 1 changer transitions 24/69 dead transitions. [2024-06-27 17:30:07,258 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 57 places, 69 transitions, 336 flow [2024-06-27 17:30:07,259 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-06-27 17:30:07,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-06-27 17:30:07,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 137 transitions. [2024-06-27 17:30:07,260 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5854700854700855 [2024-06-27 17:30:07,261 INFO L175 Difference]: Start difference. First operand has 52 places, 39 transitions, 160 flow. Second operand 6 states and 137 transitions. [2024-06-27 17:30:07,261 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 57 places, 69 transitions, 336 flow [2024-06-27 17:30:07,266 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 49 places, 69 transitions, 272 flow, removed 14 selfloop flow, removed 8 redundant places. [2024-06-27 17:30:07,267 INFO L231 Difference]: Finished difference. Result has 53 places, 39 transitions, 115 flow [2024-06-27 17:30:07,267 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=104, PETRI_DIFFERENCE_MINUEND_PLACES=44, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=115, PETRI_PLACES=53, PETRI_TRANSITIONS=39} [2024-06-27 17:30:07,270 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 8 predicate places. [2024-06-27 17:30:07,273 INFO L495 AbstractCegarLoop]: Abstraction has has 53 places, 39 transitions, 115 flow [2024-06-27 17:30:07,273 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 17.166666666666668) internal successors, (103), 6 states have internal predecessors, (103), 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-06-27 17:30:07,274 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 17:30:07,274 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-06-27 17:30:07,274 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-06-27 17:30:07,274 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-06-27 17:30:07,275 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 17:30:07,275 INFO L85 PathProgramCache]: Analyzing trace with hash 596366147, now seen corresponding path program 2 times [2024-06-27 17:30:07,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 17:30:07,276 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1285127503] [2024-06-27 17:30:07,281 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 17:30:07,281 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 17:30:07,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 17:30:10,097 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 17:30:10,098 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 17:30:10,098 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1285127503] [2024-06-27 17:30:10,098 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1285127503] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 17:30:10,098 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 17:30:10,098 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2024-06-27 17:30:10,099 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734960327] [2024-06-27 17:30:10,099 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 17:30:10,100 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2024-06-27 17:30:10,100 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 17:30:10,101 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2024-06-27 17:30:10,101 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2024-06-27 17:30:10,114 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 16 out of 39 [2024-06-27 17:30:10,114 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 39 transitions, 115 flow. Second operand has 11 states, 11 states have (on average 17.545454545454547) internal successors, (193), 11 states have internal predecessors, (193), 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-06-27 17:30:10,115 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 17:30:10,115 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 16 of 39 [2024-06-27 17:30:10,115 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 17:30:10,809 INFO L124 PetriNetUnfolderBase]: 695/1357 cut-off events. [2024-06-27 17:30:10,809 INFO L125 PetriNetUnfolderBase]: For 8/8 co-relation queries the response was YES. [2024-06-27 17:30:10,813 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2735 conditions, 1357 events. 695/1357 cut-off events. For 8/8 co-relation queries the response was YES. Maximal size of possible extension queue 96. Compared 7986 event pairs, 216 based on Foata normal form. 8/1282 useless extension candidates. Maximal degree in co-relation 2721. Up to 325 conditions per place. [2024-06-27 17:30:10,817 INFO L140 encePairwiseOnDemand]: 30/39 looper letters, 47 selfloop transitions, 10 changer transitions 14/90 dead transitions. [2024-06-27 17:30:10,817 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 90 transitions, 375 flow [2024-06-27 17:30:10,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-06-27 17:30:10,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-06-27 17:30:10,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 216 transitions. [2024-06-27 17:30:10,819 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6153846153846154 [2024-06-27 17:30:10,819 INFO L175 Difference]: Start difference. First operand has 53 places, 39 transitions, 115 flow. Second operand 9 states and 216 transitions. [2024-06-27 17:30:10,819 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 90 transitions, 375 flow [2024-06-27 17:30:10,821 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 54 places, 90 transitions, 358 flow, removed 8 selfloop flow, removed 4 redundant places. [2024-06-27 17:30:10,822 INFO L231 Difference]: Finished difference. Result has 60 places, 47 transitions, 176 flow [2024-06-27 17:30:10,822 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=108, PETRI_DIFFERENCE_MINUEND_PLACES=46, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=176, PETRI_PLACES=60, PETRI_TRANSITIONS=47} [2024-06-27 17:30:10,825 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 15 predicate places. [2024-06-27 17:30:10,826 INFO L495 AbstractCegarLoop]: Abstraction has has 60 places, 47 transitions, 176 flow [2024-06-27 17:30:10,826 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 17.545454545454547) internal successors, (193), 11 states have internal predecessors, (193), 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-06-27 17:30:10,826 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 17:30:10,826 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-06-27 17:30:10,827 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2024-06-27 17:30:10,827 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-06-27 17:30:10,827 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 17:30:10,827 INFO L85 PathProgramCache]: Analyzing trace with hash 1704437307, now seen corresponding path program 3 times [2024-06-27 17:30:10,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 17:30:10,828 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [571258116] [2024-06-27 17:30:10,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 17:30:10,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 17:30:10,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-06-27 17:30:10,904 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-06-27 17:30:10,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-06-27 17:30:11,008 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-06-27 17:30:11,008 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-06-27 17:30:11,009 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (5 of 6 remaining) [2024-06-27 17:30:11,011 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location P1Err0ASSERT_VIOLATIONERROR_FUNCTION (4 of 6 remaining) [2024-06-27 17:30:11,011 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (3 of 6 remaining) [2024-06-27 17:30:11,012 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (2 of 6 remaining) [2024-06-27 17:30:11,012 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr2INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (1 of 6 remaining) [2024-06-27 17:30:11,012 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location P1Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 6 remaining) [2024-06-27 17:30:11,012 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-06-27 17:30:11,013 INFO L445 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1] [2024-06-27 17:30:11,018 INFO L229 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-06-27 17:30:11,018 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2024-06-27 17:30:11,108 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.06 05:30:11 BasicIcfg [2024-06-27 17:30:11,108 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-06-27 17:30:11,109 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2024-06-27 17:30:11,109 INFO L270 PluginConnector]: Initializing Witness Printer... [2024-06-27 17:30:11,109 INFO L274 PluginConnector]: Witness Printer initialized [2024-06-27 17:30:11,110 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.06 05:30:03" (3/4) ... [2024-06-27 17:30:11,110 INFO L131 WitnessPrinter]: Generating witness for reachability counterexample [2024-06-27 17:30:11,209 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2024-06-27 17:30:11,209 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2024-06-27 17:30:11,210 INFO L158 Benchmark]: Toolchain (without parser) took 10045.22ms. Allocated memory was 165.7MB in the beginning and 381.7MB in the end (delta: 216.0MB). Free memory was 96.2MB in the beginning and 179.1MB in the end (delta: -82.9MB). Peak memory consumption was 136.2MB. Max. memory is 16.1GB. [2024-06-27 17:30:11,210 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 113.2MB. Free memory was 75.1MB in the beginning and 75.0MB in the end (delta: 119.0kB). There was no memory consumed. Max. memory is 16.1GB. [2024-06-27 17:30:11,210 INFO L158 Benchmark]: CACSL2BoogieTranslator took 638.40ms. Allocated memory is still 165.7MB. Free memory was 96.2MB in the beginning and 126.9MB in the end (delta: -30.7MB). Peak memory consumption was 23.1MB. Max. memory is 16.1GB. [2024-06-27 17:30:11,211 INFO L158 Benchmark]: Boogie Procedure Inliner took 56.50ms. Allocated memory is still 165.7MB. Free memory was 126.9MB in the beginning and 124.1MB in the end (delta: 2.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-06-27 17:30:11,211 INFO L158 Benchmark]: Boogie Preprocessor took 82.12ms. Allocated memory is still 165.7MB. Free memory was 124.1MB in the beginning and 120.0MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-06-27 17:30:11,211 INFO L158 Benchmark]: RCFGBuilder took 1206.21ms. Allocated memory is still 165.7MB. Free memory was 120.0MB in the beginning and 103.8MB in the end (delta: 16.1MB). Peak memory consumption was 80.0MB. Max. memory is 16.1GB. [2024-06-27 17:30:11,212 INFO L158 Benchmark]: TraceAbstraction took 7955.74ms. Allocated memory was 165.7MB in the beginning and 381.7MB in the end (delta: 216.0MB). Free memory was 103.8MB in the beginning and 201.2MB in the end (delta: -97.3MB). Peak memory consumption was 117.5MB. Max. memory is 16.1GB. [2024-06-27 17:30:11,212 INFO L158 Benchmark]: Witness Printer took 100.49ms. Allocated memory is still 381.7MB. Free memory was 201.2MB in the beginning and 179.1MB in the end (delta: 22.0MB). Peak memory consumption was 23.1MB. Max. memory is 16.1GB. [2024-06-27 17:30:11,213 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.19ms. Allocated memory is still 113.2MB. Free memory was 75.1MB in the beginning and 75.0MB in the end (delta: 119.0kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 638.40ms. Allocated memory is still 165.7MB. Free memory was 96.2MB in the beginning and 126.9MB in the end (delta: -30.7MB). Peak memory consumption was 23.1MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 56.50ms. Allocated memory is still 165.7MB. Free memory was 126.9MB in the beginning and 124.1MB in the end (delta: 2.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 82.12ms. Allocated memory is still 165.7MB. Free memory was 124.1MB in the beginning and 120.0MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 1206.21ms. Allocated memory is still 165.7MB. Free memory was 120.0MB in the beginning and 103.8MB in the end (delta: 16.1MB). Peak memory consumption was 80.0MB. Max. memory is 16.1GB. * TraceAbstraction took 7955.74ms. Allocated memory was 165.7MB in the beginning and 381.7MB in the end (delta: 216.0MB). Free memory was 103.8MB in the beginning and 201.2MB in the end (delta: -97.3MB). Peak memory consumption was 117.5MB. Max. memory is 16.1GB. * Witness Printer took 100.49ms. Allocated memory is still 381.7MB. Free memory was 201.2MB in the beginning and 179.1MB in the end (delta: 22.0MB). Peak memory consumption was 23.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 19]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L710] 0 int __unbuffered_cnt = 0; [L712] 0 int __unbuffered_p0_EAX = 0; [L714] 0 int __unbuffered_p2_EAX = 0; [L715] 0 _Bool __unbuffered_p2_EAX$flush_delayed; [L716] 0 int __unbuffered_p2_EAX$mem_tmp; [L717] 0 _Bool __unbuffered_p2_EAX$r_buff0_thd0; [L718] 0 _Bool __unbuffered_p2_EAX$r_buff0_thd1; [L719] 0 _Bool __unbuffered_p2_EAX$r_buff0_thd2; [L720] 0 _Bool __unbuffered_p2_EAX$r_buff0_thd3; [L721] 0 _Bool __unbuffered_p2_EAX$r_buff1_thd0; [L722] 0 _Bool __unbuffered_p2_EAX$r_buff1_thd1; [L723] 0 _Bool __unbuffered_p2_EAX$r_buff1_thd2; [L724] 0 _Bool __unbuffered_p2_EAX$r_buff1_thd3; [L725] 0 _Bool __unbuffered_p2_EAX$read_delayed; [L726] 0 int *__unbuffered_p2_EAX$read_delayed_var; [L727] 0 int __unbuffered_p2_EAX$w_buff0; [L728] 0 _Bool __unbuffered_p2_EAX$w_buff0_used; [L729] 0 int __unbuffered_p2_EAX$w_buff1; [L730] 0 _Bool __unbuffered_p2_EAX$w_buff1_used; [L732] 0 int __unbuffered_p2_EBX = 0; [L733] 0 _Bool main$tmp_guard0; [L734] 0 _Bool main$tmp_guard1; [L736] 0 int x = 0; [L736] 0 int x = 0; [L737] 0 _Bool x$flush_delayed; [L738] 0 int x$mem_tmp; [L739] 0 _Bool x$r_buff0_thd0; [L740] 0 _Bool x$r_buff0_thd1; [L741] 0 _Bool x$r_buff0_thd2; [L742] 0 _Bool x$r_buff0_thd3; [L743] 0 _Bool x$r_buff1_thd0; [L744] 0 _Bool x$r_buff1_thd1; [L745] 0 _Bool x$r_buff1_thd2; [L746] 0 _Bool x$r_buff1_thd3; [L747] 0 _Bool x$read_delayed; [L748] 0 int *x$read_delayed_var; [L749] 0 int x$w_buff0; [L750] 0 _Bool x$w_buff0_used; [L751] 0 int x$w_buff1; [L752] 0 _Bool x$w_buff1_used; [L754] 0 int y = 0; [L755] 0 _Bool weak$$choice0; [L756] 0 _Bool weak$$choice1; [L757] 0 _Bool weak$$choice2; [L861] 0 pthread_t t2449; [L862] FCALL, FORK 0 pthread_create(&t2449, ((void *)0), P0, ((void *)0)) VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=0, __unbuffered_p2_EAX$read_delayed_var={0:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, main$tmp_guard0=0, main$tmp_guard1=0, t2449=-2, weak$$choice0=0, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=0] [L863] 0 pthread_t t2450; [L864] FCALL, FORK 0 pthread_create(&t2450, ((void *)0), P1, ((void *)0)) VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=0, __unbuffered_p2_EAX$read_delayed_var={0:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, main$tmp_guard0=0, main$tmp_guard1=0, t2449=-2, t2450=-1, weak$$choice0=0, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=0] [L865] 0 pthread_t t2451; [L866] FCALL, FORK 0 pthread_create(&t2451, ((void *)0), P2, ((void *)0)) VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=0, __unbuffered_p2_EAX$read_delayed_var={0:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, main$tmp_guard0=0, main$tmp_guard1=0, t2449=-2, t2450=-1, t2451=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=0] [L817] 3 weak$$choice0 = __VERIFIER_nondet_bool() [L818] 3 weak$$choice2 = __VERIFIER_nondet_bool() [L819] 3 x$flush_delayed = weak$$choice2 [L820] EXPR 3 \read(x) [L820] 3 x$mem_tmp = x [L821] 3 weak$$choice1 = __VERIFIER_nondet_bool() [L822] EXPR 3 !x$w_buff0_used ? x : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (weak$$choice0 ? x : (weak$$choice1 ? x$w_buff0 : x$w_buff1)) : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (weak$$choice0 ? x$w_buff1 : x$w_buff0) : (weak$$choice0 ? x$w_buff0 : x)))) [L822] EXPR 3 \read(x) [L822] EXPR 3 !x$w_buff0_used ? x : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (weak$$choice0 ? x : (weak$$choice1 ? x$w_buff0 : x$w_buff1)) : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (weak$$choice0 ? x$w_buff1 : x$w_buff0) : (weak$$choice0 ? x$w_buff0 : x)))) [L822] 3 x = !x$w_buff0_used ? x : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (weak$$choice0 ? x : (weak$$choice1 ? x$w_buff0 : x$w_buff1)) : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (weak$$choice0 ? x$w_buff1 : x$w_buff0) : (weak$$choice0 ? x$w_buff0 : x)))) [L823] 3 x$w_buff0 = weak$$choice2 ? x$w_buff0 : (!x$w_buff0_used ? x$w_buff0 : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? x$w_buff0 : x$w_buff0)))) [L824] 3 x$w_buff1 = weak$$choice2 ? x$w_buff1 : (!x$w_buff0_used ? x$w_buff1 : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff1 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? x$w_buff1 : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? x$w_buff1 : x$w_buff1)))) [L825] 3 x$w_buff0_used = weak$$choice2 ? x$w_buff0_used : (!x$w_buff0_used ? x$w_buff0_used : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? weak$$choice0 || !weak$$choice1 : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? weak$$choice0 : weak$$choice0)))) [L826] 3 x$w_buff1_used = weak$$choice2 ? x$w_buff1_used : (!x$w_buff0_used ? x$w_buff1_used : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? weak$$choice0 : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (_Bool)0 : (_Bool)0)))) [L827] 3 x$r_buff0_thd3 = weak$$choice2 ? x$r_buff0_thd3 : (!x$w_buff0_used ? x$r_buff0_thd3 : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? x$r_buff0_thd3 : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (_Bool)0 : (_Bool)0)))) [L828] 3 x$r_buff1_thd3 = weak$$choice2 ? x$r_buff1_thd3 : (!x$w_buff0_used ? x$r_buff1_thd3 : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : (x$w_buff0_used && !x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (weak$$choice0 ? x$r_buff1_thd3 : (_Bool)0) : (x$w_buff0_used && x$r_buff1_thd3 && x$w_buff1_used && !x$r_buff0_thd3 ? (_Bool)0 : (_Bool)0)))) [L829] 3 __unbuffered_p2_EAX$read_delayed = (_Bool)1 [L830] 3 __unbuffered_p2_EAX$read_delayed_var = &x [L831] EXPR 3 \read(x) [L831] 3 __unbuffered_p2_EAX = x [L832] EXPR 3 x$flush_delayed ? x$mem_tmp : x [L832] EXPR 3 \read(x) [L832] EXPR 3 x$flush_delayed ? x$mem_tmp : x [L832] 3 x = x$flush_delayed ? x$mem_tmp : x [L833] 3 x$flush_delayed = (_Bool)0 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=0] [L836] 3 __unbuffered_p2_EBX = y VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=0] [L761] 1 y = 1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L766] 1 weak$$choice0 = __VERIFIER_nondet_bool() [L767] 1 weak$$choice2 = __VERIFIER_nondet_bool() [L768] 1 x$flush_delayed = weak$$choice2 [L769] EXPR 1 \read(x) [L769] 1 x$mem_tmp = x [L770] EXPR 1 !x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x : (x$w_buff0_used && x$r_buff0_thd1 ? x$w_buff0 : x$w_buff1) [L770] EXPR 1 \read(x) [L770] EXPR 1 !x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x : (x$w_buff0_used && x$r_buff0_thd1 ? x$w_buff0 : x$w_buff1) [L770] 1 x = !x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x : (x$w_buff0_used && x$r_buff0_thd1 ? x$w_buff0 : x$w_buff1) [L771] 1 x$w_buff0 = weak$$choice2 ? x$w_buff0 : (!x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x$w_buff0 : (x$w_buff0_used && x$r_buff0_thd1 ? x$w_buff0 : x$w_buff0)) [L772] 1 x$w_buff1 = weak$$choice2 ? x$w_buff1 : (!x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x$w_buff1 : (x$w_buff0_used && x$r_buff0_thd1 ? x$w_buff1 : x$w_buff1)) [L773] 1 x$w_buff0_used = weak$$choice2 ? x$w_buff0_used : (!x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x$w_buff0_used : (x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : x$w_buff0_used)) [L774] 1 x$w_buff1_used = weak$$choice2 ? x$w_buff1_used : (!x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x$w_buff1_used : (x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : (_Bool)0)) [L775] 1 x$r_buff0_thd1 = weak$$choice2 ? x$r_buff0_thd1 : (!x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x$r_buff0_thd1 : (x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : x$r_buff0_thd1)) [L776] 1 x$r_buff1_thd1 = weak$$choice2 ? x$r_buff1_thd1 : (!x$w_buff0_used || !x$r_buff0_thd1 && !x$w_buff1_used || !x$r_buff0_thd1 && !x$r_buff1_thd1 ? x$r_buff1_thd1 : (x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : (_Bool)0)) [L777] EXPR 1 \read(x) [L777] 1 __unbuffered_p0_EAX = x [L778] EXPR 1 x$flush_delayed ? x$mem_tmp : x [L778] EXPR 1 \read(x) [L778] EXPR 1 x$flush_delayed ? x$mem_tmp : x [L778] 1 x = x$flush_delayed ? x$mem_tmp : x [L779] 1 x$flush_delayed = (_Bool)0 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L839] EXPR 3 x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd3 ? x$w_buff1 : x) [L839] EXPR 3 x$w_buff1_used && x$r_buff1_thd3 ? x$w_buff1 : x [L839] EXPR 3 \read(x) [L839] EXPR 3 x$w_buff1_used && x$r_buff1_thd3 ? x$w_buff1 : x [L839] EXPR 3 x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd3 ? x$w_buff1 : x) [L839] 3 x = x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd3 ? x$w_buff1 : x) [L840] 3 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : x$w_buff0_used [L841] 3 x$w_buff1_used = x$w_buff0_used && x$r_buff0_thd3 || x$w_buff1_used && x$r_buff1_thd3 ? (_Bool)0 : x$w_buff1_used [L842] 3 x$r_buff0_thd3 = x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : x$r_buff0_thd3 [L843] 3 x$r_buff1_thd3 = x$w_buff0_used && x$r_buff0_thd3 || x$w_buff1_used && x$r_buff1_thd3 ? (_Bool)0 : x$r_buff1_thd3 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=0, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=0, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L791] 2 x$w_buff1 = x$w_buff0 [L792] 2 x$w_buff0 = 1 [L793] 2 x$w_buff1_used = x$w_buff0_used [L794] 2 x$w_buff0_used = (_Bool)1 [L795] CALL 2 __VERIFIER_assert(!(x$w_buff1_used && x$w_buff0_used)) [L19] COND FALSE 2 !(!expression) [L795] RET 2 __VERIFIER_assert(!(x$w_buff1_used && x$w_buff0_used)) [L796] 2 x$r_buff1_thd0 = x$r_buff0_thd0 [L797] 2 x$r_buff1_thd1 = x$r_buff0_thd1 [L798] 2 x$r_buff1_thd2 = x$r_buff0_thd2 [L799] 2 x$r_buff1_thd3 = x$r_buff0_thd3 [L800] 2 x$r_buff0_thd2 = (_Bool)1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L803] EXPR 2 x$w_buff0_used && x$r_buff0_thd2 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd2 ? x$w_buff1 : x) [L803] EXPR 2 x$w_buff0_used && x$r_buff0_thd2 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd2 ? x$w_buff1 : x) [L803] 2 x = x$w_buff0_used && x$r_buff0_thd2 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd2 ? x$w_buff1 : x) [L804] 2 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$w_buff0_used [L805] 2 x$w_buff1_used = x$w_buff0_used && x$r_buff0_thd2 || x$w_buff1_used && x$r_buff1_thd2 ? (_Bool)0 : x$w_buff1_used [L806] 2 x$r_buff0_thd2 = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$r_buff0_thd2 [L807] 2 x$r_buff1_thd2 = x$w_buff0_used && x$r_buff0_thd2 || x$w_buff1_used && x$r_buff1_thd2 ? (_Bool)0 : x$r_buff1_thd2 VAL [\old(arg)={0:0}, \old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L810] 2 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=1, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L784] 1 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=2, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L846] 3 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=3, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L868] 0 main$tmp_guard0 = __unbuffered_cnt == 3 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=3, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t2449=-2, t2450=-1, t2451=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L870] CALL 0 assume_abort_if_not(main$tmp_guard0) [L4] COND FALSE 0 !(!cond) [L870] RET 0 assume_abort_if_not(main$tmp_guard0) [L872] EXPR 0 x$w_buff0_used && x$r_buff0_thd0 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd0 ? x$w_buff1 : x) [L872] EXPR 0 x$w_buff1_used && x$r_buff1_thd0 ? x$w_buff1 : x [L872] EXPR 0 \read(x) [L872] EXPR 0 x$w_buff1_used && x$r_buff1_thd0 ? x$w_buff1 : x [L872] EXPR 0 x$w_buff0_used && x$r_buff0_thd0 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd0 ? x$w_buff1 : x) [L872] 0 x = x$w_buff0_used && x$r_buff0_thd0 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd0 ? x$w_buff1 : x) [L873] 0 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$w_buff0_used [L874] 0 x$w_buff1_used = x$w_buff0_used && x$r_buff0_thd0 || x$w_buff1_used && x$r_buff1_thd0 ? (_Bool)0 : x$w_buff1_used [L875] 0 x$r_buff0_thd0 = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$r_buff0_thd0 [L876] 0 x$r_buff1_thd0 = x$w_buff0_used && x$r_buff0_thd0 || x$w_buff1_used && x$r_buff1_thd0 ? (_Bool)0 : x$r_buff1_thd0 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=3, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=0, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t2449=-2, t2450=-1, t2451=0, weak$$choice0=1, weak$$choice1=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L879] 0 weak$$choice1 = __VERIFIER_nondet_bool() [L880] EXPR 0 __unbuffered_p2_EAX$read_delayed ? (weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX) : __unbuffered_p2_EAX [L880] EXPR 0 weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX [L880] EXPR 0 \read(*__unbuffered_p2_EAX$read_delayed_var) [L880] EXPR 0 weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX [L880] EXPR 0 __unbuffered_p2_EAX$read_delayed ? (weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX) : __unbuffered_p2_EAX [L880] 0 __unbuffered_p2_EAX = __unbuffered_p2_EAX$read_delayed ? (weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX) : __unbuffered_p2_EAX [L881] 0 main$tmp_guard1 = !(__unbuffered_p0_EAX == 0 && __unbuffered_p2_EAX == 1 && __unbuffered_p2_EBX == 0) VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=3, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=1, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t2449=-2, t2450=-1, t2451=0, weak$$choice0=1, weak$$choice1=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L883] CALL 0 __VERIFIER_assert(main$tmp_guard1) [L19] COND TRUE 0 !expression VAL [\old(arg)={0:0}, \old(arg)={0:0}, \old(expression)=0, __unbuffered_cnt=3, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=1, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, expression=0, main$tmp_guard0=1, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] [L19] 0 reach_error() VAL [\old(arg)={0:0}, \old(arg)={0:0}, \old(expression)=0, __unbuffered_cnt=3, __unbuffered_p0_EAX=0, __unbuffered_p2_EAX$flush_delayed=0, __unbuffered_p2_EAX$mem_tmp=0, __unbuffered_p2_EAX$r_buff0_thd0=0, __unbuffered_p2_EAX$r_buff0_thd1=0, __unbuffered_p2_EAX$r_buff0_thd2=0, __unbuffered_p2_EAX$r_buff0_thd3=0, __unbuffered_p2_EAX$r_buff1_thd0=0, __unbuffered_p2_EAX$r_buff1_thd1=0, __unbuffered_p2_EAX$r_buff1_thd2=0, __unbuffered_p2_EAX$r_buff1_thd3=0, __unbuffered_p2_EAX$read_delayed=1, __unbuffered_p2_EAX$read_delayed_var={3:0}, __unbuffered_p2_EAX$w_buff0=0, __unbuffered_p2_EAX$w_buff0_used=0, __unbuffered_p2_EAX$w_buff1=0, __unbuffered_p2_EAX$w_buff1_used=0, __unbuffered_p2_EAX=1, __unbuffered_p2_EBX=0, arg={0:0}, arg={0:0}, expression=0, main$tmp_guard0=1, main$tmp_guard1=0, weak$$choice0=1, weak$$choice1=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff0_thd3=0, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$r_buff1_thd3=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x={3:0}, y=1] - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 866]: Unable to prove that petrification did provide enough thread instances (tool internal message) Unable to prove that petrification did provide enough thread instances (tool internal message) Reason: Not analyzed. - UnprovableResult [Line: 864]: Unable to prove that petrification did provide enough thread instances (tool internal message) Unable to prove that petrification did provide enough thread instances (tool internal message) Reason: Not analyzed. - UnprovableResult [Line: 862]: Unable to prove that petrification did provide enough thread instances (tool internal message) Unable to prove that petrification did provide enough thread instances (tool internal message) Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 7 procedures, 64 locations, 6 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 7.7s, OverallIterations: 7, TraceHistogramMax: 1, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 3.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 281 SdHoareTripleChecker+Valid, 1.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 276 mSDsluCounter, 76 SdHoareTripleChecker+Invalid, 0.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 72 mSDsCounter, 26 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 839 IncrementalHoareTripleChecker+Invalid, 865 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 26 mSolverCounterUnsat, 4 mSDtfsCounter, 839 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 41 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=176occurred in iteration=6, InterpolantAutomatonStates: 33, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 3.7s InterpolantComputationTime, 148 NumberOfCodeBlocks, 148 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 113 ConstructedInterpolants, 0 QuantifiedInterpolants, 1131 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 6 InterpolantComputations, 6 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2024-06-27 17:30:11,248 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 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE