./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-wmm/rfi007_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/rfi007_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 62e921ac3b02bdecb866366797768eb8fcdb22a87147dc14adf7fddb42ab9cb2 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 16:29:07,679 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 16:29:07,742 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:29:07,748 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 16:29:07,750 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 16:29:07,773 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 16:29:07,774 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 16:29:07,774 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 16:29:07,775 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 16:29:07,775 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 16:29:07,776 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 16:29:07,776 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 16:29:07,776 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 16:29:07,776 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 16:29:07,776 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 16:29:07,776 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 16:29:07,777 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 16:29:07,778 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 16:29:07,778 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:29:07,778 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:29:07,778 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:29:07,778 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:29:07,778 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 16:29:07,778 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:29:07,779 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 16:29:07,779 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 16:29:07,779 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 -> 62e921ac3b02bdecb866366797768eb8fcdb22a87147dc14adf7fddb42ab9cb2 [2025-01-09 16:29:07,992 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 16:29:07,997 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 16:29:07,999 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 16:29:07,999 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 16:29:08,000 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 16:29:08,000 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-wmm/rfi007_tso.i [2025-01-09 16:29:09,192 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/f9b64ac0c/431dadf7e19b4757abc8c9a004111258/FLAG5edfc0565 [2025-01-09 16:29:09,475 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 16:29:09,475 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/pthread-wmm/rfi007_tso.i [2025-01-09 16:29:09,492 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/f9b64ac0c/431dadf7e19b4757abc8c9a004111258/FLAG5edfc0565 [2025-01-09 16:29:09,772 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/f9b64ac0c/431dadf7e19b4757abc8c9a004111258 [2025-01-09 16:29:09,774 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 16:29:09,775 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 16:29:09,781 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 16:29:09,781 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 16:29:09,787 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 16:29:09,791 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:29:09" (1/1) ... [2025-01-09 16:29:09,791 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1c5720f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:09, skipping insertion in model container [2025-01-09 16:29:09,791 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:29:09" (1/1) ... [2025-01-09 16:29:09,840 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 16:29:10,003 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/rfi007_tso.i[944,957] [2025-01-09 16:29:10,177 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:29:10,188 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 16:29:10,196 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/rfi007_tso.i[944,957] [2025-01-09 16:29:10,241 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:29:10,266 INFO L204 MainTranslator]: Completed translation [2025-01-09 16:29:10,268 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10 WrapperNode [2025-01-09 16:29:10,268 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 16:29:10,269 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 16:29:10,270 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 16:29:10,270 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 16:29:10,275 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:29:10" (1/1) ... [2025-01-09 16:29:10,292 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:29:10" (1/1) ... [2025-01-09 16:29:10,322 INFO L138 Inliner]: procedures = 174, calls = 35, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 145 [2025-01-09 16:29:10,322 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 16:29:10,323 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 16:29:10,323 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 16:29:10,323 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 16:29:10,330 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,330 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,334 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,352 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:29:10,352 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,353 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,360 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,364 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,365 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,366 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,371 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,372 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 16:29:10,373 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 16:29:10,373 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 16:29:10,373 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 16:29:10,378 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (1/1) ... [2025-01-09 16:29:10,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:29:10,400 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:29:10,412 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:29:10,416 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:29:10,432 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-01-09 16:29:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 16:29:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure P0 [2025-01-09 16:29:10,433 INFO L138 BoogieDeclarations]: Found implementation of procedure P0 [2025-01-09 16:29:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure P1 [2025-01-09 16:29:10,433 INFO L138 BoogieDeclarations]: Found implementation of procedure P1 [2025-01-09 16:29:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 16:29:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-01-09 16:29:10,434 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 16:29:10,434 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 16:29:10,434 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:29:10,537 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 16:29:10,539 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 16:29:10,779 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-01-09 16:29:10,779 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 16:29:10,919 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 16:29:10,920 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-01-09 16:29:10,920 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:29:10 BoogieIcfgContainer [2025-01-09 16:29:10,920 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 16:29:10,922 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 16:29:10,922 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 16:29:10,925 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 16:29:10,926 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 04:29:09" (1/3) ... [2025-01-09 16:29:10,926 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@78014693 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:29:10, skipping insertion in model container [2025-01-09 16:29:10,926 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:29:10" (2/3) ... [2025-01-09 16:29:10,926 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@78014693 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:29:10, skipping insertion in model container [2025-01-09 16:29:10,926 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:29:10" (3/3) ... [2025-01-09 16:29:10,927 INFO L128 eAbstractionObserver]: Analyzing ICFG rfi007_tso.i [2025-01-09 16:29:10,937 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 16:29:10,938 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG rfi007_tso.i that has 3 procedures, 31 locations, 1 initial locations, 0 loop locations, and 2 error locations. [2025-01-09 16:29:10,938 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-01-09 16:29:10,974 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-01-09 16:29:10,994 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 37 places, 31 transitions, 70 flow [2025-01-09 16:29:11,012 INFO L124 PetriNetUnfolderBase]: 1/29 cut-off events. [2025-01-09 16:29:11,013 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 16:29:11,015 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:29:11,015 INFO L82 GeneralOperation]: Start removeDead. Operand has 37 places, 31 transitions, 70 flow [2025-01-09 16:29:11,017 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 35 places, 29 transitions, 64 flow [2025-01-09 16:29:11,022 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 16:29:11,029 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;@46d5b8bc, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 16:29:11,030 INFO L334 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2025-01-09 16:29:11,033 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-01-09 16:29:11,033 INFO L124 PetriNetUnfolderBase]: 0/9 cut-off events. [2025-01-09 16:29:11,033 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 16:29:11,033 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:29:11,034 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1] [2025-01-09 16:29:11,034 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:29:11,037 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:29:11,038 INFO L85 PathProgramCache]: Analyzing trace with hash 1838594265, now seen corresponding path program 1 times [2025-01-09 16:29:11,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:29:11,043 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [142384919] [2025-01-09 16:29:11,043 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:29:11,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:29:11,095 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-01-09 16:29:11,114 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-01-09 16:29:11,115 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:29:11,115 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:29:11,339 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:29:11,339 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:29:11,340 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [142384919] [2025-01-09 16:29:11,340 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [142384919] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:29:11,341 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:29:11,341 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2025-01-09 16:29:11,342 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1965162130] [2025-01-09 16:29:11,342 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:29:11,347 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 16:29:11,350 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:29:11,374 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 16:29:11,374 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 16:29:11,378 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 31 [2025-01-09 16:29:11,380 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:29:11,380 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:29:11,380 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 31 [2025-01-09 16:29:11,381 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:29:11,584 INFO L124 PetriNetUnfolderBase]: 144/317 cut-off events. [2025-01-09 16:29:11,584 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 16:29:11,585 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:29:11,588 INFO L140 encePairwiseOnDemand]: 27/31 looper letters, 20 selfloop transitions, 2 changer transitions 2/35 dead transitions. [2025-01-09 16:29:11,590 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 36 places, 35 transitions, 124 flow [2025-01-09 16:29:11,591 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 16:29:11,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 16:29:11,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2025-01-09 16:29:11,601 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.7096774193548387 [2025-01-09 16:29:11,604 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:29:11,605 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 36 places, 35 transitions, 124 flow [2025-01-09 16:29:11,608 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:29:11,609 INFO L231 Difference]: Finished difference. Result has 34 places, 26 transitions, 60 flow [2025-01-09 16:29:11,611 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:29:11,615 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, -1 predicate places. [2025-01-09 16:29:11,616 INFO L471 AbstractCegarLoop]: Abstraction has has 34 places, 26 transitions, 60 flow [2025-01-09 16:29:11,616 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:29:11,617 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:29:11,617 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:29:11,617 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-01-09 16:29:11,617 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:29:11,618 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:29:11,618 INFO L85 PathProgramCache]: Analyzing trace with hash 1669036513, now seen corresponding path program 1 times [2025-01-09 16:29:11,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:29:11,618 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [122177482] [2025-01-09 16:29:11,621 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:29:11,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:29:11,637 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 12 statements into 1 equivalence classes. [2025-01-09 16:29:11,665 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 12 of 12 statements. [2025-01-09 16:29:11,665 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:29:11,665 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:29:12,418 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:29:12,419 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:29:12,419 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [122177482] [2025-01-09 16:29:12,419 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [122177482] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:29:12,419 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:29:12,419 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 16:29:12,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1953411564] [2025-01-09 16:29:12,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:29:12,420 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-01-09 16:29:12,420 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:29:12,420 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-09 16:29:12,421 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2025-01-09 16:29:12,433 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 31 [2025-01-09 16:29:12,434 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 34 places, 26 transitions, 60 flow. Second operand has 6 states, 6 states have (on average 11.666666666666666) internal successors, (70), 6 states have internal predecessors, (70), 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:29:12,434 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:29:12,434 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 31 [2025-01-09 16:29:12,434 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:29:12,696 INFO L124 PetriNetUnfolderBase]: 232/459 cut-off events. [2025-01-09 16:29:12,697 INFO L125 PetriNetUnfolderBase]: For 21/21 co-relation queries the response was YES. [2025-01-09 16:29:12,699 INFO L83 FinitePrefix]: Finished finitePrefix Result has 905 conditions, 459 events. 232/459 cut-off events. For 21/21 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 2530 event pairs, 54 based on Foata normal form. 0/444 useless extension candidates. Maximal degree in co-relation 895. Up to 204 conditions per place. [2025-01-09 16:29:12,701 INFO L140 encePairwiseOnDemand]: 25/31 looper letters, 20 selfloop transitions, 2 changer transitions 29/59 dead transitions. [2025-01-09 16:29:12,702 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 59 transitions, 232 flow [2025-01-09 16:29:12,702 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-01-09 16:29:12,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-01-09 16:29:12,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 133 transitions. [2025-01-09 16:29:12,704 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5362903225806451 [2025-01-09 16:29:12,704 INFO L175 Difference]: Start difference. First operand has 34 places, 26 transitions, 60 flow. Second operand 8 states and 133 transitions. [2025-01-09 16:29:12,704 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 59 transitions, 232 flow [2025-01-09 16:29:12,705 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 38 places, 59 transitions, 224 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 16:29:12,706 INFO L231 Difference]: Finished difference. Result has 43 places, 25 transitions, 70 flow [2025-01-09 16:29:12,707 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=24, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=70, PETRI_PLACES=43, PETRI_TRANSITIONS=25} [2025-01-09 16:29:12,708 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 8 predicate places. [2025-01-09 16:29:12,708 INFO L471 AbstractCegarLoop]: Abstraction has has 43 places, 25 transitions, 70 flow [2025-01-09 16:29:12,708 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 11.666666666666666) internal successors, (70), 6 states have internal predecessors, (70), 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:29:12,708 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:29:12,708 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:29:12,709 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 16:29:12,709 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:29:12,710 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:29:12,712 INFO L85 PathProgramCache]: Analyzing trace with hash -1541269216, now seen corresponding path program 1 times [2025-01-09 16:29:12,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:29:12,712 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [975134036] [2025-01-09 16:29:12,712 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:29:12,712 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:29:12,724 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 15 statements into 1 equivalence classes. [2025-01-09 16:29:12,808 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 15 of 15 statements. [2025-01-09 16:29:12,812 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:29:12,812 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:29:13,534 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:29:13,535 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:29:13,535 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [975134036] [2025-01-09 16:29:13,535 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [975134036] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:29:13,535 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:29:13,535 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2025-01-09 16:29:13,535 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [791106426] [2025-01-09 16:29:13,535 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:29:13,535 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2025-01-09 16:29:13,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:29:13,536 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2025-01-09 16:29:13,536 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2025-01-09 16:29:13,556 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 31 [2025-01-09 16:29:13,557 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 25 transitions, 70 flow. Second operand has 8 states, 8 states have (on average 8.625) internal successors, (69), 8 states have internal predecessors, (69), 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:29:13,557 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:29:13,557 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 31 [2025-01-09 16:29:13,557 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:29:13,775 INFO L124 PetriNetUnfolderBase]: 240/469 cut-off events. [2025-01-09 16:29:13,776 INFO L125 PetriNetUnfolderBase]: For 34/34 co-relation queries the response was YES. [2025-01-09 16:29:13,776 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1039 conditions, 469 events. 240/469 cut-off events. For 34/34 co-relation queries the response was YES. Maximal size of possible extension queue 27. Compared 1990 event pairs, 15 based on Foata normal form. 30/498 useless extension candidates. Maximal degree in co-relation 1024. Up to 229 conditions per place. [2025-01-09 16:29:13,778 INFO L140 encePairwiseOnDemand]: 24/31 looper letters, 39 selfloop transitions, 8 changer transitions 3/55 dead transitions. [2025-01-09 16:29:13,778 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 42 places, 55 transitions, 240 flow [2025-01-09 16:29:13,778 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 16:29:13,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 16:29:13,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 96 transitions. [2025-01-09 16:29:13,779 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5161290322580645 [2025-01-09 16:29:13,779 INFO L175 Difference]: Start difference. First operand has 43 places, 25 transitions, 70 flow. Second operand 6 states and 96 transitions. [2025-01-09 16:29:13,779 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 42 places, 55 transitions, 240 flow [2025-01-09 16:29:13,781 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 36 places, 55 transitions, 224 flow, removed 4 selfloop flow, removed 6 redundant places. [2025-01-09 16:29:13,782 INFO L231 Difference]: Finished difference. Result has 40 places, 31 transitions, 120 flow [2025-01-09 16:29:13,782 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=58, PETRI_DIFFERENCE_MINUEND_PLACES=31, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=25, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=19, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=120, PETRI_PLACES=40, PETRI_TRANSITIONS=31} [2025-01-09 16:29:13,783 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 5 predicate places. [2025-01-09 16:29:13,783 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 31 transitions, 120 flow [2025-01-09 16:29:13,783 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 8.625) internal successors, (69), 8 states have internal predecessors, (69), 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:29:13,783 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:29:13,783 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:29:13,783 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-01-09 16:29:13,783 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:29:13,784 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:29:13,784 INFO L85 PathProgramCache]: Analyzing trace with hash 548800035, now seen corresponding path program 1 times [2025-01-09 16:29:13,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:29:13,784 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1896698308] [2025-01-09 16:29:13,784 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:29:13,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:29:13,791 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-01-09 16:29:13,830 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-01-09 16:29:13,830 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:29:13,830 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:29:14,052 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:29:14,053 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:29:14,053 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1896698308] [2025-01-09 16:29:14,053 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1896698308] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:29:14,053 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:29:14,053 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-09 16:29:14,053 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1315561527] [2025-01-09 16:29:14,053 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:29:14,053 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:29:14,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:29:14,054 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:29:14,054 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:29:14,060 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 31 [2025-01-09 16:29:14,060 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 31 transitions, 120 flow. Second operand has 5 states, 5 states have (on average 12.8) internal successors, (64), 5 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:29:14,060 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:29:14,060 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 31 [2025-01-09 16:29:14,060 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:29:14,144 INFO L124 PetriNetUnfolderBase]: 104/228 cut-off events. [2025-01-09 16:29:14,144 INFO L125 PetriNetUnfolderBase]: For 193/195 co-relation queries the response was YES. [2025-01-09 16:29:14,145 INFO L83 FinitePrefix]: Finished finitePrefix Result has 600 conditions, 228 events. 104/228 cut-off events. For 193/195 co-relation queries the response was YES. Maximal size of possible extension queue 13. Compared 747 event pairs, 25 based on Foata normal form. 20/246 useless extension candidates. Maximal degree in co-relation 585. Up to 95 conditions per place. [2025-01-09 16:29:14,146 INFO L140 encePairwiseOnDemand]: 26/31 looper letters, 28 selfloop transitions, 7 changer transitions 0/43 dead transitions. [2025-01-09 16:29:14,146 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 44 places, 43 transitions, 220 flow [2025-01-09 16:29:14,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-09 16:29:14,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-01-09 16:29:14,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 85 transitions. [2025-01-09 16:29:14,148 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5483870967741935 [2025-01-09 16:29:14,148 INFO L175 Difference]: Start difference. First operand has 40 places, 31 transitions, 120 flow. Second operand 5 states and 85 transitions. [2025-01-09 16:29:14,148 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 44 places, 43 transitions, 220 flow [2025-01-09 16:29:14,149 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 41 places, 43 transitions, 205 flow, removed 2 selfloop flow, removed 3 redundant places. [2025-01-09 16:29:14,150 INFO L231 Difference]: Finished difference. Result has 43 places, 32 transitions, 139 flow [2025-01-09 16:29:14,150 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=108, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=31, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=24, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=139, PETRI_PLACES=43, PETRI_TRANSITIONS=32} [2025-01-09 16:29:14,151 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 8 predicate places. [2025-01-09 16:29:14,151 INFO L471 AbstractCegarLoop]: Abstraction has has 43 places, 32 transitions, 139 flow [2025-01-09 16:29:14,151 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 12.8) internal successors, (64), 5 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:29:14,151 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:29:14,151 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:29:14,152 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2025-01-09 16:29:14,152 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:29:14,152 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:29:14,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1972397697, now seen corresponding path program 1 times [2025-01-09 16:29:14,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:29:14,153 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1149360636] [2025-01-09 16:29:14,153 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:29:14,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:29:14,159 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:29:14,170 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:29:14,171 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:29:14,171 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:29:14,363 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:29:14,364 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:29:14,364 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1149360636] [2025-01-09 16:29:14,364 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1149360636] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:29:14,364 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:29:14,364 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-01-09 16:29:14,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2145213867] [2025-01-09 16:29:14,364 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:29:14,364 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-01-09 16:29:14,365 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:29:14,365 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-09 16:29:14,365 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2025-01-09 16:29:14,369 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 31 [2025-01-09 16:29:14,370 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 32 transitions, 139 flow. Second operand has 6 states, 6 states have (on average 11.666666666666666) internal successors, (70), 6 states have internal predecessors, (70), 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:29:14,370 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:29:14,370 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 31 [2025-01-09 16:29:14,370 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:29:14,522 INFO L124 PetriNetUnfolderBase]: 135/327 cut-off events. [2025-01-09 16:29:14,523 INFO L125 PetriNetUnfolderBase]: For 277/281 co-relation queries the response was YES. [2025-01-09 16:29:14,523 INFO L83 FinitePrefix]: Finished finitePrefix Result has 821 conditions, 327 events. 135/327 cut-off events. For 277/281 co-relation queries the response was YES. Maximal size of possible extension queue 22. Compared 1326 event pairs, 27 based on Foata normal form. 6/325 useless extension candidates. Maximal degree in co-relation 805. Up to 148 conditions per place. [2025-01-09 16:29:14,524 INFO L140 encePairwiseOnDemand]: 26/31 looper letters, 20 selfloop transitions, 1 changer transitions 22/53 dead transitions. [2025-01-09 16:29:14,526 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 53 transitions, 279 flow [2025-01-09 16:29:14,526 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 16:29:14,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 16:29:14,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2025-01-09 16:29:14,527 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5053763440860215 [2025-01-09 16:29:14,527 INFO L175 Difference]: Start difference. First operand has 43 places, 32 transitions, 139 flow. Second operand 6 states and 94 transitions. [2025-01-09 16:29:14,527 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 53 transitions, 279 flow [2025-01-09 16:29:14,528 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 46 places, 53 transitions, 269 flow, removed 2 selfloop flow, removed 2 redundant places. [2025-01-09 16:29:14,529 INFO L231 Difference]: Finished difference. Result has 50 places, 28 transitions, 115 flow [2025-01-09 16:29:14,529 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=129, PETRI_DIFFERENCE_MINUEND_PLACES=41, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=32, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=31, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=115, PETRI_PLACES=50, PETRI_TRANSITIONS=28} [2025-01-09 16:29:14,529 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 15 predicate places. [2025-01-09 16:29:14,529 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 28 transitions, 115 flow [2025-01-09 16:29:14,529 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 11.666666666666666) internal successors, (70), 6 states have internal predecessors, (70), 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:29:14,529 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:29:14,529 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:29:14,531 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-01-09 16:29:14,532 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:29:14,533 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:29:14,533 INFO L85 PathProgramCache]: Analyzing trace with hash -177163949, now seen corresponding path program 2 times [2025-01-09 16:29:14,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:29:14,533 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [941407484] [2025-01-09 16:29:14,533 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-09 16:29:14,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:29:14,542 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:29:14,577 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:29:14,578 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-09 16:29:14,578 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:29:16,459 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:29:16,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:29:16,460 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [941407484] [2025-01-09 16:29:16,460 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [941407484] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:29:16,460 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:29:16,460 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2025-01-09 16:29:16,460 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1126764345] [2025-01-09 16:29:16,460 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:29:16,461 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2025-01-09 16:29:16,461 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:29:16,461 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2025-01-09 16:29:16,462 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2025-01-09 16:29:16,473 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 31 [2025-01-09 16:29:16,473 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 28 transitions, 115 flow. Second operand has 11 states, 11 states have (on average 11.363636363636363) internal successors, (125), 11 states have internal predecessors, (125), 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:29:16,473 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:29:16,473 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 31 [2025-01-09 16:29:16,473 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:29:16,908 INFO L124 PetriNetUnfolderBase]: 95/244 cut-off events. [2025-01-09 16:29:16,908 INFO L125 PetriNetUnfolderBase]: For 183/187 co-relation queries the response was YES. [2025-01-09 16:29:16,908 INFO L83 FinitePrefix]: Finished finitePrefix Result has 628 conditions, 244 events. 95/244 cut-off events. For 183/187 co-relation queries the response was YES. Maximal size of possible extension queue 23. Compared 987 event pairs, 27 based on Foata normal form. 6/240 useless extension candidates. Maximal degree in co-relation 609. Up to 78 conditions per place. [2025-01-09 16:29:16,909 INFO L140 encePairwiseOnDemand]: 22/31 looper letters, 18 selfloop transitions, 4 changer transitions 21/54 dead transitions. [2025-01-09 16:29:16,909 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 54 transitions, 271 flow [2025-01-09 16:29:16,913 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-09 16:29:16,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-01-09 16:29:16,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 144 transitions. [2025-01-09 16:29:16,914 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4645161290322581 [2025-01-09 16:29:16,914 INFO L175 Difference]: Start difference. First operand has 50 places, 28 transitions, 115 flow. Second operand 10 states and 144 transitions. [2025-01-09 16:29:16,914 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 55 places, 54 transitions, 271 flow [2025-01-09 16:29:16,915 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 54 transitions, 245 flow, removed 10 selfloop flow, removed 7 redundant places. [2025-01-09 16:29:16,916 INFO L231 Difference]: Finished difference. Result has 54 places, 28 transitions, 120 flow [2025-01-09 16:29:16,916 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=31, PETRI_DIFFERENCE_MINUEND_FLOW=97, PETRI_DIFFERENCE_MINUEND_PLACES=39, 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=120, PETRI_PLACES=54, PETRI_TRANSITIONS=28} [2025-01-09 16:29:16,916 INFO L279 CegarLoopForPetriNet]: 35 programPoint places, 19 predicate places. [2025-01-09 16:29:16,917 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 28 transitions, 120 flow [2025-01-09 16:29:16,917 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 11.363636363636363) internal successors, (125), 11 states have internal predecessors, (125), 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:29:16,917 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:29:16,917 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:29:16,917 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-01-09 16:29:16,917 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [P1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2025-01-09 16:29:16,917 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:29:16,917 INFO L85 PathProgramCache]: Analyzing trace with hash 1532654255, now seen corresponding path program 3 times [2025-01-09 16:29:16,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:29:16,917 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [99078798] [2025-01-09 16:29:16,917 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-09 16:29:16,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:29:16,933 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:29:17,034 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:29:17,035 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-09 16:29:17,035 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 16:29:17,035 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 16:29:17,044 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-01-09 16:29:17,166 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-01-09 16:29:17,167 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:29:17,167 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 16:29:17,202 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 16:29:17,203 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 16:29:17,203 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (4 of 5 remaining) [2025-01-09 16:29:17,208 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location P1Err0ASSERT_VIOLATIONERROR_FUNCTION (3 of 5 remaining) [2025-01-09 16:29:17,208 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (2 of 5 remaining) [2025-01-09 16:29:17,208 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (1 of 5 remaining) [2025-01-09 16:29:17,208 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location P1Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 5 remaining) [2025-01-09 16:29:17,208 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-01-09 16:29:17,208 INFO L422 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1] [2025-01-09 16:29:17,284 INFO L241 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2025-01-09 16:29:17,285 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 16:29:17,295 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 04:29:17 BasicIcfg [2025-01-09 16:29:17,295 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 16:29:17,296 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 16:29:17,296 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 16:29:17,296 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 16:29:17,296 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:29:10" (3/4) ... [2025-01-09 16:29:17,297 INFO L140 WitnessPrinter]: Generating witness for reachability counterexample [2025-01-09 16:29:17,420 INFO L127 tionWitnessGenerator]: Generated YAML witness of length 9. [2025-01-09 16:29:17,486 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-01-09 16:29:17,488 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.yml [2025-01-09 16:29:17,488 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 16:29:17,490 INFO L158 Benchmark]: Toolchain (without parser) took 7713.42ms. Allocated memory was 142.6MB in the beginning and 385.9MB in the end (delta: 243.3MB). Free memory was 103.9MB in the beginning and 137.3MB in the end (delta: -33.4MB). Peak memory consumption was 208.0MB. Max. memory is 16.1GB. [2025-01-09 16:29:17,493 INFO L158 Benchmark]: CDTParser took 0.94ms. Allocated memory is still 201.3MB. Free memory is still 126.1MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 16:29:17,494 INFO L158 Benchmark]: CACSL2BoogieTranslator took 487.27ms. Allocated memory is still 142.6MB. Free memory was 103.9MB in the beginning and 79.9MB in the end (delta: 23.9MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-01-09 16:29:17,494 INFO L158 Benchmark]: Boogie Procedure Inliner took 53.11ms. Allocated memory is still 142.6MB. Free memory was 79.9MB in the beginning and 76.9MB in the end (delta: 3.1MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 16:29:17,494 INFO L158 Benchmark]: Boogie Preprocessor took 49.17ms. Allocated memory is still 142.6MB. Free memory was 76.9MB in the beginning and 73.7MB in the end (delta: 3.2MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 16:29:17,494 INFO L158 Benchmark]: RCFGBuilder took 547.79ms. Allocated memory is still 142.6MB. Free memory was 73.7MB in the beginning and 88.3MB in the end (delta: -14.6MB). Peak memory consumption was 48.1MB. Max. memory is 16.1GB. [2025-01-09 16:29:17,494 INFO L158 Benchmark]: TraceAbstraction took 6373.20ms. Allocated memory was 142.6MB in the beginning and 385.9MB in the end (delta: 243.3MB). Free memory was 87.5MB in the beginning and 145.7MB in the end (delta: -58.2MB). Peak memory consumption was 185.1MB. Max. memory is 16.1GB. [2025-01-09 16:29:17,494 INFO L158 Benchmark]: Witness Printer took 192.37ms. Allocated memory is still 385.9MB. Free memory was 145.7MB in the beginning and 137.3MB in the end (delta: 8.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 16:29:17,495 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.94ms. Allocated memory is still 201.3MB. Free memory is still 126.1MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 487.27ms. Allocated memory is still 142.6MB. Free memory was 103.9MB in the beginning and 79.9MB in the end (delta: 23.9MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 53.11ms. Allocated memory is still 142.6MB. Free memory was 79.9MB in the beginning and 76.9MB in the end (delta: 3.1MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 49.17ms. Allocated memory is still 142.6MB. Free memory was 76.9MB in the beginning and 73.7MB in the end (delta: 3.2MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * RCFGBuilder took 547.79ms. Allocated memory is still 142.6MB. Free memory was 73.7MB in the beginning and 88.3MB in the end (delta: -14.6MB). Peak memory consumption was 48.1MB. Max. memory is 16.1GB. * TraceAbstraction took 6373.20ms. Allocated memory was 142.6MB in the beginning and 385.9MB in the end (delta: 243.3MB). Free memory was 87.5MB in the beginning and 145.7MB in the end (delta: -58.2MB). Peak memory consumption was 185.1MB. Max. memory is 16.1GB. * Witness Printer took 192.37ms. Allocated memory is still 385.9MB. Free memory was 145.7MB in the beginning and 137.3MB in the end (delta: 8.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; [L718] 0 int y = 0; [L719] 0 _Bool y$flush_delayed; [L720] 0 int y$mem_tmp; [L721] 0 _Bool y$r_buff0_thd0; [L722] 0 _Bool y$r_buff0_thd1; [L723] 0 _Bool y$r_buff0_thd2; [L724] 0 _Bool y$r_buff1_thd0; [L725] 0 _Bool y$r_buff1_thd1; [L726] 0 _Bool y$r_buff1_thd2; [L727] 0 _Bool y$read_delayed; [L728] 0 int *y$read_delayed_var; [L729] 0 int y$w_buff0; [L730] 0 _Bool y$w_buff0_used; [L731] 0 int y$w_buff1; [L732] 0 _Bool y$w_buff1_used; [L733] 0 _Bool weak$$choice0; [L734] 0 _Bool weak$$choice2; [L810] 0 pthread_t t1717; [L811] FCALL, FORK 0 pthread_create(&t1717, ((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, t1717=-1, weak$$choice0=0, weak$$choice2=0, x=0, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=0, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=0, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=0] [L812] 0 pthread_t t1718; [L813] FCALL, FORK 0 pthread_create(&t1718, ((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, t1717=-1, t1718=0, weak$$choice0=0, weak$$choice2=0, x=0, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=0, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=0, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=0] [L758] 2 y$w_buff1 = y$w_buff0 [L759] 2 y$w_buff0 = 2 [L760] 2 y$w_buff1_used = y$w_buff0_used [L761] 2 y$w_buff0_used = (_Bool)1 [L762] CALL 2 __VERIFIER_assert(!(y$w_buff1_used && y$w_buff0_used)) [L18] COND FALSE 2 !(!expression) [L762] RET 2 __VERIFIER_assert(!(y$w_buff1_used && y$w_buff0_used)) [L763] 2 y$r_buff1_thd0 = y$r_buff0_thd0 [L764] 2 y$r_buff1_thd1 = y$r_buff0_thd1 [L765] 2 y$r_buff1_thd2 = y$r_buff0_thd2 [L766] 2 y$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=0, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=1, y$w_buff1=0, y$w_buff1_used=0, y=0] [L769] 2 weak$$choice0 = __VERIFIER_nondet_bool() [L770] 2 weak$$choice2 = __VERIFIER_nondet_bool() [L771] 2 y$flush_delayed = weak$$choice2 [L772] 2 y$mem_tmp = y [L773] 2 y = !y$w_buff0_used || !y$r_buff0_thd2 && !y$w_buff1_used || !y$r_buff0_thd2 && !y$r_buff1_thd2 ? y : (y$w_buff0_used && y$r_buff0_thd2 ? y$w_buff0 : y$w_buff1) [L774] 2 y$w_buff0 = weak$$choice2 ? y$w_buff0 : (!y$w_buff0_used || !y$r_buff0_thd2 && !y$w_buff1_used || !y$r_buff0_thd2 && !y$r_buff1_thd2 ? y$w_buff0 : (y$w_buff0_used && y$r_buff0_thd2 ? y$w_buff0 : y$w_buff0)) [L775] 2 y$w_buff1 = weak$$choice2 ? y$w_buff1 : (!y$w_buff0_used || !y$r_buff0_thd2 && !y$w_buff1_used || !y$r_buff0_thd2 && !y$r_buff1_thd2 ? y$w_buff1 : (y$w_buff0_used && y$r_buff0_thd2 ? y$w_buff1 : y$w_buff1)) [L776] 2 y$w_buff0_used = weak$$choice2 ? y$w_buff0_used : (!y$w_buff0_used || !y$r_buff0_thd2 && !y$w_buff1_used || !y$r_buff0_thd2 && !y$r_buff1_thd2 ? y$w_buff0_used : (y$w_buff0_used && y$r_buff0_thd2 ? (_Bool)0 : y$w_buff0_used)) [L777] 2 y$w_buff1_used = weak$$choice2 ? y$w_buff1_used : (!y$w_buff0_used || !y$r_buff0_thd2 && !y$w_buff1_used || !y$r_buff0_thd2 && !y$r_buff1_thd2 ? y$w_buff1_used : (y$w_buff0_used && y$r_buff0_thd2 ? (_Bool)0 : (_Bool)0)) [L778] 2 y$r_buff0_thd2 = weak$$choice2 ? y$r_buff0_thd2 : (!y$w_buff0_used || !y$r_buff0_thd2 && !y$w_buff1_used || !y$r_buff0_thd2 && !y$r_buff1_thd2 ? y$r_buff0_thd2 : (y$w_buff0_used && y$r_buff0_thd2 ? (_Bool)0 : y$r_buff0_thd2)) [L779] 2 y$r_buff1_thd2 = weak$$choice2 ? y$r_buff1_thd2 : (!y$w_buff0_used || !y$r_buff0_thd2 && !y$w_buff1_used || !y$r_buff0_thd2 && !y$r_buff1_thd2 ? y$r_buff1_thd2 : (y$w_buff0_used && y$r_buff0_thd2 ? (_Bool)0 : (_Bool)0)) [L780] 2 __unbuffered_p1_EAX = y [L781] 2 y = y$flush_delayed ? y$mem_tmp : y [L782] 2 y$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=0, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=1, y$w_buff1=0, y$w_buff1_used=0, y=0] [L785] 2 __unbuffered_p1_EBX = x VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __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=0, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=1, y$w_buff1=0, y$w_buff1_used=0, y=0] [L738] 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=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=1, y$w_buff1=0, y$w_buff1_used=0, y=0] [L741] 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=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=1, y$w_buff1=0, y$w_buff1_used=0, y=1] [L744] 1 y = y$w_buff0_used && y$r_buff0_thd1 ? y$w_buff0 : (y$w_buff1_used && y$r_buff1_thd1 ? y$w_buff1 : y) [L745] 1 y$w_buff0_used = y$w_buff0_used && y$r_buff0_thd1 ? (_Bool)0 : y$w_buff0_used [L746] 1 y$w_buff1_used = y$w_buff0_used && y$r_buff0_thd1 || y$w_buff1_used && y$r_buff1_thd1 ? (_Bool)0 : y$w_buff1_used [L747] 1 y$r_buff0_thd1 = y$w_buff0_used && y$r_buff0_thd1 ? (_Bool)0 : y$r_buff0_thd1 [L748] 1 y$r_buff1_thd1 = y$w_buff0_used && y$r_buff0_thd1 || y$w_buff1_used && y$r_buff1_thd1 ? (_Bool)0 : y$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=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=1, y$w_buff1=0, y$w_buff1_used=0, y=1] [L788] 2 y = y$w_buff0_used && y$r_buff0_thd2 ? y$w_buff0 : (y$w_buff1_used && y$r_buff1_thd2 ? y$w_buff1 : y) [L789] 2 y$w_buff0_used = y$w_buff0_used && y$r_buff0_thd2 ? (_Bool)0 : y$w_buff0_used [L790] 2 y$w_buff1_used = y$w_buff0_used && y$r_buff0_thd2 || y$w_buff1_used && y$r_buff1_thd2 ? (_Bool)0 : y$w_buff1_used [L791] 2 y$r_buff0_thd2 = y$w_buff0_used && y$r_buff0_thd2 ? (_Bool)0 : y$r_buff0_thd2 [L792] 2 y$r_buff1_thd2 = y$w_buff0_used && y$r_buff0_thd2 || y$w_buff1_used && y$r_buff1_thd2 ? (_Bool)0 : y$r_buff1_thd2 VAL [\old(arg)={0:0}, \old(arg)={0:0}, __unbuffered_cnt=0, __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=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] [L795] 2 __unbuffered_cnt = __unbuffered_cnt + 1 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=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] [L751] 1 __unbuffered_cnt = __unbuffered_cnt + 1 VAL [\old(arg)={0:0}, __unbuffered_cnt=2, __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=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] [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, t1717=-1, t1718=0, weak$$choice0=0, weak$$choice2=1, x=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] [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 y = y$w_buff0_used && y$r_buff0_thd0 ? y$w_buff0 : (y$w_buff1_used && y$r_buff1_thd0 ? y$w_buff1 : y) [L820] 0 y$w_buff0_used = y$w_buff0_used && y$r_buff0_thd0 ? (_Bool)0 : y$w_buff0_used [L821] 0 y$w_buff1_used = y$w_buff0_used && y$r_buff0_thd0 || y$w_buff1_used && y$r_buff1_thd0 ? (_Bool)0 : y$w_buff1_used [L822] 0 y$r_buff0_thd0 = y$w_buff0_used && y$r_buff0_thd0 ? (_Bool)0 : y$r_buff0_thd0 [L823] 0 y$r_buff1_thd0 = y$w_buff0_used && y$r_buff0_thd0 || y$w_buff1_used && y$r_buff1_thd0 ? (_Bool)0 : y$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, t1717=-1, t1718=0, weak$$choice0=0, weak$$choice2=1, x=1, y$flush_delayed=0, y$mem_tmp=0, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] [L826] 0 weak$$choice0 = __VERIFIER_nondet_bool() [L827] 0 weak$$choice2 = __VERIFIER_nondet_bool() [L828] 0 y$flush_delayed = weak$$choice2 [L829] 0 y$mem_tmp = y [L830] 0 y = !y$w_buff0_used || !y$r_buff0_thd0 && !y$w_buff1_used || !y$r_buff0_thd0 && !y$r_buff1_thd0 ? y : (y$w_buff0_used && y$r_buff0_thd0 ? y$w_buff0 : y$w_buff1) [L831] 0 y$w_buff0 = weak$$choice2 ? y$w_buff0 : (!y$w_buff0_used || !y$r_buff0_thd0 && !y$w_buff1_used || !y$r_buff0_thd0 && !y$r_buff1_thd0 ? y$w_buff0 : (y$w_buff0_used && y$r_buff0_thd0 ? y$w_buff0 : y$w_buff0)) [L832] 0 y$w_buff1 = weak$$choice2 ? y$w_buff1 : (!y$w_buff0_used || !y$r_buff0_thd0 && !y$w_buff1_used || !y$r_buff0_thd0 && !y$r_buff1_thd0 ? y$w_buff1 : (y$w_buff0_used && y$r_buff0_thd0 ? y$w_buff1 : y$w_buff1)) [L833] 0 y$w_buff0_used = weak$$choice2 ? y$w_buff0_used : (!y$w_buff0_used || !y$r_buff0_thd0 && !y$w_buff1_used || !y$r_buff0_thd0 && !y$r_buff1_thd0 ? y$w_buff0_used : (y$w_buff0_used && y$r_buff0_thd0 ? (_Bool)0 : y$w_buff0_used)) [L834] 0 y$w_buff1_used = weak$$choice2 ? y$w_buff1_used : (!y$w_buff0_used || !y$r_buff0_thd0 && !y$w_buff1_used || !y$r_buff0_thd0 && !y$r_buff1_thd0 ? y$w_buff1_used : (y$w_buff0_used && y$r_buff0_thd0 ? (_Bool)0 : (_Bool)0)) [L835] 0 y$r_buff0_thd0 = weak$$choice2 ? y$r_buff0_thd0 : (!y$w_buff0_used || !y$r_buff0_thd0 && !y$w_buff1_used || !y$r_buff0_thd0 && !y$r_buff1_thd0 ? y$r_buff0_thd0 : (y$w_buff0_used && y$r_buff0_thd0 ? (_Bool)0 : y$r_buff0_thd0)) [L836] 0 y$r_buff1_thd0 = weak$$choice2 ? y$r_buff1_thd0 : (!y$w_buff0_used || !y$r_buff0_thd0 && !y$w_buff1_used || !y$r_buff0_thd0 && !y$r_buff1_thd0 ? y$r_buff1_thd0 : (y$w_buff0_used && y$r_buff0_thd0 ? (_Bool)0 : (_Bool)0)) [L837] 0 main$tmp_guard1 = !(y == 2 && __unbuffered_p1_EAX == 2 && __unbuffered_p1_EBX == 0) [L838] 0 y = y$flush_delayed ? y$mem_tmp : y [L839] 0 y$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, t1717=-1, t1718=0, weak$$choice0=0, weak$$choice2=0, x=1, y$flush_delayed=0, y$mem_tmp=2, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] [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=0, weak$$choice2=0, x=1, y$flush_delayed=0, y$mem_tmp=2, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] [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=0, weak$$choice2=0, x=1, y$flush_delayed=0, y$mem_tmp=2, y$r_buff0_thd0=0, y$r_buff0_thd1=0, y$r_buff0_thd2=1, y$r_buff1_thd0=0, y$r_buff1_thd1=0, y$r_buff1_thd2=0, y$read_delayed=0, y$read_delayed_var={0:0}, y$w_buff0=2, y$w_buff0_used=0, y$w_buff1=0, y$w_buff1_used=0, y=2] - 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: 6.2s, OverallIterations: 7, TraceHistogramMax: 1, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 1.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 242 SdHoareTripleChecker+Valid, 0.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 220 mSDsluCounter, 125 SdHoareTripleChecker+Invalid, 0.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 102 mSDsCounter, 37 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 638 IncrementalHoareTripleChecker+Invalid, 675 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 37 mSolverCounterUnsat, 23 mSDtfsCounter, 638 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 52 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=139occurred in iteration=4, InterpolantAutomatonStates: 38, 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.3s SatisfiabilityAnalysisTime, 4.0s InterpolantComputationTime, 120 NumberOfCodeBlocks, 120 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 91 ConstructedInterpolants, 0 QuantifiedInterpolants, 866 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 6 InterpolantComputations, 6 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2025-01-09 16:29:17,524 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