./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-wmm/safe020_rmo.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version f8ab0bd5 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/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.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/pthread-wmm/safe020_rmo.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 d52a8576f41904f21a1a217cd81ed2d36ac8928d5a02d745a0c93a101e2535cf --- Real Ultimate output --- This is Ultimate 0.3.0-?-f8ab0bd-m [2025-03-13 21:34:51,878 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-13 21:34:51,938 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-13 21:34:51,944 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-13 21:34:51,944 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-13 21:34:51,963 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-13 21:34:51,963 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-13 21:34:51,963 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-13 21:34:51,964 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-13 21:34:51,964 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-13 21:34:51,964 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-13 21:34:51,964 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-13 21:34:51,964 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-13 21:34:51,964 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-13 21:34:51,964 INFO L153 SettingsManager]: * Use SBE=true [2025-03-13 21:34:51,965 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-13 21:34:51,965 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-13 21:34:51,966 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:34:51,966 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-13 21:34:51,966 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-13 21:34:51,967 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-13 21:34:51,967 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-13 21:34:51,967 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-13 21:34:51,967 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/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 -> d52a8576f41904f21a1a217cd81ed2d36ac8928d5a02d745a0c93a101e2535cf [2025-03-13 21:34:52,210 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-13 21:34:52,217 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-13 21:34:52,223 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-13 21:34:52,224 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-13 21:34:52,224 INFO L274 PluginConnector]: CDTParser initialized [2025-03-13 21:34:52,225 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-wmm/safe020_rmo.i [2025-03-13 21:34:53,514 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9be4a5e0a/9fc675c4756e4a0c8b2460ddcf28edb7/FLAG9a50d4a98 [2025-03-13 21:34:53,772 INFO L384 CDTParser]: Found 1 translation units. [2025-03-13 21:34:53,773 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-wmm/safe020_rmo.i [2025-03-13 21:34:53,786 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9be4a5e0a/9fc675c4756e4a0c8b2460ddcf28edb7/FLAG9a50d4a98 [2025-03-13 21:34:53,804 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9be4a5e0a/9fc675c4756e4a0c8b2460ddcf28edb7 [2025-03-13 21:34:53,806 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-13 21:34:53,808 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-13 21:34:53,810 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-13 21:34:53,810 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-13 21:34:53,814 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-13 21:34:53,819 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:34:53" (1/1) ... [2025-03-13 21:34:53,820 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2a4177c7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:53, skipping insertion in model container [2025-03-13 21:34:53,820 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:34:53" (1/1) ... [2025-03-13 21:34:53,858 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-13 21:34:53,988 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-wmm/safe020_rmo.i[988,1001] [2025-03-13 21:34:54,133 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:34:54,143 INFO L200 MainTranslator]: Completed pre-run [2025-03-13 21:34:54,150 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-wmm/safe020_rmo.i[988,1001] [2025-03-13 21:34:54,199 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:34:54,230 INFO L204 MainTranslator]: Completed translation [2025-03-13 21:34:54,231 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54 WrapperNode [2025-03-13 21:34:54,232 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-13 21:34:54,233 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-13 21:34:54,233 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-13 21:34:54,233 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-13 21:34:54,237 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,253 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,277 INFO L138 Inliner]: procedures = 175, calls = 63, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 124 [2025-03-13 21:34:54,277 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-13 21:34:54,278 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-13 21:34:54,278 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-13 21:34:54,278 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-13 21:34:54,284 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,284 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,288 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,305 INFO L175 MemorySlicer]: Split 23 memory accesses to 2 slices as follows [2, 21]. 91 percent of accesses are in the largest equivalence class. The 3 initializations are split as follows [2, 1]. The 8 writes are split as follows [0, 8]. [2025-03-13 21:34:54,305 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,305 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,317 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,318 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,319 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,320 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,322 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-13 21:34:54,323 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-13 21:34:54,323 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-13 21:34:54,323 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-13 21:34:54,323 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (1/1) ... [2025-03-13 21:34:54,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:34:54,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:34:54,361 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) [2025-03-13 21:34:54,368 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 [2025-03-13 21:34:54,386 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2025-03-13 21:34:54,387 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2025-03-13 21:34:54,387 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure P2 [2025-03-13 21:34:54,387 INFO L138 BoogieDeclarations]: Found implementation of procedure P2 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-03-13 21:34:54,387 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-13 21:34:54,387 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-13 21:34:54,388 WARN L225 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-03-13 21:34:54,519 INFO L256 CfgBuilder]: Building ICFG [2025-03-13 21:34:54,521 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-13 21:34:54,872 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-03-13 21:34:54,873 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-13 21:34:54,873 INFO L318 CfgBuilder]: Performing block encoding [2025-03-13 21:34:55,238 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-13 21:34:55,239 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:34:55 BoogieIcfgContainer [2025-03-13 21:34:55,239 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-13 21:34:55,240 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-13 21:34:55,240 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-13 21:34:55,244 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-13 21:34:55,245 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.03 09:34:53" (1/3) ... [2025-03-13 21:34:55,245 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@653db443 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:34:55, skipping insertion in model container [2025-03-13 21:34:55,245 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:34:54" (2/3) ... [2025-03-13 21:34:55,246 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@653db443 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:34:55, skipping insertion in model container [2025-03-13 21:34:55,246 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:34:55" (3/3) ... [2025-03-13 21:34:55,247 INFO L128 eAbstractionObserver]: Analyzing ICFG safe020_rmo.i [2025-03-13 21:34:55,258 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-13 21:34:55,262 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG safe020_rmo.i that has 4 procedures, 38 locations, 1 initial locations, 0 loop locations, and 1 error locations. [2025-03-13 21:34:55,262 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-03-13 21:34:55,319 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-03-13 21:34:55,345 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 47 places, 38 transitions, 88 flow [2025-03-13 21:34:55,372 INFO L124 PetriNetUnfolderBase]: 1/35 cut-off events. [2025-03-13 21:34:55,374 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-03-13 21:34:55,377 INFO L83 FinitePrefix]: Finished finitePrefix Result has 45 conditions, 35 events. 1/35 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 63 event pairs, 0 based on Foata normal form. 0/33 useless extension candidates. Maximal degree in co-relation 37. Up to 2 conditions per place. [2025-03-13 21:34:55,378 INFO L82 GeneralOperation]: Start removeDead. Operand has 47 places, 38 transitions, 88 flow [2025-03-13 21:34:55,380 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 42 places, 32 transitions, 73 flow [2025-03-13 21:34:55,387 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-13 21:34:55,399 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@591ad9e3, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-13 21:34:55,400 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-03-13 21:34:55,413 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-03-13 21:34:55,414 INFO L124 PetriNetUnfolderBase]: 0/31 cut-off events. [2025-03-13 21:34:55,414 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-03-13 21:34:55,414 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:34:55,415 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:34:55,415 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:34:55,419 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:34:55,420 INFO L85 PathProgramCache]: Analyzing trace with hash 217146706, now seen corresponding path program 1 times [2025-03-13 21:34:55,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:34:55,426 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1966966584] [2025-03-13 21:34:55,426 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:34:55,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:34:55,491 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-13 21:34:55,585 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-13 21:34:55,587 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:34:55,587 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:34:55,987 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-13 21:34:55,988 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:34:55,988 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1966966584] [2025-03-13 21:34:55,988 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1966966584] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:34:55,988 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:34:55,989 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-13 21:34:55,990 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1365699554] [2025-03-13 21:34:55,990 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:34:55,995 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-03-13 21:34:55,998 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:34:56,016 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-13 21:34:56,016 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-03-13 21:34:56,018 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 38 [2025-03-13 21:34:56,020 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 42 places, 32 transitions, 73 flow. Second operand has 4 states, 4 states have (on average 12.0) internal successors, (48), 4 states have internal predecessors, (48), 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) [2025-03-13 21:34:56,020 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:34:56,020 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 38 [2025-03-13 21:34:56,021 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:34:56,809 INFO L124 PetriNetUnfolderBase]: 3053/4827 cut-off events. [2025-03-13 21:34:56,810 INFO L125 PetriNetUnfolderBase]: For 36/36 co-relation queries the response was YES. [2025-03-13 21:34:56,821 INFO L83 FinitePrefix]: Finished finitePrefix Result has 9436 conditions, 4827 events. 3053/4827 cut-off events. For 36/36 co-relation queries the response was YES. Maximal size of possible extension queue 202. Compared 27371 event pairs, 504 based on Foata normal form. 210/5032 useless extension candidates. Maximal degree in co-relation 9425. Up to 2466 conditions per place. [2025-03-13 21:34:56,840 INFO L140 encePairwiseOnDemand]: 32/38 looper letters, 54 selfloop transitions, 5 changer transitions 1/65 dead transitions. [2025-03-13 21:34:56,840 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 65 transitions, 265 flow [2025-03-13 21:34:56,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-13 21:34:56,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-03-13 21:34:56,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 98 transitions. [2025-03-13 21:34:56,853 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6447368421052632 [2025-03-13 21:34:56,854 INFO L175 Difference]: Start difference. First operand has 42 places, 32 transitions, 73 flow. Second operand 4 states and 98 transitions. [2025-03-13 21:34:56,855 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 65 transitions, 265 flow [2025-03-13 21:34:56,859 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 42 places, 65 transitions, 260 flow, removed 0 selfloop flow, removed 3 redundant places. [2025-03-13 21:34:56,862 INFO L231 Difference]: Finished difference. Result has 44 places, 35 transitions, 104 flow [2025-03-13 21:34:56,865 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=70, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=32, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=27, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=104, PETRI_PLACES=44, PETRI_TRANSITIONS=35} [2025-03-13 21:34:56,869 INFO L279 CegarLoopForPetriNet]: 42 programPoint places, 2 predicate places. [2025-03-13 21:34:56,869 INFO L471 AbstractCegarLoop]: Abstraction has has 44 places, 35 transitions, 104 flow [2025-03-13 21:34:56,869 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 12.0) internal successors, (48), 4 states have internal predecessors, (48), 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) [2025-03-13 21:34:56,869 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:34:56,870 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:34:56,870 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-03-13 21:34:56,870 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:34:56,870 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:34:56,870 INFO L85 PathProgramCache]: Analyzing trace with hash 1608083506, now seen corresponding path program 1 times [2025-03-13 21:34:56,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:34:56,870 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1723642496] [2025-03-13 21:34:56,870 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:34:56,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:34:56,885 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-03-13 21:34:56,962 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-03-13 21:34:56,962 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:34:56,962 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:34:57,185 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-13 21:34:57,185 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:34:57,185 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1723642496] [2025-03-13 21:34:57,185 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1723642496] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:34:57,185 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:34:57,185 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-13 21:34:57,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1871366313] [2025-03-13 21:34:57,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:34:57,186 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:34:57,187 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:34:57,187 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:34:57,187 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:34:57,187 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 38 [2025-03-13 21:34:57,187 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 44 places, 35 transitions, 104 flow. Second operand has 5 states, 5 states have (on average 12.0) internal successors, (60), 5 states have internal predecessors, (60), 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) [2025-03-13 21:34:57,187 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:34:57,187 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 38 [2025-03-13 21:34:57,187 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:34:57,603 INFO L124 PetriNetUnfolderBase]: 1792/2848 cut-off events. [2025-03-13 21:34:57,603 INFO L125 PetriNetUnfolderBase]: For 614/614 co-relation queries the response was YES. [2025-03-13 21:34:57,607 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6551 conditions, 2848 events. 1792/2848 cut-off events. For 614/614 co-relation queries the response was YES. Maximal size of possible extension queue 94. Compared 14090 event pairs, 318 based on Foata normal form. 150/2993 useless extension candidates. Maximal degree in co-relation 6539. Up to 939 conditions per place. [2025-03-13 21:34:57,615 INFO L140 encePairwiseOnDemand]: 32/38 looper letters, 69 selfloop transitions, 8 changer transitions 1/83 dead transitions. [2025-03-13 21:34:57,616 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 83 transitions, 377 flow [2025-03-13 21:34:57,616 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-13 21:34:57,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-13 21:34:57,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 125 transitions. [2025-03-13 21:34:57,617 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6578947368421053 [2025-03-13 21:34:57,617 INFO L175 Difference]: Start difference. First operand has 44 places, 35 transitions, 104 flow. Second operand 5 states and 125 transitions. [2025-03-13 21:34:57,617 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 83 transitions, 377 flow [2025-03-13 21:34:57,620 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 46 places, 83 transitions, 367 flow, removed 1 selfloop flow, removed 2 redundant places. [2025-03-13 21:34:57,621 INFO L231 Difference]: Finished difference. Result has 48 places, 38 transitions, 144 flow [2025-03-13 21:34:57,621 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=96, PETRI_DIFFERENCE_MINUEND_PLACES=42, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=27, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=144, PETRI_PLACES=48, PETRI_TRANSITIONS=38} [2025-03-13 21:34:57,621 INFO L279 CegarLoopForPetriNet]: 42 programPoint places, 6 predicate places. [2025-03-13 21:34:57,622 INFO L471 AbstractCegarLoop]: Abstraction has has 48 places, 38 transitions, 144 flow [2025-03-13 21:34:57,622 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 12.0) internal successors, (60), 5 states have internal predecessors, (60), 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) [2025-03-13 21:34:57,622 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:34:57,622 INFO L206 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] [2025-03-13 21:34:57,622 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-03-13 21:34:57,623 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:34:57,623 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:34:57,623 INFO L85 PathProgramCache]: Analyzing trace with hash -370973212, now seen corresponding path program 1 times [2025-03-13 21:34:57,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:34:57,623 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [884790773] [2025-03-13 21:34:57,623 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:34:57,623 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:34:57,639 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-03-13 21:34:57,740 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-03-13 21:34:57,740 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:34:57,740 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:34:57,981 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-13 21:34:57,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:34:57,982 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [884790773] [2025-03-13 21:34:57,982 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [884790773] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:34:57,982 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:34:57,982 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:34:57,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [192408448] [2025-03-13 21:34:57,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:34:57,982 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-13 21:34:57,983 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:34:57,983 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-13 21:34:57,983 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2025-03-13 21:34:57,983 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 38 [2025-03-13 21:34:57,983 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 48 places, 38 transitions, 144 flow. Second operand has 6 states, 6 states have (on average 12.166666666666666) internal successors, (73), 6 states have internal predecessors, (73), 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) [2025-03-13 21:34:57,983 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:34:57,984 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 38 [2025-03-13 21:34:57,984 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:34:58,301 INFO L124 PetriNetUnfolderBase]: 1125/1751 cut-off events. [2025-03-13 21:34:58,301 INFO L125 PetriNetUnfolderBase]: For 1090/1090 co-relation queries the response was YES. [2025-03-13 21:34:58,305 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4427 conditions, 1751 events. 1125/1751 cut-off events. For 1090/1090 co-relation queries the response was YES. Maximal size of possible extension queue 71. Compared 7646 event pairs, 283 based on Foata normal form. 56/1802 useless extension candidates. Maximal degree in co-relation 4413. Up to 658 conditions per place. [2025-03-13 21:34:58,311 INFO L140 encePairwiseOnDemand]: 32/38 looper letters, 58 selfloop transitions, 11 changer transitions 1/75 dead transitions. [2025-03-13 21:34:58,312 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 75 transitions, 368 flow [2025-03-13 21:34:58,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-13 21:34:58,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-13 21:34:58,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 126 transitions. [2025-03-13 21:34:58,313 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5526315789473685 [2025-03-13 21:34:58,313 INFO L175 Difference]: Start difference. First operand has 48 places, 38 transitions, 144 flow. Second operand 6 states and 126 transitions. [2025-03-13 21:34:58,313 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 75 transitions, 368 flow [2025-03-13 21:34:58,326 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 49 places, 75 transitions, 343 flow, removed 4 selfloop flow, removed 4 redundant places. [2025-03-13 21:34:58,328 INFO L231 Difference]: Finished difference. Result has 51 places, 38 transitions, 158 flow [2025-03-13 21:34:58,328 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=122, PETRI_DIFFERENCE_MINUEND_PLACES=44, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=11, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=27, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=158, PETRI_PLACES=51, PETRI_TRANSITIONS=38} [2025-03-13 21:34:58,329 INFO L279 CegarLoopForPetriNet]: 42 programPoint places, 9 predicate places. [2025-03-13 21:34:58,329 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 38 transitions, 158 flow [2025-03-13 21:34:58,329 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 12.166666666666666) internal successors, (73), 6 states have internal predecessors, (73), 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) [2025-03-13 21:34:58,329 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:34:58,329 INFO L206 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] [2025-03-13 21:34:58,329 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-03-13 21:34:58,329 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:34:58,330 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:34:58,330 INFO L85 PathProgramCache]: Analyzing trace with hash 1672182237, now seen corresponding path program 1 times [2025-03-13 21:34:58,330 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:34:58,330 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1465559519] [2025-03-13 21:34:58,330 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:34:58,330 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:34:58,350 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 29 statements into 1 equivalence classes. [2025-03-13 21:34:58,489 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 29 of 29 statements. [2025-03-13 21:34:58,489 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:34:58,489 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:34:58,753 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-13 21:34:58,754 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:34:58,754 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1465559519] [2025-03-13 21:34:58,754 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1465559519] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:34:58,754 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:34:58,754 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:34:58,754 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [618618159] [2025-03-13 21:34:58,754 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:34:58,755 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:34:58,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:34:58,756 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:34:58,756 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:34:58,761 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 38 [2025-03-13 21:34:58,762 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 38 transitions, 158 flow. Second operand has 5 states, 5 states have (on average 13.0) internal successors, (65), 5 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:34:58,762 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:34:58,762 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 38 [2025-03-13 21:34:58,762 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:34:59,064 INFO L124 PetriNetUnfolderBase]: 1549/2399 cut-off events. [2025-03-13 21:34:59,065 INFO L125 PetriNetUnfolderBase]: For 1844/1844 co-relation queries the response was YES. [2025-03-13 21:34:59,069 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6184 conditions, 2399 events. 1549/2399 cut-off events. For 1844/1844 co-relation queries the response was YES. Maximal size of possible extension queue 105. Compared 11282 event pairs, 705 based on Foata normal form. 8/2402 useless extension candidates. Maximal degree in co-relation 6169. Up to 1439 conditions per place. [2025-03-13 21:34:59,074 INFO L140 encePairwiseOnDemand]: 33/38 looper letters, 42 selfloop transitions, 2 changer transitions 21/69 dead transitions. [2025-03-13 21:34:59,075 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 69 transitions, 422 flow [2025-03-13 21:34:59,075 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-13 21:34:59,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-13 21:34:59,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 94 transitions. [2025-03-13 21:34:59,077 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.49473684210526314 [2025-03-13 21:34:59,077 INFO L175 Difference]: Start difference. First operand has 51 places, 38 transitions, 158 flow. Second operand 5 states and 94 transitions. [2025-03-13 21:34:59,077 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 55 places, 69 transitions, 422 flow [2025-03-13 21:34:59,084 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 69 transitions, 313 flow, removed 20 selfloop flow, removed 8 redundant places. [2025-03-13 21:34:59,085 INFO L231 Difference]: Finished difference. Result has 50 places, 38 transitions, 114 flow [2025-03-13 21:34:59,086 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=102, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=114, PETRI_PLACES=50, PETRI_TRANSITIONS=38} [2025-03-13 21:34:59,087 INFO L279 CegarLoopForPetriNet]: 42 programPoint places, 8 predicate places. [2025-03-13 21:34:59,087 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 38 transitions, 114 flow [2025-03-13 21:34:59,087 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.0) internal successors, (65), 5 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:34:59,087 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:34:59,088 INFO L206 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] [2025-03-13 21:34:59,088 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2025-03-13 21:34:59,088 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:34:59,088 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:34:59,088 INFO L85 PathProgramCache]: Analyzing trace with hash 124101705, now seen corresponding path program 2 times [2025-03-13 21:34:59,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:34:59,088 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2011266353] [2025-03-13 21:34:59,089 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-13 21:34:59,089 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:34:59,106 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 29 statements into 1 equivalence classes. [2025-03-13 21:34:59,186 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 29 of 29 statements. [2025-03-13 21:34:59,187 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-13 21:34:59,187 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:35:01,599 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-13 21:35:01,600 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:35:01,600 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2011266353] [2025-03-13 21:35:01,600 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2011266353] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:35:01,600 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:35:01,600 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2025-03-13 21:35:01,600 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1251265261] [2025-03-13 21:35:01,600 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:35:01,600 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2025-03-13 21:35:01,601 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:35:01,601 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2025-03-13 21:35:01,601 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2025-03-13 21:35:01,612 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 38 [2025-03-13 21:35:01,612 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 38 transitions, 114 flow. Second operand has 11 states, 11 states have (on average 10.272727272727273) internal successors, (113), 11 states have internal predecessors, (113), 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) [2025-03-13 21:35:01,613 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:35:01,613 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 38 [2025-03-13 21:35:01,613 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:35:02,046 INFO L124 PetriNetUnfolderBase]: 925/1465 cut-off events. [2025-03-13 21:35:02,048 INFO L125 PetriNetUnfolderBase]: For 198/198 co-relation queries the response was YES. [2025-03-13 21:35:02,053 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3338 conditions, 1465 events. 925/1465 cut-off events. For 198/198 co-relation queries the response was YES. Maximal size of possible extension queue 64. Compared 6025 event pairs, 189 based on Foata normal form. 8/1472 useless extension candidates. Maximal degree in co-relation 3325. Up to 840 conditions per place. [2025-03-13 21:35:02,056 INFO L140 encePairwiseOnDemand]: 32/38 looper letters, 41 selfloop transitions, 2 changer transitions 34/81 dead transitions. [2025-03-13 21:35:02,057 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 81 transitions, 393 flow [2025-03-13 21:35:02,057 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-03-13 21:35:02,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2025-03-13 21:35:02,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 120 transitions. [2025-03-13 21:35:02,058 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.45112781954887216 [2025-03-13 21:35:02,058 INFO L175 Difference]: Start difference. First operand has 50 places, 38 transitions, 114 flow. Second operand 7 states and 120 transitions. [2025-03-13 21:35:02,059 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 81 transitions, 393 flow [2025-03-13 21:35:02,059 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 50 places, 81 transitions, 375 flow, removed 5 selfloop flow, removed 4 redundant places. [2025-03-13 21:35:02,062 INFO L231 Difference]: Finished difference. Result has 54 places, 38 transitions, 117 flow [2025-03-13 21:35:02,063 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=104, PETRI_DIFFERENCE_MINUEND_PLACES=44, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=117, PETRI_PLACES=54, PETRI_TRANSITIONS=38} [2025-03-13 21:35:02,063 INFO L279 CegarLoopForPetriNet]: 42 programPoint places, 12 predicate places. [2025-03-13 21:35:02,063 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 38 transitions, 117 flow [2025-03-13 21:35:02,063 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 10.272727272727273) internal successors, (113), 11 states have internal predecessors, (113), 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) [2025-03-13 21:35:02,064 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:35:02,064 INFO L206 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] [2025-03-13 21:35:02,064 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-03-13 21:35:02,064 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:35:02,065 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:35:02,065 INFO L85 PathProgramCache]: Analyzing trace with hash -234455915, now seen corresponding path program 3 times [2025-03-13 21:35:02,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:35:02,065 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1656338289] [2025-03-13 21:35:02,065 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-13 21:35:02,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:35:02,078 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 29 statements into 1 equivalence classes. [2025-03-13 21:35:02,136 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 29 of 29 statements. [2025-03-13 21:35:02,136 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-13 21:35:02,136 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-13 21:35:02,137 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-13 21:35:02,146 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 29 statements into 1 equivalence classes. [2025-03-13 21:35:02,242 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 29 of 29 statements. [2025-03-13 21:35:02,243 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:35:02,243 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-13 21:35:02,267 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-13 21:35:02,267 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-03-13 21:35:02,268 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (3 of 4 remaining) [2025-03-13 21:35:02,269 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (2 of 4 remaining) [2025-03-13 21:35:02,269 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (1 of 4 remaining) [2025-03-13 21:35:02,270 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr2INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 4 remaining) [2025-03-13 21:35:02,270 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-03-13 21:35:02,270 INFO L422 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1] [2025-03-13 21:35:02,355 INFO L241 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2025-03-13 21:35:02,356 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-03-13 21:35:02,360 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 13.03 09:35:02 BasicIcfg [2025-03-13 21:35:02,360 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-03-13 21:35:02,361 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-03-13 21:35:02,361 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-03-13 21:35:02,361 INFO L274 PluginConnector]: Witness Printer initialized [2025-03-13 21:35:02,363 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:34:55" (3/4) ... [2025-03-13 21:35:02,363 INFO L140 WitnessPrinter]: Generating witness for reachability counterexample [2025-03-13 21:35:02,459 INFO L127 tionWitnessGenerator]: Generated YAML witness of length 6. [2025-03-13 21:35:02,496 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-03-13 21:35:02,496 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.yml [2025-03-13 21:35:02,496 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-03-13 21:35:02,497 INFO L158 Benchmark]: Toolchain (without parser) took 8689.40ms. Allocated memory was 142.6MB in the beginning and 629.1MB in the end (delta: 486.5MB). Free memory was 110.1MB in the beginning and 544.3MB in the end (delta: -434.2MB). Peak memory consumption was 52.3MB. Max. memory is 16.1GB. [2025-03-13 21:35:02,497 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 201.3MB. Free memory is still 124.4MB. There was no memory consumed. Max. memory is 16.1GB. [2025-03-13 21:35:02,497 INFO L158 Benchmark]: CACSL2BoogieTranslator took 422.29ms. Allocated memory is still 142.6MB. Free memory was 110.1MB in the beginning and 85.7MB in the end (delta: 24.4MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-03-13 21:35:02,497 INFO L158 Benchmark]: Boogie Procedure Inliner took 44.48ms. Allocated memory is still 142.6MB. Free memory was 85.7MB in the beginning and 83.7MB in the end (delta: 1.9MB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-13 21:35:02,497 INFO L158 Benchmark]: Boogie Preprocessor took 44.41ms. Allocated memory is still 142.6MB. Free memory was 83.7MB in the beginning and 80.2MB in the end (delta: 3.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-13 21:35:02,497 INFO L158 Benchmark]: IcfgBuilder took 916.42ms. Allocated memory is still 142.6MB. Free memory was 80.2MB in the beginning and 96.1MB in the end (delta: -15.9MB). Peak memory consumption was 51.8MB. Max. memory is 16.1GB. [2025-03-13 21:35:02,498 INFO L158 Benchmark]: TraceAbstraction took 7120.18ms. Allocated memory was 142.6MB in the beginning and 629.1MB in the end (delta: 486.5MB). Free memory was 95.3MB in the beginning and 565.3MB in the end (delta: -470.0MB). Peak memory consumption was 299.0MB. Max. memory is 16.1GB. [2025-03-13 21:35:02,498 INFO L158 Benchmark]: Witness Printer took 135.20ms. Allocated memory is still 629.1MB. Free memory was 565.3MB in the beginning and 544.3MB in the end (delta: 21.0MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-03-13 21:35:02,499 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 201.3MB. Free memory is still 124.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 422.29ms. Allocated memory is still 142.6MB. Free memory was 110.1MB in the beginning and 85.7MB in the end (delta: 24.4MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 44.48ms. Allocated memory is still 142.6MB. Free memory was 85.7MB in the beginning and 83.7MB in the end (delta: 1.9MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 44.41ms. Allocated memory is still 142.6MB. Free memory was 83.7MB in the beginning and 80.2MB in the end (delta: 3.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * IcfgBuilder took 916.42ms. Allocated memory is still 142.6MB. Free memory was 80.2MB in the beginning and 96.1MB in the end (delta: -15.9MB). Peak memory consumption was 51.8MB. Max. memory is 16.1GB. * TraceAbstraction took 7120.18ms. Allocated memory was 142.6MB in the beginning and 629.1MB in the end (delta: 486.5MB). Free memory was 95.3MB in the beginning and 565.3MB in the end (delta: -470.0MB). Peak memory consumption was 299.0MB. Max. memory is 16.1GB. * Witness Printer took 135.20ms. Allocated memory is still 629.1MB. Free memory was 565.3MB in the beginning and 544.3MB in the end (delta: 21.0MB). Peak memory consumption was 25.2MB. 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; [L731] 0 _Bool main$tmp_guard0; [L732] 0 _Bool main$tmp_guard1; [L734] 0 int x = 0; [L734] 0 int x = 0; [L735] 0 _Bool x$flush_delayed; [L736] 0 int x$mem_tmp; [L737] 0 _Bool x$r_buff0_thd0; [L738] 0 _Bool x$r_buff0_thd1; [L739] 0 _Bool x$r_buff0_thd2; [L740] 0 _Bool x$r_buff0_thd3; [L741] 0 _Bool x$r_buff1_thd0; [L742] 0 _Bool x$r_buff1_thd1; [L743] 0 _Bool x$r_buff1_thd2; [L744] 0 _Bool x$r_buff1_thd3; [L745] 0 _Bool x$read_delayed; [L746] 0 int *x$read_delayed_var; [L747] 0 int x$w_buff0; [L748] 0 _Bool x$w_buff0_used; [L749] 0 int x$w_buff1; [L750] 0 _Bool x$w_buff1_used; [L752] 0 int y = 0; [L753] 0 _Bool weak$$choice0; [L754] 0 _Bool weak$$choice1; [L755] 0 _Bool weak$$choice2; [L849] 0 pthread_t t2269; [L850] FCALL, FORK 0 pthread_create(&t2269, ((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, main$tmp_guard0=0, main$tmp_guard1=0, t2269=-3, 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] [L851] 0 pthread_t t2270; [L852] FCALL, FORK 0 pthread_create(&t2270, ((void *)0), P1, ((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, main$tmp_guard0=0, main$tmp_guard1=0, t2269=-3, t2270=-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] [L853] 0 pthread_t t2271; [L854] FCALL, FORK 0 pthread_create(&t2271, ((void *)0), P2, ((void *)0)) 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=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, main$tmp_guard0=0, main$tmp_guard1=0, t2269=-3, t2270=-2, t2271=-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] [L806] 3 weak$$choice0 = __VERIFIER_nondet_bool() [L807] 3 weak$$choice2 = __VERIFIER_nondet_bool() [L808] 3 x$flush_delayed = weak$$choice2 [L809] EXPR 3 \read(x) [L809] 3 x$mem_tmp = x [L810] EXPR 3 !x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : x$w_buff1) [L810] EXPR 3 \read(x) [L810] EXPR 3 !x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : x$w_buff1) [L810] 3 x = !x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : x$w_buff1) [L811] 3 x$w_buff0 = weak$$choice2 ? x$w_buff0 : (!x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x$w_buff0 : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff0 : x$w_buff0)) [L812] 3 x$w_buff1 = weak$$choice2 ? x$w_buff1 : (!x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x$w_buff1 : (x$w_buff0_used && x$r_buff0_thd3 ? x$w_buff1 : x$w_buff1)) [L813] 3 x$w_buff0_used = weak$$choice2 ? x$w_buff0_used : (!x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x$w_buff0_used : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : x$w_buff0_used)) [L814] 3 x$w_buff1_used = weak$$choice2 ? x$w_buff1_used : (!x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x$w_buff1_used : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : (_Bool)0)) [L815] 3 x$r_buff0_thd3 = weak$$choice2 ? x$r_buff0_thd3 : (!x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x$r_buff0_thd3 : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : x$r_buff0_thd3)) [L816] 3 x$r_buff1_thd3 = weak$$choice2 ? x$r_buff1_thd3 : (!x$w_buff0_used || !x$r_buff0_thd3 && !x$w_buff1_used || !x$r_buff0_thd3 && !x$r_buff1_thd3 ? x$r_buff1_thd3 : (x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : (_Bool)0)) [L817] 3 __unbuffered_p2_EAX$read_delayed = (_Bool)1 [L818] 3 __unbuffered_p2_EAX$read_delayed_var = &x [L819] EXPR 3 \read(x) [L819] 3 __unbuffered_p2_EAX = x [L820] EXPR 3 x$flush_delayed ? x$mem_tmp : x [L820] EXPR 3 x$flush_delayed ? x$mem_tmp : x [L820] 3 x = x$flush_delayed ? x$mem_tmp : x [L821] 3 x$flush_delayed = (_Bool)0 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, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=1, 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] [L824] 3 y = 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, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=1, 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] [L827] 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) [L827] EXPR 3 x$w_buff1_used && x$r_buff1_thd3 ? x$w_buff1 : x [L827] EXPR 3 \read(x) [L827] EXPR 3 x$w_buff1_used && x$r_buff1_thd3 ? x$w_buff1 : x [L827] 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) [L827] 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) [L828] 3 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : x$w_buff0_used [L829] 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 [L830] 3 x$r_buff0_thd3 = x$w_buff0_used && x$r_buff0_thd3 ? (_Bool)0 : x$r_buff0_thd3 [L831] 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}, \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, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=1, 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] [L759] 1 y = 2 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, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice1=0, weak$$choice2=1, 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=2] [L764] 1 weak$$choice0 = __VERIFIER_nondet_bool() [L765] 1 weak$$choice2 = __VERIFIER_nondet_bool() [L766] 1 x$flush_delayed = weak$$choice2 [L767] EXPR 1 \read(x) [L767] 1 x$mem_tmp = x [L768] 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) [L768] EXPR 1 \read(x) [L768] 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) [L768] 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) [L769] 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)) [L770] 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)) [L771] 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)) [L772] 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)) [L773] 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)) [L774] 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)) [L775] EXPR 1 \read(x) [L775] 1 __unbuffered_p0_EAX = x [L776] EXPR 1 x$flush_delayed ? x$mem_tmp : x [L776] EXPR 1 x$flush_delayed ? x$mem_tmp : x [L776] 1 x = x$flush_delayed ? x$mem_tmp : x [L777] 1 x$flush_delayed = (_Bool)0 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, 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=1, 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=2] [L789] 2 x = 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, 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=1, 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=2] [L792] 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) [L792] EXPR 2 x$w_buff1_used && x$r_buff1_thd2 ? x$w_buff1 : x [L792] EXPR 2 \read(x) [L792] EXPR 2 x$w_buff1_used && x$r_buff1_thd2 ? x$w_buff1 : x [L792] 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) [L792] 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) [L793] 2 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$w_buff0_used [L794] 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 [L795] 2 x$r_buff0_thd2 = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$r_buff0_thd2 [L796] 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, 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=1, 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=2] [L799] 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, 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=1, 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=2] [L834] 3 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, \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, 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=1, 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=2] [L782] 1 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, \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, 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=1, 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=2] [L856] 0 main$tmp_guard0 = __unbuffered_cnt == 3 VAL [\old(arg)={0:0}, \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, arg={0:0}, arg={0:0}, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t2269=-3, t2270=-2, t2271=-1, weak$$choice0=1, weak$$choice1=0, weak$$choice2=1, 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=2] [L858] CALL 0 assume_abort_if_not(main$tmp_guard0) [L4] COND FALSE 0 !(!cond) [L858] RET 0 assume_abort_if_not(main$tmp_guard0) [L860] 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) [L860] EXPR 0 x$w_buff1_used && x$r_buff1_thd0 ? x$w_buff1 : x [L860] EXPR 0 \read(x) [L860] EXPR 0 x$w_buff1_used && x$r_buff1_thd0 ? x$w_buff1 : x [L860] 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) [L860] 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) [L861] 0 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$w_buff0_used [L862] 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 [L863] 0 x$r_buff0_thd0 = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$r_buff0_thd0 [L864] 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}, \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, arg={0:0}, arg={0:0}, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t2269=-3, t2270=-2, t2271=-1, weak$$choice0=1, weak$$choice1=0, weak$$choice2=1, 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=2] [L867] 0 weak$$choice1 = __VERIFIER_nondet_bool() [L868] EXPR 0 __unbuffered_p2_EAX$read_delayed ? (weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX) : __unbuffered_p2_EAX [L868] EXPR 0 weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX [L868] EXPR 0 \read(*__unbuffered_p2_EAX$read_delayed_var) [L868] EXPR 0 weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX [L868] EXPR 0 __unbuffered_p2_EAX$read_delayed ? (weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX) : __unbuffered_p2_EAX [L868] 0 __unbuffered_p2_EAX = __unbuffered_p2_EAX$read_delayed ? (weak$$choice1 ? *__unbuffered_p2_EAX$read_delayed_var : __unbuffered_p2_EAX) : __unbuffered_p2_EAX [L869] 0 main$tmp_guard1 = !(y == 2 && __unbuffered_p0_EAX == 0 && __unbuffered_p2_EAX == 1) VAL [\old(arg)={0:0}, \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, arg={0:0}, arg={0:0}, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t2269=-3, t2270=-2, t2271=-1, weak$$choice0=1, weak$$choice1=1, weak$$choice2=1, 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=2] [L871] CALL 0 __VERIFIER_assert(main$tmp_guard1) [L19] COND TRUE 0 !expression VAL [\old(arg)={0:0}, \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, arg={0: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=1, 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=2] [L19] 0 reach_error() VAL [\old(arg)={0:0}, \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, arg={0: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=1, 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=2] - UnprovableResult [Line: 854]: 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: 852]: 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: 850]: 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, 62 locations, 4 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: 6.9s, OverallIterations: 6, TraceHistogramMax: 1, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 2.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 341 SdHoareTripleChecker+Valid, 0.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 336 mSDsluCounter, 56 SdHoareTripleChecker+Invalid, 0.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 56 mSDsCounter, 24 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 702 IncrementalHoareTripleChecker+Invalid, 726 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 24 mSolverCounterUnsat, 0 mSDtfsCounter, 702 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 38 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=158occurred in iteration=3, InterpolantAutomatonStates: 27, 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.6s SatisfiabilityAnalysisTime, 3.5s InterpolantComputationTime, 142 NumberOfCodeBlocks, 142 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 108 ConstructedInterpolants, 0 QuantifiedInterpolants, 1063 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 5 InterpolantComputations, 5 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, ConComCheckerStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2025-03-13 21:35:02,515 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, 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