./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-wmm/rfi008.oepc.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/rfi008.oepc.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 e1d84228246cc640f111b0bf0907a0ec6838e3ee0e70770c8d77ae15dd23f4db --- Real Ultimate output --- This is Ultimate 0.3.0-?-f8ab0bd-m [2025-03-13 21:33:33,709 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-13 21:33:33,769 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-13 21:33:33,776 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-13 21:33:33,776 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-13 21:33:33,799 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-13 21:33:33,799 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-13 21:33:33,800 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-13 21:33:33,800 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-13 21:33:33,800 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-13 21:33:33,800 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-13 21:33:33,801 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-13 21:33:33,801 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-13 21:33:33,801 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-13 21:33:33,802 INFO L153 SettingsManager]: * Use SBE=true [2025-03-13 21:33:33,802 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-13 21:33:33,802 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-13 21:33:33,802 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-13 21:33:33,802 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-13 21:33:33,802 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-13 21:33:33,802 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-13 21:33:33,802 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-13 21:33:33,803 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-13 21:33:33,803 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:33:33,804 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-13 21:33:33,804 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-13 21:33:33,804 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-13 21:33:33,804 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-13 21:33:33,804 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-13 21:33:33,804 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-13 21:33:33,804 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-13 21:33:33,804 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-13 21:33:33,805 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-13 21:33:33,805 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-13 21:33:33,805 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 -> e1d84228246cc640f111b0bf0907a0ec6838e3ee0e70770c8d77ae15dd23f4db [2025-03-13 21:33:34,012 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-13 21:33:34,018 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-13 21:33:34,021 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-13 21:33:34,022 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-13 21:33:34,022 INFO L274 PluginConnector]: CDTParser initialized [2025-03-13 21:33:34,024 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-wmm/rfi008.oepc.i [2025-03-13 21:33:35,140 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a19e68f67/43175815a5804b7481b0c3cbda0c01df/FLAG349c3ee5e [2025-03-13 21:33:35,422 INFO L384 CDTParser]: Found 1 translation units. [2025-03-13 21:33:35,423 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-wmm/rfi008.oepc.i [2025-03-13 21:33:35,437 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a19e68f67/43175815a5804b7481b0c3cbda0c01df/FLAG349c3ee5e [2025-03-13 21:33:35,730 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a19e68f67/43175815a5804b7481b0c3cbda0c01df [2025-03-13 21:33:35,732 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-13 21:33:35,733 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-13 21:33:35,734 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-13 21:33:35,734 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-13 21:33:35,737 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-13 21:33:35,738 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:33:35" (1/1) ... [2025-03-13 21:33:35,738 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5da863f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:35, skipping insertion in model container [2025-03-13 21:33:35,738 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:33:35" (1/1) ... [2025-03-13 21:33:35,771 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-13 21:33:35,891 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/rfi008.oepc.i[988,1001] [2025-03-13 21:33:36,017 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:33:36,024 INFO L200 MainTranslator]: Completed pre-run [2025-03-13 21:33:36,031 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/rfi008.oepc.i[988,1001] [2025-03-13 21:33:36,069 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:33:36,097 INFO L204 MainTranslator]: Completed translation [2025-03-13 21:33:36,097 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36 WrapperNode [2025-03-13 21:33:36,098 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-13 21:33:36,099 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-13 21:33:36,099 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-13 21:33:36,099 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-13 21:33:36,103 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:33:36" (1/1) ... [2025-03-13 21:33:36,117 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:33:36" (1/1) ... [2025-03-13 21:33:36,136 INFO L138 Inliner]: procedures = 174, calls = 37, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 128 [2025-03-13 21:33:36,136 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-13 21:33:36,136 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-13 21:33:36,137 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-13 21:33:36,137 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-13 21:33:36,144 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,144 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,146 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,156 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-03-13 21:33:36,157 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,157 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,164 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,169 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,170 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,171 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,174 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-13 21:33:36,175 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-13 21:33:36,175 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-13 21:33:36,175 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-13 21:33:36,176 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (1/1) ... [2025-03-13 21:33:36,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:33:36,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:33:36,205 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:33:36,207 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:33:36,225 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-03-13 21:33:36,225 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-13 21:33:36,225 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2025-03-13 21:33:36,225 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2025-03-13 21:33:36,225 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2025-03-13 21:33:36,225 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2025-03-13 21:33:36,225 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-13 21:33:36,225 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-03-13 21:33:36,225 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-13 21:33:36,225 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-13 21:33:36,226 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:33:36,319 INFO L256 CfgBuilder]: Building ICFG [2025-03-13 21:33:36,321 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-13 21:33:36,610 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-03-13 21:33:36,610 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-13 21:33:36,611 INFO L318 CfgBuilder]: Performing block encoding [2025-03-13 21:33:36,845 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-13 21:33:36,845 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:33:36 BoogieIcfgContainer [2025-03-13 21:33:36,846 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-13 21:33:36,847 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-13 21:33:36,848 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-13 21:33:36,851 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-13 21:33:36,851 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.03 09:33:35" (1/3) ... [2025-03-13 21:33:36,851 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5305562d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:33:36, skipping insertion in model container [2025-03-13 21:33:36,851 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:33:36" (2/3) ... [2025-03-13 21:33:36,852 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5305562d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:33:36, skipping insertion in model container [2025-03-13 21:33:36,852 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:33:36" (3/3) ... [2025-03-13 21:33:36,853 INFO L128 eAbstractionObserver]: Analyzing ICFG rfi008.oepc.i [2025-03-13 21:33:36,863 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-13 21:33:36,865 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG rfi008.oepc.i that has 3 procedures, 32 locations, 1 initial locations, 0 loop locations, and 2 error locations. [2025-03-13 21:33:36,865 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-03-13 21:33:36,904 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-03-13 21:33:36,929 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 38 places, 32 transitions, 72 flow [2025-03-13 21:33:36,953 INFO L124 PetriNetUnfolderBase]: 1/30 cut-off events. [2025-03-13 21:33:36,955 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-03-13 21:33:36,958 INFO L83 FinitePrefix]: Finished finitePrefix Result has 37 conditions, 30 events. 1/30 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 45 event pairs, 0 based on Foata normal form. 0/27 useless extension candidates. Maximal degree in co-relation 30. Up to 2 conditions per place. [2025-03-13 21:33:36,959 INFO L82 GeneralOperation]: Start removeDead. Operand has 38 places, 32 transitions, 72 flow [2025-03-13 21:33:36,961 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 36 places, 30 transitions, 66 flow [2025-03-13 21:33:36,967 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-13 21:33:36,977 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;@4b541da9, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-13 21:33:36,979 INFO L334 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2025-03-13 21:33:36,985 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-03-13 21:33:36,985 INFO L124 PetriNetUnfolderBase]: 0/4 cut-off events. [2025-03-13 21:33:36,985 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-03-13 21:33:36,985 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:33:36,986 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1] [2025-03-13 21:33:36,986 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting P0Err0ASSERT_VIOLATIONERROR_FUNCTION === [P0Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-03-13 21:33:36,990 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:33:36,992 INFO L85 PathProgramCache]: Analyzing trace with hash 11019168, now seen corresponding path program 1 times [2025-03-13 21:33:36,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:33:36,997 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [717946805] [2025-03-13 21:33:36,998 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:33:36,999 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:33:37,056 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-13 21:33:37,079 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-13 21:33:37,081 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:33:37,081 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:33:37,389 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:33:37,390 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:33:37,391 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [717946805] [2025-03-13 21:33:37,391 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [717946805] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:33:37,392 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:33:37,392 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2025-03-13 21:33:37,393 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2007381185] [2025-03-13 21:33:37,393 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:33:37,398 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-13 21:33:37,401 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:33:37,418 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-13 21:33:37,418 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-13 21:33:37,419 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 32 [2025-03-13 21:33:37,422 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 36 places, 30 transitions, 66 flow. Second operand has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 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:33:37,422 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:33:37,422 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 32 [2025-03-13 21:33:37,422 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:33:37,716 INFO L124 PetriNetUnfolderBase]: 636/1063 cut-off events. [2025-03-13 21:33:37,717 INFO L125 PetriNetUnfolderBase]: For 6/6 co-relation queries the response was YES. [2025-03-13 21:33:37,720 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2126 conditions, 1063 events. 636/1063 cut-off events. For 6/6 co-relation queries the response was YES. Maximal size of possible extension queue 54. Compared 5101 event pairs, 42 based on Foata normal form. 48/1103 useless extension candidates. Maximal degree in co-relation 2116. Up to 943 conditions per place. [2025-03-13 21:33:37,727 INFO L140 encePairwiseOnDemand]: 28/32 looper letters, 34 selfloop transitions, 2 changer transitions 2/43 dead transitions. [2025-03-13 21:33:37,727 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 37 places, 43 transitions, 171 flow [2025-03-13 21:33:37,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-13 21:33:37,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-13 21:33:37,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2025-03-13 21:33:37,740 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6458333333333334 [2025-03-13 21:33:37,741 INFO L175 Difference]: Start difference. First operand has 36 places, 30 transitions, 66 flow. Second operand 3 states and 62 transitions. [2025-03-13 21:33:37,742 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 37 places, 43 transitions, 171 flow [2025-03-13 21:33:37,746 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 35 places, 43 transitions, 168 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-03-13 21:33:37,748 INFO L231 Difference]: Finished difference. Result has 35 places, 27 transitions, 62 flow [2025-03-13 21:33:37,750 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=32, PETRI_DIFFERENCE_MINUEND_FLOW=60, PETRI_DIFFERENCE_MINUEND_PLACES=33, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=28, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=26, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=62, PETRI_PLACES=35, PETRI_TRANSITIONS=27} [2025-03-13 21:33:37,753 INFO L279 CegarLoopForPetriNet]: 36 programPoint places, -1 predicate places. [2025-03-13 21:33:37,754 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 27 transitions, 62 flow [2025-03-13 21:33:37,754 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 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:33:37,754 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:33:37,754 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:33:37,754 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-03-13 21:33:37,755 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P0Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-03-13 21:33:37,755 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:33:37,755 INFO L85 PathProgramCache]: Analyzing trace with hash -1960061094, now seen corresponding path program 1 times [2025-03-13 21:33:37,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:33:37,756 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1710443713] [2025-03-13 21:33:37,756 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:33:37,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:33:37,767 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 12 statements into 1 equivalence classes. [2025-03-13 21:33:37,794 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 12 of 12 statements. [2025-03-13 21:33:37,794 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:33:37,794 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:33:37,969 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:33:37,969 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:33:37,969 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1710443713] [2025-03-13 21:33:37,969 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1710443713] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:33:37,969 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:33:37,970 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-13 21:33:37,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [692351109] [2025-03-13 21:33:37,970 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:33:37,970 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-03-13 21:33:37,970 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:33:37,971 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-13 21:33:37,971 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-03-13 21:33:37,971 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 32 [2025-03-13 21:33:37,971 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 27 transitions, 62 flow. Second operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 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:33:37,971 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:33:37,971 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 32 [2025-03-13 21:33:37,971 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:33:38,133 INFO L124 PetriNetUnfolderBase]: 362/719 cut-off events. [2025-03-13 21:33:38,133 INFO L125 PetriNetUnfolderBase]: For 33/33 co-relation queries the response was YES. [2025-03-13 21:33:38,135 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1416 conditions, 719 events. 362/719 cut-off events. For 33/33 co-relation queries the response was YES. Maximal size of possible extension queue 34. Compared 3302 event pairs, 110 based on Foata normal form. 49/743 useless extension candidates. Maximal degree in co-relation 1406. Up to 291 conditions per place. [2025-03-13 21:33:38,137 INFO L140 encePairwiseOnDemand]: 27/32 looper letters, 43 selfloop transitions, 4 changer transitions 1/53 dead transitions. [2025-03-13 21:33:38,137 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 37 places, 53 transitions, 216 flow [2025-03-13 21:33:38,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-13 21:33:38,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-03-13 21:33:38,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2025-03-13 21:33:38,138 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.609375 [2025-03-13 21:33:38,138 INFO L175 Difference]: Start difference. First operand has 35 places, 27 transitions, 62 flow. Second operand 4 states and 78 transitions. [2025-03-13 21:33:38,138 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 37 places, 53 transitions, 216 flow [2025-03-13 21:33:38,139 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 35 places, 53 transitions, 208 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-03-13 21:33:38,140 INFO L231 Difference]: Finished difference. Result has 37 places, 29 transitions, 84 flow [2025-03-13 21:33:38,140 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=32, 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=23, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=84, PETRI_PLACES=37, PETRI_TRANSITIONS=29} [2025-03-13 21:33:38,141 INFO L279 CegarLoopForPetriNet]: 36 programPoint places, 1 predicate places. [2025-03-13 21:33:38,141 INFO L471 AbstractCegarLoop]: Abstraction has has 37 places, 29 transitions, 84 flow [2025-03-13 21:33:38,141 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 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:33:38,141 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:33:38,141 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:33:38,141 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-03-13 21:33:38,141 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P0Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-03-13 21:33:38,142 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:33:38,142 INFO L85 PathProgramCache]: Analyzing trace with hash -105362182, now seen corresponding path program 1 times [2025-03-13 21:33:38,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:33:38,142 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1270816892] [2025-03-13 21:33:38,142 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:33:38,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:33:38,150 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-03-13 21:33:38,223 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-03-13 21:33:38,223 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:33:38,223 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:33:38,449 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:33:38,449 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:33:38,450 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1270816892] [2025-03-13 21:33:38,450 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1270816892] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:33:38,450 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:33:38,450 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-13 21:33:38,450 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [234021483] [2025-03-13 21:33:38,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:33:38,451 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:33:38,451 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:33:38,451 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:33:38,452 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:33:38,452 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 32 [2025-03-13 21:33:38,452 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 37 places, 29 transitions, 84 flow. Second operand has 5 states, 5 states have (on average 10.0) internal successors, (50), 5 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-03-13 21:33:38,453 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:33:38,453 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 32 [2025-03-13 21:33:38,453 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:33:38,603 INFO L124 PetriNetUnfolderBase]: 182/354 cut-off events. [2025-03-13 21:33:38,605 INFO L125 PetriNetUnfolderBase]: For 60/60 co-relation queries the response was YES. [2025-03-13 21:33:38,609 INFO L83 FinitePrefix]: Finished finitePrefix Result has 827 conditions, 354 events. 182/354 cut-off events. For 60/60 co-relation queries the response was YES. Maximal size of possible extension queue 18. Compared 1198 event pairs, 74 based on Foata normal form. 24/373 useless extension candidates. Maximal degree in co-relation 815. Up to 146 conditions per place. [2025-03-13 21:33:38,611 INFO L140 encePairwiseOnDemand]: 27/32 looper letters, 34 selfloop transitions, 6 changer transitions 1/46 dead transitions. [2025-03-13 21:33:38,611 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 41 places, 46 transitions, 205 flow [2025-03-13 21:33:38,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-13 21:33:38,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-13 21:33:38,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2025-03-13 21:33:38,612 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4875 [2025-03-13 21:33:38,613 INFO L175 Difference]: Start difference. First operand has 37 places, 29 transitions, 84 flow. Second operand 5 states and 78 transitions. [2025-03-13 21:33:38,613 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 41 places, 46 transitions, 205 flow [2025-03-13 21:33:38,614 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 46 transitions, 196 flow, removed 1 selfloop flow, removed 2 redundant places. [2025-03-13 21:33:38,616 INFO L231 Difference]: Finished difference. Result has 41 places, 29 transitions, 100 flow [2025-03-13 21:33:38,616 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=32, PETRI_DIFFERENCE_MINUEND_FLOW=77, PETRI_DIFFERENCE_MINUEND_PLACES=35, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=29, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=23, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=100, PETRI_PLACES=41, PETRI_TRANSITIONS=29} [2025-03-13 21:33:38,617 INFO L279 CegarLoopForPetriNet]: 36 programPoint places, 5 predicate places. [2025-03-13 21:33:38,617 INFO L471 AbstractCegarLoop]: Abstraction has has 41 places, 29 transitions, 100 flow [2025-03-13 21:33:38,618 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 10.0) internal successors, (50), 5 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-03-13 21:33:38,618 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:33:38,618 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] [2025-03-13 21:33:38,618 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-03-13 21:33:38,618 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P0Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-03-13 21:33:38,619 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:33:38,619 INFO L85 PathProgramCache]: Analyzing trace with hash -399679143, now seen corresponding path program 1 times [2025-03-13 21:33:38,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:33:38,619 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257556564] [2025-03-13 21:33:38,619 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:33:38,620 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:33:38,633 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-13 21:33:38,746 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-13 21:33:38,746 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:33:38,746 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:33:39,333 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:33:39,334 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:33:39,334 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257556564] [2025-03-13 21:33:39,334 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1257556564] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:33:39,334 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:33:39,334 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2025-03-13 21:33:39,334 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [799224648] [2025-03-13 21:33:39,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:33:39,334 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2025-03-13 21:33:39,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:33:39,335 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2025-03-13 21:33:39,335 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2025-03-13 21:33:39,344 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 6 out of 32 [2025-03-13 21:33:39,345 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 41 places, 29 transitions, 100 flow. Second operand has 10 states, 10 states have (on average 8.1) internal successors, (81), 10 states have internal predecessors, (81), 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:33:39,345 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:33:39,345 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 6 of 32 [2025-03-13 21:33:39,345 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:33:39,768 INFO L124 PetriNetUnfolderBase]: 234/457 cut-off events. [2025-03-13 21:33:39,768 INFO L125 PetriNetUnfolderBase]: For 214/214 co-relation queries the response was YES. [2025-03-13 21:33:39,769 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1114 conditions, 457 events. 234/457 cut-off events. For 214/214 co-relation queries the response was YES. Maximal size of possible extension queue 22. Compared 1668 event pairs, 18 based on Foata normal form. 4/460 useless extension candidates. Maximal degree in co-relation 1100. Up to 224 conditions per place. [2025-03-13 21:33:39,770 INFO L140 encePairwiseOnDemand]: 22/32 looper letters, 31 selfloop transitions, 4 changer transitions 43/82 dead transitions. [2025-03-13 21:33:39,770 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 82 transitions, 406 flow [2025-03-13 21:33:39,771 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2025-03-13 21:33:39,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2025-03-13 21:33:39,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 159 transitions. [2025-03-13 21:33:39,772 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.3549107142857143 [2025-03-13 21:33:39,772 INFO L175 Difference]: Start difference. First operand has 41 places, 29 transitions, 100 flow. Second operand 14 states and 159 transitions. [2025-03-13 21:33:39,772 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 82 transitions, 406 flow [2025-03-13 21:33:39,774 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 82 transitions, 349 flow, removed 10 selfloop flow, removed 6 redundant places. [2025-03-13 21:33:39,776 INFO L231 Difference]: Finished difference. Result has 58 places, 29 transitions, 101 flow [2025-03-13 21:33:39,777 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=32, PETRI_DIFFERENCE_MINUEND_FLOW=72, PETRI_DIFFERENCE_MINUEND_PLACES=35, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=29, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=25, PETRI_DIFFERENCE_SUBTRAHEND_STATES=14, PETRI_FLOW=101, PETRI_PLACES=58, PETRI_TRANSITIONS=29} [2025-03-13 21:33:39,777 INFO L279 CegarLoopForPetriNet]: 36 programPoint places, 22 predicate places. [2025-03-13 21:33:39,778 INFO L471 AbstractCegarLoop]: Abstraction has has 58 places, 29 transitions, 101 flow [2025-03-13 21:33:39,778 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 8.1) internal successors, (81), 10 states have internal predecessors, (81), 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:33:39,778 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:33:39,778 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] [2025-03-13 21:33:39,778 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2025-03-13 21:33:39,778 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P0Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-03-13 21:33:39,779 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:33:39,779 INFO L85 PathProgramCache]: Analyzing trace with hash -1233292719, now seen corresponding path program 2 times [2025-03-13 21:33:39,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:33:39,779 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [125401201] [2025-03-13 21:33:39,779 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-13 21:33:39,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:33:39,790 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 24 statements into 1 equivalence classes. [2025-03-13 21:33:39,888 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-13 21:33:39,888 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-13 21:33:39,888 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:33:41,157 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:33:41,157 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:33:41,157 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [125401201] [2025-03-13 21:33:41,157 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [125401201] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:33:41,157 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:33:41,157 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2025-03-13 21:33:41,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [822082229] [2025-03-13 21:33:41,158 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:33:41,158 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2025-03-13 21:33:41,158 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:33:41,158 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2025-03-13 21:33:41,159 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2025-03-13 21:33:41,166 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 6 out of 32 [2025-03-13 21:33:41,166 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 58 places, 29 transitions, 101 flow. Second operand has 9 states, 9 states have (on average 8.333333333333334) internal successors, (75), 9 states have internal predecessors, (75), 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:33:41,166 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:33:41,167 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 6 of 32 [2025-03-13 21:33:41,167 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:33:41,500 INFO L124 PetriNetUnfolderBase]: 150/321 cut-off events. [2025-03-13 21:33:41,501 INFO L125 PetriNetUnfolderBase]: For 136/136 co-relation queries the response was YES. [2025-03-13 21:33:41,502 INFO L83 FinitePrefix]: Finished finitePrefix Result has 801 conditions, 321 events. 150/321 cut-off events. For 136/136 co-relation queries the response was YES. Maximal size of possible extension queue 15. Compared 1103 event pairs, 16 based on Foata normal form. 4/324 useless extension candidates. Maximal degree in co-relation 780. Up to 121 conditions per place. [2025-03-13 21:33:41,503 INFO L140 encePairwiseOnDemand]: 23/32 looper letters, 32 selfloop transitions, 5 changer transitions 24/65 dead transitions. [2025-03-13 21:33:41,503 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 65 transitions, 331 flow [2025-03-13 21:33:41,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-03-13 21:33:41,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-03-13 21:33:41,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 118 transitions. [2025-03-13 21:33:41,504 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.36875 [2025-03-13 21:33:41,505 INFO L175 Difference]: Start difference. First operand has 58 places, 29 transitions, 101 flow. Second operand 10 states and 118 transitions. [2025-03-13 21:33:41,505 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 65 transitions, 331 flow [2025-03-13 21:33:41,508 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 65 transitions, 293 flow, removed 17 selfloop flow, removed 11 redundant places. [2025-03-13 21:33:41,508 INFO L231 Difference]: Finished difference. Result has 51 places, 29 transitions, 99 flow [2025-03-13 21:33:41,508 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=32, PETRI_DIFFERENCE_MINUEND_FLOW=79, PETRI_DIFFERENCE_MINUEND_PLACES=38, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=29, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=24, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=99, PETRI_PLACES=51, PETRI_TRANSITIONS=29} [2025-03-13 21:33:41,509 INFO L279 CegarLoopForPetriNet]: 36 programPoint places, 15 predicate places. [2025-03-13 21:33:41,509 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 29 transitions, 99 flow [2025-03-13 21:33:41,510 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 8.333333333333334) internal successors, (75), 9 states have internal predecessors, (75), 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:33:41,510 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:33:41,511 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] [2025-03-13 21:33:41,511 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-03-13 21:33:41,511 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P0Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-03-13 21:33:41,511 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:33:41,511 INFO L85 PathProgramCache]: Analyzing trace with hash 1623089557, now seen corresponding path program 3 times [2025-03-13 21:33:41,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:33:41,511 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1732842024] [2025-03-13 21:33:41,511 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-13 21:33:41,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:33:41,523 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 24 statements into 1 equivalence classes. [2025-03-13 21:33:41,606 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-13 21:33:41,607 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-13 21:33:41,607 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-13 21:33:41,607 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-13 21:33:41,611 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-13 21:33:41,698 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-13 21:33:41,698 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:33:41,698 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-13 21:33:41,716 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-13 21:33:41,716 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-03-13 21:33:41,717 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (4 of 5 remaining) [2025-03-13 21:33:41,718 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location P0Err0ASSERT_VIOLATIONERROR_FUNCTION (3 of 5 remaining) [2025-03-13 21:33:41,718 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (2 of 5 remaining) [2025-03-13 21:33:41,718 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (1 of 5 remaining) [2025-03-13 21:33:41,718 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location P0Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 5 remaining) [2025-03-13 21:33:41,718 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-03-13 21:33:41,719 INFO L422 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1] [2025-03-13 21:33:41,771 INFO L241 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2025-03-13 21:33:41,772 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-03-13 21:33:41,779 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 13.03 09:33:41 BasicIcfg [2025-03-13 21:33:41,779 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-03-13 21:33:41,780 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-03-13 21:33:41,780 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-03-13 21:33:41,781 INFO L274 PluginConnector]: Witness Printer initialized [2025-03-13 21:33:41,781 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:33:36" (3/4) ... [2025-03-13 21:33:41,782 INFO L140 WitnessPrinter]: Generating witness for reachability counterexample [2025-03-13 21:33:41,861 INFO L127 tionWitnessGenerator]: Generated YAML witness of length 9. [2025-03-13 21:33:41,901 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-03-13 21:33:41,901 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.yml [2025-03-13 21:33:41,901 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-03-13 21:33:41,903 INFO L158 Benchmark]: Toolchain (without parser) took 6168.51ms. Allocated memory was 167.8MB in the beginning and 335.5MB in the end (delta: 167.8MB). Free memory was 131.0MB in the beginning and 202.3MB in the end (delta: -71.3MB). Peak memory consumption was 96.7MB. Max. memory is 16.1GB. [2025-03-13 21:33:41,903 INFO L158 Benchmark]: CDTParser took 0.24ms. Allocated memory is still 201.3MB. Free memory is still 125.4MB. There was no memory consumed. Max. memory is 16.1GB. [2025-03-13 21:33:41,903 INFO L158 Benchmark]: CACSL2BoogieTranslator took 364.19ms. Allocated memory is still 167.8MB. Free memory was 131.0MB in the beginning and 106.8MB in the end (delta: 24.1MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-03-13 21:33:41,904 INFO L158 Benchmark]: Boogie Procedure Inliner took 37.49ms. Allocated memory is still 167.8MB. Free memory was 106.8MB in the beginning and 104.6MB in the end (delta: 2.3MB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-13 21:33:41,904 INFO L158 Benchmark]: Boogie Preprocessor took 37.89ms. Allocated memory is still 167.8MB. Free memory was 104.6MB in the beginning and 101.2MB in the end (delta: 3.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-13 21:33:41,905 INFO L158 Benchmark]: IcfgBuilder took 671.20ms. Allocated memory is still 167.8MB. Free memory was 101.2MB in the beginning and 109.6MB in the end (delta: -8.3MB). Peak memory consumption was 65.2MB. Max. memory is 16.1GB. [2025-03-13 21:33:41,905 INFO L158 Benchmark]: TraceAbstraction took 4932.07ms. Allocated memory was 167.8MB in the beginning and 335.5MB in the end (delta: 167.8MB). Free memory was 109.6MB in the beginning and 216.0MB in the end (delta: -106.5MB). Peak memory consumption was 56.7MB. Max. memory is 16.1GB. [2025-03-13 21:33:41,905 INFO L158 Benchmark]: Witness Printer took 120.86ms. Allocated memory is still 335.5MB. Free memory was 216.0MB in the beginning and 202.3MB in the end (delta: 13.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-03-13 21:33:41,906 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.24ms. Allocated memory is still 201.3MB. Free memory is still 125.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 364.19ms. Allocated memory is still 167.8MB. Free memory was 131.0MB in the beginning and 106.8MB in the end (delta: 24.1MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 37.49ms. Allocated memory is still 167.8MB. Free memory was 106.8MB in the beginning and 104.6MB in the end (delta: 2.3MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 37.89ms. Allocated memory is still 167.8MB. Free memory was 104.6MB in the beginning and 101.2MB in the end (delta: 3.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * IcfgBuilder took 671.20ms. Allocated memory is still 167.8MB. Free memory was 101.2MB in the beginning and 109.6MB in the end (delta: -8.3MB). Peak memory consumption was 65.2MB. Max. memory is 16.1GB. * TraceAbstraction took 4932.07ms. Allocated memory was 167.8MB in the beginning and 335.5MB in the end (delta: 167.8MB). Free memory was 109.6MB in the beginning and 216.0MB in the end (delta: -106.5MB). Peak memory consumption was 56.7MB. Max. memory is 16.1GB. * Witness Printer took 120.86ms. Allocated memory is still 335.5MB. Free memory was 216.0MB in the beginning and 202.3MB in the end (delta: 13.7MB). Peak memory consumption was 16.8MB. 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: [L709] 0 int __unbuffered_cnt = 0; [L711] 0 int __unbuffered_p0_EAX = 0; [L713] 0 int __unbuffered_p0_EBX = 0; [L715] 0 int __unbuffered_p1_EAX = 0; [L717] 0 int __unbuffered_p1_EBX = 0; [L718] 0 _Bool main$tmp_guard0; [L719] 0 _Bool main$tmp_guard1; [L721] 0 int x = 0; [L722] 0 _Bool x$flush_delayed; [L723] 0 int x$mem_tmp; [L724] 0 _Bool x$r_buff0_thd0; [L725] 0 _Bool x$r_buff0_thd1; [L726] 0 _Bool x$r_buff0_thd2; [L727] 0 _Bool x$r_buff1_thd0; [L728] 0 _Bool x$r_buff1_thd1; [L729] 0 _Bool x$r_buff1_thd2; [L730] 0 _Bool x$read_delayed; [L731] 0 int *x$read_delayed_var; [L732] 0 int x$w_buff0; [L733] 0 _Bool x$w_buff0_used; [L734] 0 int x$w_buff1; [L735] 0 _Bool x$w_buff1_used; [L737] 0 int y = 0; [L738] 0 _Bool weak$$choice0; [L739] 0 _Bool weak$$choice2; [L831] 0 pthread_t t1721; [L832] FCALL, FORK 0 pthread_create(&t1721, ((void *)0), P0, ((void *)0)) VAL [__unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=0, __unbuffered_p1_EBX=0, main$tmp_guard0=0, main$tmp_guard1=0, t1721=-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] [L833] 0 pthread_t t1722; [L834] FCALL, FORK 0 pthread_create(&t1722, ((void *)0), P1, ((void *)0)) VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=0, __unbuffered_p1_EBX=0, main$tmp_guard0=0, main$tmp_guard1=0, t1721=-1, t1722=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] [L743] 1 x$w_buff1 = x$w_buff0 [L744] 1 x$w_buff0 = 1 [L745] 1 x$w_buff1_used = x$w_buff0_used [L746] 1 x$w_buff0_used = (_Bool)1 [L747] CALL 1 __VERIFIER_assert(!(x$w_buff1_used && x$w_buff0_used)) [L19] COND FALSE 1 !(!expression) [L747] RET 1 __VERIFIER_assert(!(x$w_buff1_used && x$w_buff0_used)) [L748] 1 x$r_buff1_thd0 = x$r_buff0_thd0 [L749] 1 x$r_buff1_thd1 = x$r_buff0_thd1 [L750] 1 x$r_buff1_thd2 = x$r_buff0_thd2 [L751] 1 x$r_buff0_thd1 = (_Bool)1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=0, __unbuffered_p0_EBX=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=1, 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=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=0] [L754] 1 weak$$choice0 = __VERIFIER_nondet_bool() [L755] 1 weak$$choice2 = __VERIFIER_nondet_bool() [L756] 1 x$flush_delayed = weak$$choice2 [L757] 1 x$mem_tmp = x [L758] 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) [L759] 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)) [L760] 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)) [L761] 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)) [L762] 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)) [L763] 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)) [L764] 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)) [L765] 1 __unbuffered_p0_EAX = x [L766] 1 x = x$flush_delayed ? x$mem_tmp : x [L767] 1 x$flush_delayed = (_Bool)0 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=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=1, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=0] [L770] 1 __unbuffered_p0_EBX = y VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=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=1, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=0] [L787] 2 y = 1 VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=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=1, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=1] [L790] 2 __unbuffered_p1_EAX = y VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __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=1, 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=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=1] [L793] 2 weak$$choice0 = __VERIFIER_nondet_bool() [L794] 2 weak$$choice2 = __VERIFIER_nondet_bool() [L795] 2 x$flush_delayed = weak$$choice2 [L796] 2 x$mem_tmp = x [L797] 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) [L798] 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)) [L799] 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)) [L800] 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)) [L801] 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)) [L802] 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)) [L803] 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)) [L804] 2 __unbuffered_p1_EBX = x [L805] 2 x = x$flush_delayed ? x$mem_tmp : x [L806] 2 x$flush_delayed = (_Bool)0 VAL [\old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=1] [L809] 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) [L810] 2 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$w_buff0_used [L811] 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 [L812] 2 x$r_buff0_thd2 = x$w_buff0_used && x$r_buff0_thd2 ? (_Bool)0 : x$r_buff0_thd2 [L813] 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}, __unbuffered_cnt=0, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=1, x$w_buff1=0, x$w_buff1_used=0, x=0, y=1] [L773] 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) [L774] 1 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : x$w_buff0_used [L775] 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 [L776] 1 x$r_buff0_thd1 = x$w_buff0_used && x$r_buff0_thd1 ? (_Bool)0 : x$r_buff0_thd1 [L777] 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}, \old(arg)={0:0}, __unbuffered_cnt=0, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L780] 1 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=1, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L816] 2 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, __unbuffered_cnt=2, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=0, main$tmp_guard1=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L836] 0 main$tmp_guard0 = __unbuffered_cnt == 2 VAL [\old(arg)={0:0}, __unbuffered_cnt=2, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t1721=-1, t1722=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L838] CALL 0 assume_abort_if_not(main$tmp_guard0) [L4] COND FALSE 0 !(!cond) [L838] RET 0 assume_abort_if_not(main$tmp_guard0) [L840] 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) [L841] 0 x$w_buff0_used = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$w_buff0_used [L842] 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 [L843] 0 x$r_buff0_thd0 = x$w_buff0_used && x$r_buff0_thd0 ? (_Bool)0 : x$r_buff0_thd0 [L844] 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_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t1721=-1, t1722=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L847] 0 main$tmp_guard1 = !(__unbuffered_p0_EAX == 1 && __unbuffered_p0_EBX == 0 && __unbuffered_p1_EAX == 1 && __unbuffered_p1_EBX == 0) VAL [\old(arg)={0:0}, __unbuffered_cnt=2, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __unbuffered_p1_EBX=0, arg={0:0}, main$tmp_guard0=1, main$tmp_guard1=0, t1721=-1, t1722=0, weak$$choice0=1, weak$$choice2=0, x$flush_delayed=0, x$mem_tmp=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L849] CALL 0 __VERIFIER_assert(main$tmp_guard1) [L19] COND TRUE 0 !expression VAL [\old(arg)={0:0}, \old(expression)=0, __unbuffered_cnt=2, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __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=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] [L19] 0 reach_error() VAL [\old(arg)={0:0}, \old(expression)=0, __unbuffered_cnt=2, __unbuffered_p0_EAX=1, __unbuffered_p0_EBX=0, __unbuffered_p1_EAX=1, __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=0, x$r_buff0_thd0=0, x$r_buff0_thd1=1, 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=1, x$w_buff0_used=0, x$w_buff1=0, x$w_buff1_used=0, x=1, y=1] - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 834]: 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: 832]: 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, 51 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: 4.8s, OverallIterations: 6, TraceHistogramMax: 1, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 1.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 237 SdHoareTripleChecker+Valid, 0.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 233 mSDsluCounter, 74 SdHoareTripleChecker+Invalid, 0.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 72 mSDsCounter, 17 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 772 IncrementalHoareTripleChecker+Invalid, 789 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 17 mSolverCounterUnsat, 2 mSDtfsCounter, 772 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 46 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=101occurred in iteration=4, InterpolantAutomatonStates: 36, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 2.6s InterpolantComputationTime, 106 NumberOfCodeBlocks, 106 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 77 ConstructedInterpolants, 0 QuantifiedInterpolants, 626 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:33:41,927 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE