./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-wmm/mix022_tso.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/pthread-wmm/mix022_tso.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash c9c6cc212d45f96c9e6587b0ee0d7644c3fabb2c198a03ef385d6df2e7b46689 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 16:26:32,238 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 16:26:32,287 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 16:26:32,291 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 16:26:32,291 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 16:26:32,305 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 16:26:32,305 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 16:26:32,305 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 16:26:32,306 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 16:26:32,306 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 16:26:32,306 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 16:26:32,306 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 16:26:32,306 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 16:26:32,307 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:26:32,307 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:26:32,307 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 16:26:32,307 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 16:26:32,308 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 16:26:32,308 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 16:26:32,308 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 16:26:32,308 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 16:26:32,308 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 16:26:32,308 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 16:26:32,308 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> c9c6cc212d45f96c9e6587b0ee0d7644c3fabb2c198a03ef385d6df2e7b46689 [2025-01-09 16:26:32,502 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 16:26:32,507 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 16:26:32,508 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 16:26:32,509 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 16:26:32,509 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 16:26:32,509 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-wmm/mix022_tso.i [2025-01-09 16:26:33,816 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/a9a9bdbfa/5d286a2cb9584d658dac8ddb6dd89578/FLAG39f97f0b5 [2025-01-09 16:26:34,147 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 16:26:34,147 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/pthread-wmm/mix022_tso.i [2025-01-09 16:26:34,164 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/a9a9bdbfa/5d286a2cb9584d658dac8ddb6dd89578/FLAG39f97f0b5 [2025-01-09 16:26:34,179 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/a9a9bdbfa/5d286a2cb9584d658dac8ddb6dd89578 [2025-01-09 16:26:34,181 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 16:26:34,182 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 16:26:34,184 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 16:26:34,184 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 16:26:34,188 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 16:26:34,188 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,189 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@350ce49a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34, skipping insertion in model container [2025-01-09 16:26:34,189 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,219 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 16:26:34,338 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/pthread-wmm/mix022_tso.i[944,957] [2025-01-09 16:26:34,518 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:26:34,530 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 16:26:34,539 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/pthread-wmm/mix022_tso.i[944,957] [2025-01-09 16:26:34,588 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:26:34,613 INFO L204 MainTranslator]: Completed translation [2025-01-09 16:26:34,613 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34 WrapperNode [2025-01-09 16:26:34,613 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 16:26:34,618 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 16:26:34,618 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 16:26:34,618 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 16:26:34,626 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,643 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,676 INFO L138 Inliner]: procedures = 174, calls = 35, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 145 [2025-01-09 16:26:34,676 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 16:26:34,677 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 16:26:34,677 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 16:26:34,677 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 16:26:34,684 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,684 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,687 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,699 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 16:26:34,699 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,699 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,704 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,705 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,706 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,707 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,708 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,709 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 16:26:34,710 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 16:26:34,710 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 16:26:34,710 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 16:26:34,711 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (1/1) ... [2025-01-09 16:26:34,724 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:26:34,744 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:26:34,766 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 16:26:34,769 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 16:26:34,794 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-01-09 16:26:34,794 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 16:26:34,794 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2025-01-09 16:26:34,796 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2025-01-09 16:26:34,796 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2025-01-09 16:26:34,796 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2025-01-09 16:26:34,796 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 16:26:34,796 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-01-09 16:26:34,796 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 16:26:34,796 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 16:26:34,798 WARN L203 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-01-09 16:26:34,897 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 16:26:34,899 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 16:26:35,158 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-01-09 16:26:35,159 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 16:26:35,321 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 16:26:35,321 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-01-09 16:26:35,321 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:26:35 BoogieIcfgContainer [2025-01-09 16:26:35,321 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 16:26:35,323 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 16:26:35,323 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 16:26:35,327 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 16:26:35,328 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 04:26:34" (1/3) ... [2025-01-09 16:26:35,329 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4dad9a80 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:26:35, skipping insertion in model container [2025-01-09 16:26:35,329 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:26:34" (2/3) ... [2025-01-09 16:26:35,330 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4dad9a80 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:26:35, skipping insertion in model container [2025-01-09 16:26:35,330 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:26:35" (3/3) ... [2025-01-09 16:26:35,331 INFO L128 eAbstractionObserver]: Analyzing ICFG mix022_tso.i [2025-01-09 16:26:35,342 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 16:26:35,344 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG mix022_tso.i that has 3 procedures, 31 locations, 1 initial locations, 0 loop locations, and 2 error locations. [2025-01-09 16:26:35,345 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-01-09 16:26:35,421 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-01-09 16:26:35,448 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 37 places, 31 transitions, 70 flow [2025-01-09 16:26:35,474 INFO L124 PetriNetUnfolderBase]: 1/29 cut-off events. [2025-01-09 16:26:35,478 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 16:26:35,480 INFO L83 FinitePrefix]: Finished finitePrefix Result has 36 conditions, 29 events. 1/29 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 44 event pairs, 0 based on Foata normal form. 0/26 useless extension candidates. Maximal degree in co-relation 29. Up to 2 conditions per place. [2025-01-09 16:26:35,481 INFO L82 GeneralOperation]: Start removeDead. Operand has 37 places, 31 transitions, 70 flow [2025-01-09 16:26:35,483 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 35 places, 29 transitions, 64 flow [2025-01-09 16:26:35,489 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 16:26:35,501 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;@5c9ae62d, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 16:26:35,501 INFO L334 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2025-01-09 16:26:35,507 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-01-09 16:26:35,507 INFO L124 PetriNetUnfolderBase]: 0/9 cut-off events. [2025-01-09 16:26:35,507 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 16:26:35,507 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:26:35,508 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1] [2025-01-09 16:26:35,508 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting P1Err0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-01-09 16:26:35,515 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:26:35,516 INFO L85 PathProgramCache]: Analyzing trace with hash 1838594265, now seen corresponding path program 1 times [2025-01-09 16:26:35,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:26:35,522 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2097997250] [2025-01-09 16:26:35,522 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:26:35,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:26:35,588 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-01-09 16:26:35,607 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-01-09 16:26:35,607 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:26:35,607 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:26:35,896 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 16:26:35,896 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:26:35,896 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2097997250] [2025-01-09 16:26:35,897 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2097997250] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:26:35,897 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:26:35,897 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2025-01-09 16:26:35,898 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1201598368] [2025-01-09 16:26:35,898 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:26:35,904 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 16:26:35,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:26:35,923 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 16:26:35,923 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 16:26:35,925 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 31 [2025-01-09 16:26:35,928 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 29 transitions, 64 flow. Second operand has 3 states, 3 states have (on average 14.666666666666666) internal successors, (44), 3 states have internal predecessors, (44), 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-01-09 16:26:35,928 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:26:35,929 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 31 [2025-01-09 16:26:35,930 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:26:36,113 INFO L124 PetriNetUnfolderBase]: 144/317 cut-off events. [2025-01-09 16:26:36,115 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 16:26:36,116 INFO L83 FinitePrefix]: Finished finitePrefix Result has 585 conditions, 317 events. 144/317 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 30. Compared 1628 event pairs, 16 based on Foata normal form. 15/326 useless extension candidates. Maximal degree in co-relation 575. Up to 213 conditions per place. [2025-01-09 16:26:36,119 INFO L140 encePairwiseOnDemand]: 27/31 looper letters, 20 selfloop transitions, 2 changer transitions 2/35 dead transitions. [2025-01-09 16:26:36,120 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 36 places, 35 transitions, 124 flow [2025-01-09 16:26:36,122 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 16:26:36,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 16:26:36,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2025-01-09 16:26:36,131 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.7096774193548387 [2025-01-09 16:26:36,133 INFO L175 Difference]: Start difference. First operand has 35 places, 29 transitions, 64 flow. Second operand 3 states and 66 transitions. [2025-01-09 16:26:36,133 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 36 places, 35 transitions, 124 flow [2025-01-09 16:26:36,137 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 35 transitions, 122 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 16:26:36,139 INFO L231 Difference]: Finished difference. Result has 34 places, 26 transitions, 60 flow [2025-01-09 16:26:36,140 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=58, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=27, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=25, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=60, PETRI_PLACES=34, PETRI_TRANSITIONS=26} [2025-01-09 16:26:36,144 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, -1 predicate places. [2025-01-09 16:26:36,145 INFO L471 AbstractCegarLoop]: Abstraction has has 34 places, 26 transitions, 60 flow [2025-01-09 16:26:36,146 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 14.666666666666666) internal successors, (44), 3 states have internal predecessors, (44), 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-01-09 16:26:36,146 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:26:36,146 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:26:36,146 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-01-09 16:26:36,147 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-01-09 16:26:36,148 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:26:36,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1669036513, now seen corresponding path program 1 times [2025-01-09 16:26:36,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:26:36,148 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [917843251] [2025-01-09 16:26:36,148 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:26:36,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:26:36,163 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 12 statements into 1 equivalence classes. [2025-01-09 16:26:36,250 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 12 of 12 statements. [2025-01-09 16:26:36,250 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:26:36,250 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:26:36,426 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 16:26:36,428 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:26:36,428 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [917843251] [2025-01-09 16:26:36,428 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [917843251] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:26:36,428 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:26:36,428 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-09 16:26:36,428 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [678621106] [2025-01-09 16:26:36,428 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:26:36,429 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-09 16:26:36,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:26:36,430 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-09 16:26:36,430 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-09 16:26:36,438 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 31 [2025-01-09 16:26:36,438 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 34 places, 26 transitions, 60 flow. Second operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 4 states have internal predecessors, (50), 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-01-09 16:26:36,439 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:26:36,439 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 31 [2025-01-09 16:26:36,439 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:26:36,601 INFO L124 PetriNetUnfolderBase]: 191/411 cut-off events. [2025-01-09 16:26:36,601 INFO L125 PetriNetUnfolderBase]: For 22/22 co-relation queries the response was YES. [2025-01-09 16:26:36,603 INFO L83 FinitePrefix]: Finished finitePrefix Result has 799 conditions, 411 events. 191/411 cut-off events. For 22/22 co-relation queries the response was YES. Maximal size of possible extension queue 31. Compared 1982 event pairs, 31 based on Foata normal form. 24/417 useless extension candidates. Maximal degree in co-relation 789. Up to 191 conditions per place. [2025-01-09 16:26:36,606 INFO L140 encePairwiseOnDemand]: 26/31 looper letters, 31 selfloop transitions, 4 changer transitions 1/44 dead transitions. [2025-01-09 16:26:36,607 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 36 places, 44 transitions, 174 flow [2025-01-09 16:26:36,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-09 16:26:36,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-09 16:26:36,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2025-01-09 16:26:36,609 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6290322580645161 [2025-01-09 16:26:36,609 INFO L175 Difference]: Start difference. First operand has 34 places, 26 transitions, 60 flow. Second operand 4 states and 78 transitions. [2025-01-09 16:26:36,609 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 36 places, 44 transitions, 174 flow [2025-01-09 16:26:36,610 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 44 transitions, 166 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 16:26:36,611 INFO L231 Difference]: Finished difference. Result has 36 places, 28 transitions, 82 flow [2025-01-09 16:26:36,611 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=56, PETRI_DIFFERENCE_MINUEND_PLACES=31, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=26, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=22, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=82, PETRI_PLACES=36, PETRI_TRANSITIONS=28} [2025-01-09 16:26:36,613 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 1 predicate places. [2025-01-09 16:26:36,613 INFO L471 AbstractCegarLoop]: Abstraction has has 36 places, 28 transitions, 82 flow [2025-01-09 16:26:36,613 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 12.5) internal successors, (50), 4 states have internal predecessors, (50), 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-01-09 16:26:36,613 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:26:36,614 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:26:36,614 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 16:26:36,614 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-01-09 16:26:36,615 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:26:36,615 INFO L85 PathProgramCache]: Analyzing trace with hash -1611496895, now seen corresponding path program 1 times [2025-01-09 16:26:36,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:26:36,615 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1339110569] [2025-01-09 16:26:36,616 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:26:36,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:26:36,629 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-01-09 16:26:36,720 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-01-09 16:26:36,720 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:26:36,720 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:26:36,966 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 16:26:36,966 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:26:36,966 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1339110569] [2025-01-09 16:26:36,966 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1339110569] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:26:36,966 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:26:36,967 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-09 16:26:36,967 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1012808038] [2025-01-09 16:26:36,967 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:26:36,968 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:26:36,968 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:26:36,968 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:26:36,968 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:26:36,977 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 31 [2025-01-09 16:26:36,977 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 36 places, 28 transitions, 82 flow. Second operand has 5 states, 5 states have (on average 12.4) internal successors, (62), 5 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:26:36,977 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:26:36,977 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 31 [2025-01-09 16:26:36,977 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:26:37,085 INFO L124 PetriNetUnfolderBase]: 97/211 cut-off events. [2025-01-09 16:26:37,086 INFO L125 PetriNetUnfolderBase]: For 64/64 co-relation queries the response was YES. [2025-01-09 16:26:37,087 INFO L83 FinitePrefix]: Finished finitePrefix Result has 497 conditions, 211 events. 97/211 cut-off events. For 64/64 co-relation queries the response was YES. Maximal size of possible extension queue 16. Compared 736 event pairs, 21 based on Foata normal form. 16/221 useless extension candidates. Maximal degree in co-relation 485. Up to 86 conditions per place. [2025-01-09 16:26:37,088 INFO L140 encePairwiseOnDemand]: 26/31 looper letters, 26 selfloop transitions, 6 changer transitions 1/41 dead transitions. [2025-01-09 16:26:37,088 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 41 transitions, 179 flow [2025-01-09 16:26:37,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-09 16:26:37,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-01-09 16:26:37,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 85 transitions. [2025-01-09 16:26:37,091 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5483870967741935 [2025-01-09 16:26:37,091 INFO L175 Difference]: Start difference. First operand has 36 places, 28 transitions, 82 flow. Second operand 5 states and 85 transitions. [2025-01-09 16:26:37,091 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 41 transitions, 179 flow [2025-01-09 16:26:37,091 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 38 places, 41 transitions, 170 flow, removed 1 selfloop flow, removed 2 redundant places. [2025-01-09 16:26:37,092 INFO L231 Difference]: Finished difference. Result has 40 places, 28 transitions, 98 flow [2025-01-09 16:26:37,093 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=75, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=28, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=22, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=98, PETRI_PLACES=40, PETRI_TRANSITIONS=28} [2025-01-09 16:26:37,094 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 5 predicate places. [2025-01-09 16:26:37,094 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 28 transitions, 98 flow [2025-01-09 16:26:37,094 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 12.4) internal successors, (62), 5 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:26:37,094 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:26:37,094 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-01-09 16:26:37,094 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-01-09 16:26:37,095 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-01-09 16:26:37,095 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:26:37,095 INFO L85 PathProgramCache]: Analyzing trace with hash 309745009, now seen corresponding path program 1 times [2025-01-09 16:26:37,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:26:37,095 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2047764948] [2025-01-09 16:26:37,095 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:26:37,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:26:37,104 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:26:37,219 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:26:37,220 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:26:37,220 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:26:37,535 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 16:26:37,535 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:26:37,535 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2047764948] [2025-01-09 16:26:37,535 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2047764948] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:26:37,535 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:26:37,535 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-01-09 16:26:37,535 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1969983751] [2025-01-09 16:26:37,536 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:26:37,536 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-01-09 16:26:37,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:26:37,536 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-09 16:26:37,536 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2025-01-09 16:26:37,543 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 31 [2025-01-09 16:26:37,544 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 28 transitions, 98 flow. Second operand has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:26:37,544 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:26:37,544 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 31 [2025-01-09 16:26:37,544 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:26:37,705 INFO L124 PetriNetUnfolderBase]: 118/288 cut-off events. [2025-01-09 16:26:37,706 INFO L125 PetriNetUnfolderBase]: For 112/112 co-relation queries the response was YES. [2025-01-09 16:26:37,706 INFO L83 FinitePrefix]: Finished finitePrefix Result has 653 conditions, 288 events. 118/288 cut-off events. For 112/112 co-relation queries the response was YES. Maximal size of possible extension queue 20. Compared 1173 event pairs, 31 based on Foata normal form. 4/286 useless extension candidates. Maximal degree in co-relation 639. Up to 133 conditions per place. [2025-01-09 16:26:37,707 INFO L140 encePairwiseOnDemand]: 26/31 looper letters, 20 selfloop transitions, 1 changer transitions 18/49 dead transitions. [2025-01-09 16:26:37,707 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 49 transitions, 226 flow [2025-01-09 16:26:37,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 16:26:37,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 16:26:37,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2025-01-09 16:26:37,709 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5376344086021505 [2025-01-09 16:26:37,709 INFO L175 Difference]: Start difference. First operand has 40 places, 28 transitions, 98 flow. Second operand 6 states and 100 transitions. [2025-01-09 16:26:37,709 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 49 transitions, 226 flow [2025-01-09 16:26:37,710 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 49 transitions, 192 flow, removed 8 selfloop flow, removed 6 redundant places. [2025-01-09 16:26:37,710 INFO L231 Difference]: Finished difference. Result has 43 places, 28 transitions, 81 flow [2025-01-09 16:26:37,711 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=70, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=28, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=27, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=81, PETRI_PLACES=43, PETRI_TRANSITIONS=28} [2025-01-09 16:26:37,711 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 8 predicate places. [2025-01-09 16:26:37,711 INFO L471 AbstractCegarLoop]: Abstraction has has 43 places, 28 transitions, 81 flow [2025-01-09 16:26:37,711 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:26:37,711 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:26:37,712 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-01-09 16:26:37,712 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2025-01-09 16:26:37,712 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-01-09 16:26:37,712 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:26:37,712 INFO L85 PathProgramCache]: Analyzing trace with hash -102520847, now seen corresponding path program 2 times [2025-01-09 16:26:37,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:26:37,713 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1889011553] [2025-01-09 16:26:37,713 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-09 16:26:37,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:26:37,722 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:26:37,779 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:26:37,779 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-09 16:26:37,779 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:26:39,645 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 16:26:39,645 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:26:39,645 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1889011553] [2025-01-09 16:26:39,645 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1889011553] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:26:39,645 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:26:39,646 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2025-01-09 16:26:39,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [691717487] [2025-01-09 16:26:39,646 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:26:39,646 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2025-01-09 16:26:39,646 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:26:39,647 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2025-01-09 16:26:39,647 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2025-01-09 16:26:39,662 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 31 [2025-01-09 16:26:39,662 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 28 transitions, 81 flow. Second operand has 11 states, 11 states have (on average 12.363636363636363) internal successors, (136), 11 states have internal predecessors, (136), 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-01-09 16:26:39,663 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:26:39,663 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 31 [2025-01-09 16:26:39,663 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:26:40,317 INFO L124 PetriNetUnfolderBase]: 112/277 cut-off events. [2025-01-09 16:26:40,317 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-01-09 16:26:40,317 INFO L83 FinitePrefix]: Finished finitePrefix Result has 575 conditions, 277 events. 112/277 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 18. Compared 1092 event pairs, 20 based on Foata normal form. 4/274 useless extension candidates. Maximal degree in co-relation 561. Up to 75 conditions per place. [2025-01-09 16:26:40,318 INFO L140 encePairwiseOnDemand]: 23/31 looper letters, 18 selfloop transitions, 4 changer transitions 26/59 dead transitions. [2025-01-09 16:26:40,318 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 59 transitions, 245 flow [2025-01-09 16:26:40,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-09 16:26:40,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-01-09 16:26:40,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 159 transitions. [2025-01-09 16:26:40,321 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5129032258064516 [2025-01-09 16:26:40,321 INFO L175 Difference]: Start difference. First operand has 43 places, 28 transitions, 81 flow. Second operand 10 states and 159 transitions. [2025-01-09 16:26:40,321 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 59 transitions, 245 flow [2025-01-09 16:26:40,322 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 45 places, 59 transitions, 234 flow, removed 5 selfloop flow, removed 4 redundant places. [2025-01-09 16:26:40,323 INFO L231 Difference]: Finished difference. Result has 51 places, 28 transitions, 99 flow [2025-01-09 16:26:40,323 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=74, PETRI_DIFFERENCE_MINUEND_PLACES=36, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=28, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=24, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=99, PETRI_PLACES=51, PETRI_TRANSITIONS=28} [2025-01-09 16:26:40,325 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 16 predicate places. [2025-01-09 16:26:40,326 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 28 transitions, 99 flow [2025-01-09 16:26:40,326 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 12.363636363636363) internal successors, (136), 11 states have internal predecessors, (136), 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-01-09 16:26:40,326 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:26:40,326 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-01-09 16:26:40,326 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-01-09 16:26:40,326 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-01-09 16:26:40,327 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:26:40,327 INFO L85 PathProgramCache]: Analyzing trace with hash -1849221657, now seen corresponding path program 3 times [2025-01-09 16:26:40,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:26:40,327 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1760483115] [2025-01-09 16:26:40,328 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-09 16:26:40,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:26:40,338 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:26:40,416 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:26:40,417 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-09 16:26:40,417 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 16:26:40,417 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 16:26:40,421 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:26:40,487 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:26:40,487 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:26:40,487 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 16:26:40,509 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 16:26:40,510 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 16:26:40,511 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (4 of 5 remaining) [2025-01-09 16:26:40,513 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location P1Err0ASSERT_VIOLATIONERROR_FUNCTION (3 of 5 remaining) [2025-01-09 16:26:40,513 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (2 of 5 remaining) [2025-01-09 16:26:40,513 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (1 of 5 remaining) [2025-01-09 16:26:40,513 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location P1Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 5 remaining) [2025-01-09 16:26:40,514 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-01-09 16:26:40,515 INFO L422 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1] [2025-01-09 16:26:40,576 INFO L241 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2025-01-09 16:26:40,576 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 16:26:40,582 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 04:26:40 BasicIcfg [2025-01-09 16:26:40,583 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 16:26:40,584 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 16:26:40,584 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 16:26:40,584 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 16:26:40,585 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:26:35" (3/4) ... [2025-01-09 16:26:40,586 INFO L140 WitnessPrinter]: Generating witness for reachability counterexample [2025-01-09 16:26:40,668 INFO L127 tionWitnessGenerator]: Generated YAML witness of length 9. [2025-01-09 16:26:40,707 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-01-09 16:26:40,707 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.yml [2025-01-09 16:26:40,707 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 16:26:40,709 INFO L158 Benchmark]: Toolchain (without parser) took 6525.46ms. Allocated memory was 167.8MB in the beginning and 385.9MB in the end (delta: 218.1MB). Free memory was 131.7MB in the beginning and 244.1MB in the end (delta: -112.4MB). Peak memory consumption was 104.8MB. Max. memory is 16.1GB. [2025-01-09 16:26:40,709 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 201.3MB. Free memory is still 126.8MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 16:26:40,709 INFO L158 Benchmark]: CACSL2BoogieTranslator took 429.82ms. Allocated memory is still 167.8MB. Free memory was 131.7MB in the beginning and 108.0MB in the end (delta: 23.7MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-01-09 16:26:40,710 INFO L158 Benchmark]: Boogie Procedure Inliner took 58.59ms. Allocated memory is still 167.8MB. Free memory was 108.0MB in the beginning and 105.3MB in the end (delta: 2.7MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 16:26:40,711 INFO L158 Benchmark]: Boogie Preprocessor took 32.87ms. Allocated memory is still 167.8MB. Free memory was 105.3MB in the beginning and 101.9MB in the end (delta: 3.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 16:26:40,712 INFO L158 Benchmark]: RCFGBuilder took 611.41ms. Allocated memory is still 167.8MB. Free memory was 101.9MB in the beginning and 48.0MB in the end (delta: 53.9MB). Peak memory consumption was 50.3MB. Max. memory is 16.1GB. [2025-01-09 16:26:40,712 INFO L158 Benchmark]: TraceAbstraction took 5260.71ms. Allocated memory was 167.8MB in the beginning and 385.9MB in the end (delta: 218.1MB). Free memory was 47.5MB in the beginning and 255.5MB in the end (delta: -208.0MB). Peak memory consumption was 12.5MB. Max. memory is 16.1GB. [2025-01-09 16:26:40,712 INFO L158 Benchmark]: Witness Printer took 122.91ms. Allocated memory is still 385.9MB. Free memory was 255.5MB in the beginning and 244.1MB in the end (delta: 11.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 16:26:40,713 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.18ms. Allocated memory is still 201.3MB. Free memory is still 126.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 429.82ms. Allocated memory is still 167.8MB. Free memory was 131.7MB in the beginning and 108.0MB in the end (delta: 23.7MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 58.59ms. Allocated memory is still 167.8MB. Free memory was 108.0MB in the beginning and 105.3MB in the end (delta: 2.7MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 32.87ms. Allocated memory is still 167.8MB. Free memory was 105.3MB in the beginning and 101.9MB in the end (delta: 3.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * RCFGBuilder took 611.41ms. Allocated memory is still 167.8MB. Free memory was 101.9MB in the beginning and 48.0MB in the end (delta: 53.9MB). Peak memory consumption was 50.3MB. Max. memory is 16.1GB. * TraceAbstraction took 5260.71ms. Allocated memory was 167.8MB in the beginning and 385.9MB in the end (delta: 218.1MB). Free memory was 47.5MB in the beginning and 255.5MB in the end (delta: -208.0MB). Peak memory consumption was 12.5MB. Max. memory is 16.1GB. * Witness Printer took 122.91ms. Allocated memory is still 385.9MB. Free memory was 255.5MB in the beginning and 244.1MB in the end (delta: 11.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 18]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L708] 0 int __unbuffered_cnt = 0; [L710] 0 int __unbuffered_p1_EAX = 0; [L712] 0 int __unbuffered_p1_EBX = 0; [L713] 0 _Bool main$tmp_guard0; [L714] 0 _Bool main$tmp_guard1; [L716] 0 int x = 0; [L717] 0 _Bool x$flush_delayed; [L718] 0 int x$mem_tmp; [L719] 0 _Bool x$r_buff0_thd0; [L720] 0 _Bool x$r_buff0_thd1; [L721] 0 _Bool x$r_buff0_thd2; [L722] 0 _Bool x$r_buff1_thd0; [L723] 0 _Bool x$r_buff1_thd1; [L724] 0 _Bool x$r_buff1_thd2; [L725] 0 _Bool x$read_delayed; [L726] 0 int *x$read_delayed_var; [L727] 0 int x$w_buff0; [L728] 0 _Bool x$w_buff0_used; [L729] 0 int x$w_buff1; [L730] 0 _Bool x$w_buff1_used; [L732] 0 int y = 0; [L733] 0 _Bool weak$$choice0; [L734] 0 _Bool weak$$choice2; [L810] 0 pthread_t t597; [L811] FCALL, FORK 0 pthread_create(&t597, ((void *)0), P0, ((void *)0)) VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=0, __unbuffered_p1_EBX=0, main$tmp_guard0=0, main$tmp_guard1=0, t597=-1, weak$$choice0=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_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=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=0, y=0] [L812] 0 pthread_t t598; [L813] FCALL, FORK 0 pthread_create(&t598, ((void *)0), P1, ((void *)0)) VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=0, __unbuffered_p1_EBX=0, main$tmp_guard0=0, main$tmp_guard1=0, t597=-1, t598=0, weak$$choice0=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_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=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=0, y=0] [L758] 2 x$w_buff1 = x$w_buff0 [L759] 2 x$w_buff0 = 2 [L760] 2 x$w_buff1_used = x$w_buff0_used [L761] 2 x$w_buff0_used = (_Bool)1 [L762] CALL 2 __VERIFIER_assert(!(x$w_buff1_used && x$w_buff0_used)) [L18] COND FALSE 2 !(!expression) [L762] RET 2 __VERIFIER_assert(!(x$w_buff1_used && x$w_buff0_used)) [L763] 2 x$r_buff1_thd0 = x$r_buff0_thd0 [L764] 2 x$r_buff1_thd1 = x$r_buff0_thd1 [L765] 2 x$r_buff1_thd2 = x$r_buff0_thd2 [L766] 2 x$r_buff0_thd2 = (_Bool)1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=0, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=0, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=0] [L769] 2 weak$$choice0 = __VERIFIER_nondet_bool() [L770] 2 weak$$choice2 = __VERIFIER_nondet_bool() [L771] 2 x$flush_delayed = weak$$choice2 [L772] 2 x$mem_tmp = x [L773] 2 x = !x$w_buff0_used || !x$r_buff0_thd2 && !x$w_buff1_used || !x$r_buff0_thd2 && !x$r_buff1_thd2 ? x : (x$w_buff0_used && x$r_buff0_thd2 ? x$w_buff0 : x$w_buff1) [L774] 2 x$w_buff0 = weak$$choice2 ? x$w_buff0 : (!x$w_buff0_used || !x$r_buff0_thd2 && !x$w_buff1_used || !x$r_buff0_thd2 && !x$r_buff1_thd2 ? x$w_buff0 : (x$w_buff0_used && x$r_buff0_thd2 ? x$w_buff0 : x$w_buff0)) [L775] 2 x$w_buff1 = weak$$choice2 ? x$w_buff1 : (!x$w_buff0_used || !x$r_buff0_thd2 && !x$w_buff1_used || !x$r_buff0_thd2 && !x$r_buff1_thd2 ? x$w_buff1 : (x$w_buff0_used && x$r_buff0_thd2 ? x$w_buff1 : x$w_buff1)) [L776] 2 x$w_buff0_used = weak$$choice2 ? x$w_buff0_used : (!x$w_buff0_used || !x$r_buff0_thd2 && !x$w_buff1_used || !x$r_buff0_thd2 && !x$r_buff1_thd2 ? x$w_buff0_used : (x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$w_buff0_used)) [L777] 2 x$w_buff1_used = weak$$choice2 ? x$w_buff1_used : (!x$w_buff0_used || !x$r_buff0_thd2 && !x$w_buff1_used || !x$r_buff0_thd2 && !x$r_buff1_thd2 ? x$w_buff1_used : (x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : (_Bool)0)) [L778] 2 x$r_buff0_thd2 = weak$$choice2 ? x$r_buff0_thd2 : (!x$w_buff0_used || !x$r_buff0_thd2 && !x$w_buff1_used || !x$r_buff0_thd2 && !x$r_buff1_thd2 ? x$r_buff0_thd2 : (x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$r_buff0_thd2)) [L779] 2 x$r_buff1_thd2 = weak$$choice2 ? x$r_buff1_thd2 : (!x$w_buff0_used || !x$r_buff0_thd2 && !x$w_buff1_used || !x$r_buff0_thd2 && !x$r_buff1_thd2 ? x$r_buff1_thd2 : (x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : (_Bool)0)) [L780] 2 __unbuffered_p1_EAX = x [L781] 2 x = x$flush_delayed ? x$mem_tmp : x [L782] 2 x$flush_delayed = (_Bool)0 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=0] [L785] 2 __unbuffered_p1_EBX = y VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=0] [L738] 1 y = 1 VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=1] [L741] 1 x = 1 VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L744] 1 x = x$w_buff0_used && x$r_buff0_thd1 ? x$w_buff0 : (x$w_buff1_used && x$r_buff1_thd1 ? x$w_buff1 : x) [L745] 1 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : x$w_buff0_used [L746] 1 x$w_buff1_used = x$w_buff0_used && x$r_buff0_thd1 || x$w_buff1_used && x$r_buff1_thd1 ? (_Bool)0 : x$w_buff1_used [L747] 1 x$r_buff0_thd1 = x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : x$r_buff0_thd1 [L748] 1 x$r_buff1_thd1 = x$w_buff0_used && x$r_buff0_thd1 || x$w_buff1_used && x$r_buff1_thd1 ? (_Bool)0 : x$r_buff1_thd1 VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L751] 1 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, __unbuffered_cnt=1, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L788] 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) [L789] 2 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$w_buff0_used [L790] 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 [L791] 2 x$r_buff0_thd2 = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$r_buff0_thd2 [L792] 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}, __unbuffered_cnt=1, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=2, y=1] [L795] 2 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=2, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=2, y=1] [L815] 0 main$tmp_guard0 = __unbuffered_cnt == 2 VAL [\old(arg)={0:0}, __unbuffered_cnt=2, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t597=-1, t598=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=2, y=1] [L817] CALL 0 assume_abort_if_not(main$tmp_guard0) [L3] COND FALSE 0 !(!cond) [L817] RET 0 assume_abort_if_not(main$tmp_guard0) [L819] 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) [L820] 0 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$w_buff0_used [L821] 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 [L822] 0 x$r_buff0_thd0 = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$r_buff0_thd0 [L823] 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}, __unbuffered_cnt=2, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t597=-1, t598=0, weak$$choice0=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=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=2, y=1] [L826] 0 weak$$choice0 = __VERIFIER_nondet_bool() [L827] 0 weak$$choice2 = __VERIFIER_nondet_bool() [L828] 0 x$flush_delayed = weak$$choice2 [L829] 0 x$mem_tmp = x [L830] 0 x = !x$w_buff0_used || !x$r_buff0_thd0 && !x$w_buff1_used || !x$r_buff0_thd0 && !x$r_buff1_thd0 ? x : (x$w_buff0_used && x$r_buff0_thd0 ? x$w_buff0 : x$w_buff1) [L831] 0 x$w_buff0 = weak$$choice2 ? x$w_buff0 : (!x$w_buff0_used || !x$r_buff0_thd0 && !x$w_buff1_used || !x$r_buff0_thd0 && !x$r_buff1_thd0 ? x$w_buff0 : (x$w_buff0_used && x$r_buff0_thd0 ? x$w_buff0 : x$w_buff0)) [L832] 0 x$w_buff1 = weak$$choice2 ? x$w_buff1 : (!x$w_buff0_used || !x$r_buff0_thd0 && !x$w_buff1_used || !x$r_buff0_thd0 && !x$r_buff1_thd0 ? x$w_buff1 : (x$w_buff0_used && x$r_buff0_thd0 ? x$w_buff1 : x$w_buff1)) [L833] 0 x$w_buff0_used = weak$$choice2 ? x$w_buff0_used : (!x$w_buff0_used || !x$r_buff0_thd0 && !x$w_buff1_used || !x$r_buff0_thd0 && !x$r_buff1_thd0 ? x$w_buff0_used : (x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$w_buff0_used)) [L834] 0 x$w_buff1_used = weak$$choice2 ? x$w_buff1_used : (!x$w_buff0_used || !x$r_buff0_thd0 && !x$w_buff1_used || !x$r_buff0_thd0 && !x$r_buff1_thd0 ? x$w_buff1_used : (x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : (_Bool)0)) [L835] 0 x$r_buff0_thd0 = weak$$choice2 ? x$r_buff0_thd0 : (!x$w_buff0_used || !x$r_buff0_thd0 && !x$w_buff1_used || !x$r_buff0_thd0 && !x$r_buff1_thd0 ? x$r_buff0_thd0 : (x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$r_buff0_thd0)) [L836] 0 x$r_buff1_thd0 = weak$$choice2 ? x$r_buff1_thd0 : (!x$w_buff0_used || !x$r_buff0_thd0 && !x$w_buff1_used || !x$r_buff0_thd0 && !x$r_buff1_thd0 ? x$r_buff1_thd0 : (x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : (_Bool)0)) [L837] 0 main$tmp_guard1 = !(x == 2 && __unbuffered_p1_EAX == 2 && __unbuffered_p1_EBX == 0) [L838] 0 x = x$flush_delayed ? x$mem_tmp : x [L839] 0 x$flush_delayed = (_Bool)0 VAL [\old(arg)={0:0}, __unbuffered_cnt=2, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t597=-1, t598=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=2, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=2, y=1] [L841] CALL 0 __VERIFIER_assert(main$tmp_guard1) [L18] COND TRUE 0 !expression VAL [\old(arg)={0:0}, \old(expression)=0, __unbuffered_cnt=2, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, expression=0, main$tmp_guard0=1, main$tmp_guard1=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=2, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=2, y=1] [L18] 0 reach_error() VAL [\old(arg)={0:0}, \old(expression)=0, __unbuffered_cnt=2, __unbuffered_p1_EAX=2, __unbuffered_p1_EBX=0, arg={0:0}, expression=0, main$tmp_guard0=1, main$tmp_guard1=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=2, x$r_buff0_thd0=0, x$r_buff0_thd1=0, x$r_buff0_thd2=1, x$r_buff1_thd0=0, x$r_buff1_thd1=0, x$r_buff1_thd2=0, x$read_delayed=0, x$read_delayed_var={0:0}, x$w_buff0=2, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=2, y=1] - UnprovableResult [Line: 18]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 811]: 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: 813]: 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 5 procedures, 49 locations, 5 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: 5.1s, OverallIterations: 6, TraceHistogramMax: 1, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 1.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 182 SdHoareTripleChecker+Valid, 0.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 169 mSDsluCounter, 94 SdHoareTripleChecker+Invalid, 0.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 88 mSDsCounter, 31 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 475 IncrementalHoareTripleChecker+Invalid, 506 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 31 mSolverCounterUnsat, 6 mSDtfsCounter, 475 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 36 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=99occurred in iteration=5, InterpolantAutomatonStates: 28, 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.5s SatisfiabilityAnalysisTime, 2.9s InterpolantComputationTime, 104 NumberOfCodeBlocks, 104 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 76 ConstructedInterpolants, 0 QuantifiedInterpolants, 854 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-01-09 16:26:40,732 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE