./Ultimate.py --spec ../sv-benchmarks/c/properties/no-data-race.prp --file ../sv-benchmarks/c/pthread-race-challenges/per-thread-struct-in-array.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for data races Using default analysis Version 023d838f Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/pthread-race-challenges/per-thread-struct-in-array.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DataRace-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! data-race) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 0026ab1092a8a0465a20b39c2dea92fa9c4dc52098c477016ebc8544f5aaf0f0 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.fs.icfgbuilder-eval-023d838-m [2024-11-10 14:43:07,025 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-10 14:43:07,100 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DataRace-32bit-Automizer_Default.epf [2024-11-10 14:43:07,104 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-10 14:43:07,104 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-10 14:43:07,129 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-10 14:43:07,132 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-10 14:43:07,132 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-10 14:43:07,133 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-10 14:43:07,134 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-10 14:43:07,136 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-10 14:43:07,136 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-10 14:43:07,136 INFO L153 SettingsManager]: * Use SBE=true [2024-11-10 14:43:07,137 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-10 14:43:07,138 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-10 14:43:07,139 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-10 14:43:07,139 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-10 14:43:07,139 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-10 14:43:07,139 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-10 14:43:07,140 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-10 14:43:07,140 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-10 14:43:07,140 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-10 14:43:07,144 INFO L153 SettingsManager]: * Check absence of data races in concurrent programs=true [2024-11-10 14:43:07,144 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-10 14:43:07,144 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-10 14:43:07,145 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-10 14:43:07,145 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-10 14:43:07,145 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-10 14:43:07,145 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2024-11-10 14:43:07,146 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-10 14:43:07,146 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-10 14:43:07,146 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-10 14:43:07,146 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-10 14:43:07,146 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-10 14:43:07,147 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-10 14:43:07,147 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-10 14:43:07,147 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-10 14:43:07,147 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-10 14:43:07,147 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-10 14:43:07,148 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-10 14:43:07,148 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-10 14:43:07,148 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! data-race) ) 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 -> 0026ab1092a8a0465a20b39c2dea92fa9c4dc52098c477016ebc8544f5aaf0f0 [2024-11-10 14:43:07,421 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-10 14:43:07,444 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-10 14:43:07,447 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-10 14:43:07,448 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-10 14:43:07,449 INFO L274 PluginConnector]: CDTParser initialized [2024-11-10 14:43:07,450 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-race-challenges/per-thread-struct-in-array.i [2024-11-10 14:43:08,974 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-10 14:43:09,262 INFO L384 CDTParser]: Found 1 translation units. [2024-11-10 14:43:09,264 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-race-challenges/per-thread-struct-in-array.i [2024-11-10 14:43:09,290 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1f1a08778/c14d27b6f0d446c9878fa1186038a670/FLAG771444acb [2024-11-10 14:43:09,542 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1f1a08778/c14d27b6f0d446c9878fa1186038a670 [2024-11-10 14:43:09,545 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-10 14:43:09,546 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-10 14:43:09,547 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-10 14:43:09,547 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-10 14:43:09,551 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-10 14:43:09,552 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.11 02:43:09" (1/1) ... [2024-11-10 14:43:09,552 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@715a239c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:09, skipping insertion in model container [2024-11-10 14:43:09,552 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.11 02:43:09" (1/1) ... [2024-11-10 14:43:09,601 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-10 14:43:10,071 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-10 14:43:10,082 INFO L200 MainTranslator]: Completed pre-run [2024-11-10 14:43:10,137 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-10 14:43:10,199 INFO L204 MainTranslator]: Completed translation [2024-11-10 14:43:10,200 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10 WrapperNode [2024-11-10 14:43:10,200 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-10 14:43:10,201 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-10 14:43:10,201 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-10 14:43:10,201 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-10 14:43:10,207 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,233 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,261 INFO L138 Inliner]: procedures = 261, calls = 11, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 59 [2024-11-10 14:43:10,262 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-10 14:43:10,263 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-10 14:43:10,263 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-10 14:43:10,263 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-10 14:43:10,272 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,272 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,280 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,280 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,294 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,295 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,296 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,297 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,299 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-10 14:43:10,304 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2024-11-10 14:43:10,304 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2024-11-10 14:43:10,304 INFO L274 PluginConnector]: IcfgBuilder initialized [2024-11-10 14:43:10,305 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (1/1) ... [2024-11-10 14:43:10,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-10 14:43:10,324 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:43:10,342 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-11-10 14:43:10,345 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-11-10 14:43:10,388 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-11-10 14:43:10,389 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-11-10 14:43:10,389 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-11-10 14:43:10,389 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-10 14:43:10,389 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2024-11-10 14:43:10,390 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2024-11-10 14:43:10,390 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-10 14:43:10,390 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-10 14:43:10,391 WARN L225 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-10 14:43:10,520 INFO L256 CfgBuilder]: Building ICFG [2024-11-10 14:43:10,521 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-10 14:43:10,744 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-10 14:43:10,744 INFO L307 CfgBuilder]: Performing block encoding [2024-11-10 14:43:10,762 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-10 14:43:10,762 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2024-11-10 14:43:10,763 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 10.11 02:43:10 BoogieIcfgContainer [2024-11-10 14:43:10,763 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2024-11-10 14:43:10,765 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-10 14:43:10,765 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-10 14:43:10,769 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-10 14:43:10,769 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.11 02:43:09" (1/3) ... [2024-11-10 14:43:10,770 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@10b387ff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.11 02:43:10, skipping insertion in model container [2024-11-10 14:43:10,770 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 02:43:10" (2/3) ... [2024-11-10 14:43:10,772 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@10b387ff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.11 02:43:10, skipping insertion in model container [2024-11-10 14:43:10,772 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 10.11 02:43:10" (3/3) ... [2024-11-10 14:43:10,773 INFO L112 eAbstractionObserver]: Analyzing ICFG per-thread-struct-in-array.i [2024-11-10 14:43:10,791 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-10 14:43:10,792 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 3 error locations. [2024-11-10 14:43:10,792 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-10 14:43:10,852 INFO L143 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2024-11-10 14:43:10,898 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 85 places, 86 transitions, 179 flow [2024-11-10 14:43:10,960 INFO L124 PetriNetUnfolderBase]: 6/120 cut-off events. [2024-11-10 14:43:10,960 INFO L125 PetriNetUnfolderBase]: For 1/1 co-relation queries the response was YES. [2024-11-10 14:43:10,966 INFO L83 FinitePrefix]: Finished finitePrefix Result has 125 conditions, 120 events. 6/120 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 200 event pairs, 0 based on Foata normal form. 0/106 useless extension candidates. Maximal degree in co-relation 57. Up to 4 conditions per place. [2024-11-10 14:43:10,966 INFO L82 GeneralOperation]: Start removeDead. Operand has 85 places, 86 transitions, 179 flow [2024-11-10 14:43:10,971 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 85 places, 86 transitions, 179 flow [2024-11-10 14:43:10,984 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-10 14:43:10,991 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;@6c14a005, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-10 14:43:10,992 INFO L334 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2024-11-10 14:43:11,008 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-10 14:43:11,010 INFO L124 PetriNetUnfolderBase]: 3/53 cut-off events. [2024-11-10 14:43:11,010 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-11-10 14:43:11,010 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:11,011 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:11,012 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-10 14:43:11,018 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:11,019 INFO L85 PathProgramCache]: Analyzing trace with hash 340292846, now seen corresponding path program 1 times [2024-11-10 14:43:11,028 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:11,029 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1750662332] [2024-11-10 14:43:11,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:11,030 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:11,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:11,911 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:11,912 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:11,912 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1750662332] [2024-11-10 14:43:11,913 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1750662332] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 14:43:11,913 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 14:43:11,913 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-10 14:43:11,914 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [619398738] [2024-11-10 14:43:11,915 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 14:43:11,923 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-10 14:43:11,932 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:11,958 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-10 14:43:11,959 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2024-11-10 14:43:12,120 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 59 out of 86 [2024-11-10 14:43:12,124 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 85 places, 86 transitions, 179 flow. Second operand has 6 states, 6 states have (on average 60.5) internal successors, (363), 6 states have internal predecessors, (363), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:12,125 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:12,125 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 59 of 86 [2024-11-10 14:43:12,126 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:12,272 INFO L124 PetriNetUnfolderBase]: 71/371 cut-off events. [2024-11-10 14:43:12,272 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-10 14:43:12,274 INFO L83 FinitePrefix]: Finished finitePrefix Result has 562 conditions, 371 events. 71/371 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 24. Compared 1801 event pairs, 32 based on Foata normal form. 13/343 useless extension candidates. Maximal degree in co-relation 475. Up to 151 conditions per place. [2024-11-10 14:43:12,281 INFO L140 encePairwiseOnDemand]: 72/86 looper letters, 23 selfloop transitions, 22 changer transitions 1/104 dead transitions. [2024-11-10 14:43:12,282 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 90 places, 104 transitions, 305 flow [2024-11-10 14:43:12,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 14:43:12,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 14:43:12,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 403 transitions. [2024-11-10 14:43:12,298 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.7810077519379846 [2024-11-10 14:43:12,301 INFO L175 Difference]: Start difference. First operand has 85 places, 86 transitions, 179 flow. Second operand 6 states and 403 transitions. [2024-11-10 14:43:12,302 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 90 places, 104 transitions, 305 flow [2024-11-10 14:43:12,305 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 90 places, 104 transitions, 305 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-11-10 14:43:12,311 INFO L231 Difference]: Finished difference. Result has 95 places, 103 transitions, 321 flow [2024-11-10 14:43:12,313 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=86, PETRI_DIFFERENCE_MINUEND_FLOW=173, PETRI_DIFFERENCE_MINUEND_PLACES=85, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=83, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=73, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=321, PETRI_PLACES=95, PETRI_TRANSITIONS=103} [2024-11-10 14:43:12,316 INFO L277 CegarLoopForPetriNet]: 85 programPoint places, 10 predicate places. [2024-11-10 14:43:12,317 INFO L471 AbstractCegarLoop]: Abstraction has has 95 places, 103 transitions, 321 flow [2024-11-10 14:43:12,317 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 60.5) internal successors, (363), 6 states have internal predecessors, (363), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:12,317 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:12,317 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:12,317 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-10 14:43:12,318 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-10 14:43:12,318 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:12,318 INFO L85 PathProgramCache]: Analyzing trace with hash -360879285, now seen corresponding path program 1 times [2024-11-10 14:43:12,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:12,318 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1708699890] [2024-11-10 14:43:12,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:12,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:12,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:12,417 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:12,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:12,418 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1708699890] [2024-11-10 14:43:12,418 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1708699890] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 14:43:12,418 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 14:43:12,418 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-10 14:43:12,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1659677203] [2024-11-10 14:43:12,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 14:43:12,420 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-10 14:43:12,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:12,423 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-10 14:43:12,423 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-10 14:43:12,517 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 70 out of 86 [2024-11-10 14:43:12,518 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 95 places, 103 transitions, 321 flow. Second operand has 5 states, 5 states have (on average 71.4) internal successors, (357), 5 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:12,518 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:12,518 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 70 of 86 [2024-11-10 14:43:12,518 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:12,592 INFO L124 PetriNetUnfolderBase]: 33/237 cut-off events. [2024-11-10 14:43:12,593 INFO L125 PetriNetUnfolderBase]: For 31/33 co-relation queries the response was YES. [2024-11-10 14:43:12,595 INFO L83 FinitePrefix]: Finished finitePrefix Result has 411 conditions, 237 events. 33/237 cut-off events. For 31/33 co-relation queries the response was YES. Maximal size of possible extension queue 14. Compared 764 event pairs, 0 based on Foata normal form. 1/226 useless extension candidates. Maximal degree in co-relation 306. Up to 45 conditions per place. [2024-11-10 14:43:12,596 INFO L140 encePairwiseOnDemand]: 78/86 looper letters, 11 selfloop transitions, 2 changer transitions 5/108 dead transitions. [2024-11-10 14:43:12,596 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 99 places, 108 transitions, 367 flow [2024-11-10 14:43:12,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 14:43:12,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 14:43:12,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 439 transitions. [2024-11-10 14:43:12,600 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.8507751937984496 [2024-11-10 14:43:12,600 INFO L175 Difference]: Start difference. First operand has 95 places, 103 transitions, 321 flow. Second operand 6 states and 439 transitions. [2024-11-10 14:43:12,600 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 99 places, 108 transitions, 367 flow [2024-11-10 14:43:12,606 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 99 places, 108 transitions, 367 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-11-10 14:43:12,610 INFO L231 Difference]: Finished difference. Result has 103 places, 103 transitions, 339 flow [2024-11-10 14:43:12,610 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=86, PETRI_DIFFERENCE_MINUEND_FLOW=321, PETRI_DIFFERENCE_MINUEND_PLACES=94, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=103, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=101, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=339, PETRI_PLACES=103, PETRI_TRANSITIONS=103} [2024-11-10 14:43:12,611 INFO L277 CegarLoopForPetriNet]: 85 programPoint places, 18 predicate places. [2024-11-10 14:43:12,611 INFO L471 AbstractCegarLoop]: Abstraction has has 103 places, 103 transitions, 339 flow [2024-11-10 14:43:12,611 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 71.4) internal successors, (357), 5 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:12,611 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:12,612 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:12,612 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-10 14:43:12,612 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting threadErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-10 14:43:12,613 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:12,613 INFO L85 PathProgramCache]: Analyzing trace with hash -2144524894, now seen corresponding path program 1 times [2024-11-10 14:43:12,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:12,613 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1464467441] [2024-11-10 14:43:12,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:12,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:12,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:13,007 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:13,008 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:13,009 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1464467441] [2024-11-10 14:43:13,009 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1464467441] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 14:43:13,010 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 14:43:13,010 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-10 14:43:13,010 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [822534507] [2024-11-10 14:43:13,010 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 14:43:13,011 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-10 14:43:13,012 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:13,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-10 14:43:13,013 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2024-11-10 14:43:13,084 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 64 out of 86 [2024-11-10 14:43:13,086 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 103 places, 103 transitions, 339 flow. Second operand has 6 states, 6 states have (on average 66.0) internal successors, (396), 6 states have internal predecessors, (396), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:13,086 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:13,086 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 64 of 86 [2024-11-10 14:43:13,086 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:13,246 INFO L124 PetriNetUnfolderBase]: 130/481 cut-off events. [2024-11-10 14:43:13,246 INFO L125 PetriNetUnfolderBase]: For 141/161 co-relation queries the response was YES. [2024-11-10 14:43:13,248 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1089 conditions, 481 events. 130/481 cut-off events. For 141/161 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 2484 event pairs, 26 based on Foata normal form. 0/451 useless extension candidates. Maximal degree in co-relation 995. Up to 238 conditions per place. [2024-11-10 14:43:13,251 INFO L140 encePairwiseOnDemand]: 71/86 looper letters, 33 selfloop transitions, 48 changer transitions 8/146 dead transitions. [2024-11-10 14:43:13,253 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 105 places, 146 transitions, 657 flow [2024-11-10 14:43:13,254 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 14:43:13,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 14:43:13,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 441 transitions. [2024-11-10 14:43:13,255 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.8546511627906976 [2024-11-10 14:43:13,255 INFO L175 Difference]: Start difference. First operand has 103 places, 103 transitions, 339 flow. Second operand 6 states and 441 transitions. [2024-11-10 14:43:13,255 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 105 places, 146 transitions, 657 flow [2024-11-10 14:43:13,261 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 100 places, 146 transitions, 643 flow, removed 5 selfloop flow, removed 5 redundant places. [2024-11-10 14:43:13,265 INFO L231 Difference]: Finished difference. Result has 105 places, 138 transitions, 697 flow [2024-11-10 14:43:13,266 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=86, PETRI_DIFFERENCE_MINUEND_FLOW=325, PETRI_DIFFERENCE_MINUEND_PLACES=95, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=103, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=13, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=79, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=697, PETRI_PLACES=105, PETRI_TRANSITIONS=138} [2024-11-10 14:43:13,267 INFO L277 CegarLoopForPetriNet]: 85 programPoint places, 20 predicate places. [2024-11-10 14:43:13,268 INFO L471 AbstractCegarLoop]: Abstraction has has 105 places, 138 transitions, 697 flow [2024-11-10 14:43:13,268 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 66.0) internal successors, (396), 6 states have internal predecessors, (396), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:13,268 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:13,269 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:13,269 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-10 14:43:13,269 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 2 more)] === [2024-11-10 14:43:13,269 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:13,270 INFO L85 PathProgramCache]: Analyzing trace with hash 976405524, now seen corresponding path program 1 times [2024-11-10 14:43:13,270 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:13,270 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1756432613] [2024-11-10 14:43:13,271 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:13,271 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:13,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-10 14:43:13,306 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-10 14:43:13,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-10 14:43:13,353 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-10 14:43:13,354 INFO L325 BasicCegarLoop]: Counterexample is feasible [2024-11-10 14:43:13,355 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (4 of 5 remaining) [2024-11-10 14:43:13,357 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE (3 of 5 remaining) [2024-11-10 14:43:13,357 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE (2 of 5 remaining) [2024-11-10 14:43:13,358 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr0ASSERT_VIOLATIONDATA_RACE (1 of 5 remaining) [2024-11-10 14:43:13,358 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr0ASSERT_VIOLATIONDATA_RACE (0 of 5 remaining) [2024-11-10 14:43:13,359 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-11-10 14:43:13,359 INFO L407 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2024-11-10 14:43:13,361 WARN L244 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2024-11-10 14:43:13,362 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2024-11-10 14:43:13,384 INFO L143 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-11-10 14:43:13,387 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 104 places, 104 transitions, 224 flow [2024-11-10 14:43:13,408 INFO L124 PetriNetUnfolderBase]: 11/206 cut-off events. [2024-11-10 14:43:13,409 INFO L125 PetriNetUnfolderBase]: For 6/6 co-relation queries the response was YES. [2024-11-10 14:43:13,409 INFO L83 FinitePrefix]: Finished finitePrefix Result has 218 conditions, 206 events. 11/206 cut-off events. For 6/6 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 429 event pairs, 0 based on Foata normal form. 0/182 useless extension candidates. Maximal degree in co-relation 122. Up to 8 conditions per place. [2024-11-10 14:43:13,410 INFO L82 GeneralOperation]: Start removeDead. Operand has 104 places, 104 transitions, 224 flow [2024-11-10 14:43:13,411 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 104 places, 104 transitions, 224 flow [2024-11-10 14:43:13,412 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-10 14:43:13,413 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;@6c14a005, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-10 14:43:13,413 INFO L334 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2024-11-10 14:43:13,417 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-10 14:43:13,417 INFO L124 PetriNetUnfolderBase]: 3/53 cut-off events. [2024-11-10 14:43:13,418 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-11-10 14:43:13,418 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:13,418 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:13,418 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:13,418 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:13,419 INFO L85 PathProgramCache]: Analyzing trace with hash 1646478574, now seen corresponding path program 1 times [2024-11-10 14:43:13,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:13,419 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342222930] [2024-11-10 14:43:13,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:13,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:13,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:13,652 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:13,654 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:13,654 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1342222930] [2024-11-10 14:43:13,654 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1342222930] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 14:43:13,654 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 14:43:13,655 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-10 14:43:13,655 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [823636375] [2024-11-10 14:43:13,655 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 14:43:13,655 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-10 14:43:13,656 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:13,656 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-10 14:43:13,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2024-11-10 14:43:13,779 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 71 out of 104 [2024-11-10 14:43:13,780 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 104 places, 104 transitions, 224 flow. Second operand has 6 states, 6 states have (on average 72.5) internal successors, (435), 6 states have internal predecessors, (435), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:13,780 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:13,780 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 71 of 104 [2024-11-10 14:43:13,780 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:14,188 INFO L124 PetriNetUnfolderBase]: 903/2691 cut-off events. [2024-11-10 14:43:14,188 INFO L125 PetriNetUnfolderBase]: For 78/78 co-relation queries the response was YES. [2024-11-10 14:43:14,194 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4309 conditions, 2691 events. 903/2691 cut-off events. For 78/78 co-relation queries the response was YES. Maximal size of possible extension queue 142. Compared 20531 event pairs, 529 based on Foata normal form. 68/2475 useless extension candidates. Maximal degree in co-relation 2362. Up to 1385 conditions per place. [2024-11-10 14:43:14,206 INFO L140 encePairwiseOnDemand]: 86/104 looper letters, 30 selfloop transitions, 38 changer transitions 1/139 dead transitions. [2024-11-10 14:43:14,206 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 109 places, 139 transitions, 435 flow [2024-11-10 14:43:14,207 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 14:43:14,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 14:43:14,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 498 transitions. [2024-11-10 14:43:14,208 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.7980769230769231 [2024-11-10 14:43:14,208 INFO L175 Difference]: Start difference. First operand has 104 places, 104 transitions, 224 flow. Second operand 6 states and 498 transitions. [2024-11-10 14:43:14,208 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 109 places, 139 transitions, 435 flow [2024-11-10 14:43:14,237 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 109 places, 139 transitions, 435 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-11-10 14:43:14,240 INFO L231 Difference]: Finished difference. Result has 114 places, 137 transitions, 470 flow [2024-11-10 14:43:14,241 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=218, PETRI_DIFFERENCE_MINUEND_PLACES=104, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=101, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=9, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=87, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=470, PETRI_PLACES=114, PETRI_TRANSITIONS=137} [2024-11-10 14:43:14,242 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 10 predicate places. [2024-11-10 14:43:14,242 INFO L471 AbstractCegarLoop]: Abstraction has has 114 places, 137 transitions, 470 flow [2024-11-10 14:43:14,243 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 72.5) internal successors, (435), 6 states have internal predecessors, (435), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:14,243 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:14,243 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:14,243 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-11-10 14:43:14,244 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:14,244 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:14,244 INFO L85 PathProgramCache]: Analyzing trace with hash 1476172723, now seen corresponding path program 1 times [2024-11-10 14:43:14,245 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:14,245 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1066753981] [2024-11-10 14:43:14,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:14,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:14,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:14,326 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:14,326 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:14,326 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1066753981] [2024-11-10 14:43:14,327 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1066753981] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 14:43:14,327 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 14:43:14,327 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-10 14:43:14,327 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [932258808] [2024-11-10 14:43:14,327 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 14:43:14,328 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-10 14:43:14,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:14,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-10 14:43:14,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-10 14:43:14,405 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 86 out of 104 [2024-11-10 14:43:14,409 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 114 places, 137 transitions, 470 flow. Second operand has 5 states, 5 states have (on average 87.4) internal successors, (437), 5 states have internal predecessors, (437), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:14,409 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:14,409 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 86 of 104 [2024-11-10 14:43:14,409 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:14,581 INFO L124 PetriNetUnfolderBase]: 420/1436 cut-off events. [2024-11-10 14:43:14,582 INFO L125 PetriNetUnfolderBase]: For 350/408 co-relation queries the response was YES. [2024-11-10 14:43:14,587 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2691 conditions, 1436 events. 420/1436 cut-off events. For 350/408 co-relation queries the response was YES. Maximal size of possible extension queue 77. Compared 9315 event pairs, 112 based on Foata normal form. 1/1362 useless extension candidates. Maximal degree in co-relation 2141. Up to 520 conditions per place. [2024-11-10 14:43:14,594 INFO L140 encePairwiseOnDemand]: 96/104 looper letters, 14 selfloop transitions, 2 changer transitions 5/143 dead transitions. [2024-11-10 14:43:14,594 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 118 places, 143 transitions, 524 flow [2024-11-10 14:43:14,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 14:43:14,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 14:43:14,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 538 transitions. [2024-11-10 14:43:14,600 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.8621794871794872 [2024-11-10 14:43:14,600 INFO L175 Difference]: Start difference. First operand has 114 places, 137 transitions, 470 flow. Second operand 6 states and 538 transitions. [2024-11-10 14:43:14,600 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 118 places, 143 transitions, 524 flow [2024-11-10 14:43:14,605 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 118 places, 143 transitions, 524 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-11-10 14:43:14,607 INFO L231 Difference]: Finished difference. Result has 122 places, 138 transitions, 492 flow [2024-11-10 14:43:14,607 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=470, PETRI_DIFFERENCE_MINUEND_PLACES=113, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=137, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=135, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=492, PETRI_PLACES=122, PETRI_TRANSITIONS=138} [2024-11-10 14:43:14,608 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 18 predicate places. [2024-11-10 14:43:14,608 INFO L471 AbstractCegarLoop]: Abstraction has has 122 places, 138 transitions, 492 flow [2024-11-10 14:43:14,608 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 87.4) internal successors, (437), 5 states have internal predecessors, (437), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:14,609 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:14,609 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:14,609 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2024-11-10 14:43:14,609 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting threadErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:14,609 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:14,610 INFO L85 PathProgramCache]: Analyzing trace with hash 1183177106, now seen corresponding path program 1 times [2024-11-10 14:43:14,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:14,610 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1627621301] [2024-11-10 14:43:14,610 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:14,610 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:14,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:14,896 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:14,897 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:14,897 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1627621301] [2024-11-10 14:43:14,897 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1627621301] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 14:43:14,897 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 14:43:14,897 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-10 14:43:14,898 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1629022192] [2024-11-10 14:43:14,898 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 14:43:14,898 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-10 14:43:14,898 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:14,899 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-10 14:43:14,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2024-11-10 14:43:14,981 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 76 out of 104 [2024-11-10 14:43:14,982 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 122 places, 138 transitions, 492 flow. Second operand has 6 states, 6 states have (on average 78.0) internal successors, (468), 6 states have internal predecessors, (468), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:14,982 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:14,982 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 76 of 104 [2024-11-10 14:43:14,982 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:15,667 INFO L124 PetriNetUnfolderBase]: 1866/4640 cut-off events. [2024-11-10 14:43:15,667 INFO L125 PetriNetUnfolderBase]: For 1547/1681 co-relation queries the response was YES. [2024-11-10 14:43:15,682 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10869 conditions, 4640 events. 1866/4640 cut-off events. For 1547/1681 co-relation queries the response was YES. Maximal size of possible extension queue 210. Compared 36385 event pairs, 452 based on Foata normal form. 0/4350 useless extension candidates. Maximal degree in co-relation 10774. Up to 2580 conditions per place. [2024-11-10 14:43:15,704 INFO L140 encePairwiseOnDemand]: 85/104 looper letters, 63 selfloop transitions, 92 changer transitions 0/233 dead transitions. [2024-11-10 14:43:15,705 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 124 places, 233 transitions, 1238 flow [2024-11-10 14:43:15,705 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 14:43:15,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 14:43:15,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 543 transitions. [2024-11-10 14:43:15,707 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.8701923076923077 [2024-11-10 14:43:15,707 INFO L175 Difference]: Start difference. First operand has 122 places, 138 transitions, 492 flow. Second operand 6 states and 543 transitions. [2024-11-10 14:43:15,707 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 124 places, 233 transitions, 1238 flow [2024-11-10 14:43:15,716 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 120 places, 233 transitions, 1226 flow, removed 5 selfloop flow, removed 4 redundant places. [2024-11-10 14:43:15,719 INFO L231 Difference]: Finished difference. Result has 125 places, 225 transitions, 1316 flow [2024-11-10 14:43:15,720 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=480, PETRI_DIFFERENCE_MINUEND_PLACES=115, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=138, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=21, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=94, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=1316, PETRI_PLACES=125, PETRI_TRANSITIONS=225} [2024-11-10 14:43:15,720 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 21 predicate places. [2024-11-10 14:43:15,721 INFO L471 AbstractCegarLoop]: Abstraction has has 125 places, 225 transitions, 1316 flow [2024-11-10 14:43:15,722 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 78.0) internal successors, (468), 6 states have internal predecessors, (468), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:15,722 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:15,722 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:15,722 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-11-10 14:43:15,722 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:15,723 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:15,723 INFO L85 PathProgramCache]: Analyzing trace with hash -1594458775, now seen corresponding path program 1 times [2024-11-10 14:43:15,723 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:15,723 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [215308049] [2024-11-10 14:43:15,723 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:15,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:15,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:16,002 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-10 14:43:16,003 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:16,003 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [215308049] [2024-11-10 14:43:16,003 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [215308049] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 14:43:16,003 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 14:43:16,003 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-10 14:43:16,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [779802416] [2024-11-10 14:43:16,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 14:43:16,004 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-10 14:43:16,005 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:16,005 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-10 14:43:16,005 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2024-11-10 14:43:16,163 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 73 out of 104 [2024-11-10 14:43:16,164 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 125 places, 225 transitions, 1316 flow. Second operand has 6 states, 6 states have (on average 75.16666666666667) internal successors, (451), 6 states have internal predecessors, (451), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:16,164 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:16,164 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 73 of 104 [2024-11-10 14:43:16,164 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:16,872 INFO L124 PetriNetUnfolderBase]: 2323/5544 cut-off events. [2024-11-10 14:43:16,872 INFO L125 PetriNetUnfolderBase]: For 5333/5562 co-relation queries the response was YES. [2024-11-10 14:43:16,892 INFO L83 FinitePrefix]: Finished finitePrefix Result has 17466 conditions, 5544 events. 2323/5544 cut-off events. For 5333/5562 co-relation queries the response was YES. Maximal size of possible extension queue 253. Compared 44368 event pairs, 291 based on Foata normal form. 2/5314 useless extension candidates. Maximal degree in co-relation 13992. Up to 3131 conditions per place. [2024-11-10 14:43:16,926 INFO L140 encePairwiseOnDemand]: 89/104 looper letters, 145 selfloop transitions, 76 changer transitions 0/298 dead transitions. [2024-11-10 14:43:16,926 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 130 places, 298 transitions, 2250 flow [2024-11-10 14:43:16,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 14:43:16,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 14:43:16,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 506 transitions. [2024-11-10 14:43:16,928 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.8108974358974359 [2024-11-10 14:43:16,928 INFO L175 Difference]: Start difference. First operand has 125 places, 225 transitions, 1316 flow. Second operand 6 states and 506 transitions. [2024-11-10 14:43:16,928 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 130 places, 298 transitions, 2250 flow [2024-11-10 14:43:16,978 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 130 places, 298 transitions, 2232 flow, removed 9 selfloop flow, removed 0 redundant places. [2024-11-10 14:43:16,983 INFO L231 Difference]: Finished difference. Result has 135 places, 296 transitions, 2156 flow [2024-11-10 14:43:16,984 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=1298, PETRI_DIFFERENCE_MINUEND_PLACES=125, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=225, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=17, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=185, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=2156, PETRI_PLACES=135, PETRI_TRANSITIONS=296} [2024-11-10 14:43:16,984 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 31 predicate places. [2024-11-10 14:43:16,985 INFO L471 AbstractCegarLoop]: Abstraction has has 135 places, 296 transitions, 2156 flow [2024-11-10 14:43:16,985 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 75.16666666666667) internal successors, (451), 6 states have internal predecessors, (451), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:16,985 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:16,985 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:16,986 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2024-11-10 14:43:16,986 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:16,986 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:16,986 INFO L85 PathProgramCache]: Analyzing trace with hash -1645115060, now seen corresponding path program 1 times [2024-11-10 14:43:16,987 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:16,987 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [892019812] [2024-11-10 14:43:16,987 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:16,987 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:17,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:17,629 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:17,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:17,630 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [892019812] [2024-11-10 14:43:17,630 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [892019812] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:43:17,633 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [734878844] [2024-11-10 14:43:17,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:17,633 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:17,634 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:43:17,637 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:43:17,640 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-10 14:43:17,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:17,738 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-11-10 14:43:17,746 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:43:17,810 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:43:17,867 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:43:17,868 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:43:17,942 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:43:17,958 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:43:17,983 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:17,983 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:43:18,013 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:18,014 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:43:18,164 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:43:18,177 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:18,178 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:43:18,220 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)))) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)))))) is different from false [2024-11-10 14:43:18,292 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)))) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)))) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)))) is different from false [2024-11-10 14:43:18,312 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store |c_#race| |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)))) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store |c_#race| |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store |c_#race| |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)))) is different from false [2024-11-10 14:43:18,336 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)))))))) is different from false [2024-11-10 14:43:18,364 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)))) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_209 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_209 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_209) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:20,333 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 2 not checked. [2024-11-10 14:43:20,334 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [734878844] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:43:20,334 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:43:20,334 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 20 [2024-11-10 14:43:20,334 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [793741958] [2024-11-10 14:43:20,334 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:43:20,335 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-11-10 14:43:20,336 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:20,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-11-10 14:43:20,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=201, Unknown=5, NotChecked=160, Total=420 [2024-11-10 14:43:20,337 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:43:20,339 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 135 places, 296 transitions, 2156 flow. Second operand has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:20,339 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:20,339 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:43:20,339 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:23,195 INFO L124 PetriNetUnfolderBase]: 6647/14304 cut-off events. [2024-11-10 14:43:23,195 INFO L125 PetriNetUnfolderBase]: For 20583/20828 co-relation queries the response was YES. [2024-11-10 14:43:23,247 INFO L83 FinitePrefix]: Finished finitePrefix Result has 46913 conditions, 14304 events. 6647/14304 cut-off events. For 20583/20828 co-relation queries the response was YES. Maximal size of possible extension queue 529. Compared 125813 event pairs, 1490 based on Foata normal form. 91/13648 useless extension candidates. Maximal degree in co-relation 36684. Up to 8488 conditions per place. [2024-11-10 14:43:23,328 INFO L140 encePairwiseOnDemand]: 78/104 looper letters, 285 selfloop transitions, 135 changer transitions 0/470 dead transitions. [2024-11-10 14:43:23,329 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 151 places, 470 transitions, 4235 flow [2024-11-10 14:43:23,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2024-11-10 14:43:23,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2024-11-10 14:43:23,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 1015 transitions. [2024-11-10 14:43:23,334 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5740950226244343 [2024-11-10 14:43:23,335 INFO L175 Difference]: Start difference. First operand has 135 places, 296 transitions, 2156 flow. Second operand 17 states and 1015 transitions. [2024-11-10 14:43:23,335 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 151 places, 470 transitions, 4235 flow [2024-11-10 14:43:23,606 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 151 places, 470 transitions, 4091 flow, removed 72 selfloop flow, removed 0 redundant places. [2024-11-10 14:43:23,613 INFO L231 Difference]: Finished difference. Result has 159 places, 355 transitions, 3122 flow [2024-11-10 14:43:23,616 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=2012, PETRI_DIFFERENCE_MINUEND_PLACES=135, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=296, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=76, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=187, PETRI_DIFFERENCE_SUBTRAHEND_STATES=17, PETRI_FLOW=3122, PETRI_PLACES=159, PETRI_TRANSITIONS=355} [2024-11-10 14:43:23,616 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 55 predicate places. [2024-11-10 14:43:23,616 INFO L471 AbstractCegarLoop]: Abstraction has has 159 places, 355 transitions, 3122 flow [2024-11-10 14:43:23,617 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:23,618 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:23,619 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:23,639 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2024-11-10 14:43:23,823 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:23,824 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting threadErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:23,824 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:23,824 INFO L85 PathProgramCache]: Analyzing trace with hash -2089765154, now seen corresponding path program 1 times [2024-11-10 14:43:23,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:23,825 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1256826162] [2024-11-10 14:43:23,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:23,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:23,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:24,274 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:24,275 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:24,275 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1256826162] [2024-11-10 14:43:24,275 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1256826162] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:43:24,275 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [877176212] [2024-11-10 14:43:24,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:24,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:24,276 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:43:24,279 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:43:24,281 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-11-10 14:43:24,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:24,366 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-11-10 14:43:24,370 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:43:24,376 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:43:24,390 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:43:24,390 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:43:24,440 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-10 14:43:24,450 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2024-11-10 14:43:24,463 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:24,464 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 32 [2024-11-10 14:43:24,495 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:24,495 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 39 treesize of output 44 [2024-11-10 14:43:24,515 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 32 [2024-11-10 14:43:24,526 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:24,526 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:43:24,550 WARN L851 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_274 (Array Int Int))) (= |c_threadThread1of2ForFork0_#t~nondet4| (select (select (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) (+ c_threadThread1of2ForFork0_~t~0.offset 1)))) (forall ((v_ArrVal_274 (Array Int Int))) (= |c_threadThread1of2ForFork0_#t~nondet4| (select (select (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) (+ c_threadThread1of2ForFork0_~t~0.offset 3)))) (forall ((v_ArrVal_274 (Array Int Int))) (= |c_threadThread1of2ForFork0_#t~nondet4| (select (select (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) (+ c_threadThread1of2ForFork0_~t~0.offset 2)))) (forall ((v_ArrVal_274 (Array Int Int))) (= |c_threadThread1of2ForFork0_#t~nondet4| (select (select (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) c_threadThread1of2ForFork0_~t~0.offset)))) is different from false [2024-11-10 14:43:24,571 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (+ c_threadThread1of2ForFork0_~t~0.offset 3))) (let ((.cse0 (store |c_#race| c_threadThread1of2ForFork0_~t~0.base (store (select |c_#race| c_threadThread1of2ForFork0_~t~0.base) .cse1 |c_threadThread1of2ForFork0_#t~nondet4|)))) (and (forall ((v_ArrVal_274 (Array Int Int))) (= (select (select (store .cse0 |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) (+ c_threadThread1of2ForFork0_~t~0.offset 1)) |c_threadThread1of2ForFork0_#t~nondet4|)) (forall ((v_ArrVal_274 (Array Int Int))) (= |c_threadThread1of2ForFork0_#t~nondet4| (select (select (store .cse0 |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) c_threadThread1of2ForFork0_~t~0.offset))) (forall ((v_ArrVal_274 (Array Int Int))) (= |c_threadThread1of2ForFork0_#t~nondet4| (select (select (store .cse0 |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) (+ c_threadThread1of2ForFork0_~t~0.offset 2)))) (forall ((v_ArrVal_274 (Array Int Int))) (= |c_threadThread1of2ForFork0_#t~nondet4| (select (select (store .cse0 |c_ULTIMATE.start_main_~tids~0#1.base| v_ArrVal_274) c_threadThread1of2ForFork0_~t~0.base) .cse1)))))) is different from false [2024-11-10 14:43:28,542 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 2 not checked. [2024-11-10 14:43:28,542 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [877176212] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:43:28,542 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:43:28,542 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 18 [2024-11-10 14:43:28,542 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623838829] [2024-11-10 14:43:28,543 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:43:28,543 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2024-11-10 14:43:28,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:28,544 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2024-11-10 14:43:28,544 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=220, Unknown=9, NotChecked=62, Total=342 [2024-11-10 14:43:28,601 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 55 out of 104 [2024-11-10 14:43:28,602 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 159 places, 355 transitions, 3122 flow. Second operand has 19 states, 19 states have (on average 56.78947368421053) internal successors, (1079), 19 states have internal predecessors, (1079), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:28,602 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:28,602 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 55 of 104 [2024-11-10 14:43:28,603 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:31,664 INFO L124 PetriNetUnfolderBase]: 7071/14419 cut-off events. [2024-11-10 14:43:31,664 INFO L125 PetriNetUnfolderBase]: For 28564/28772 co-relation queries the response was YES. [2024-11-10 14:43:31,714 INFO L83 FinitePrefix]: Finished finitePrefix Result has 54602 conditions, 14419 events. 7071/14419 cut-off events. For 28564/28772 co-relation queries the response was YES. Maximal size of possible extension queue 562. Compared 123118 event pairs, 1063 based on Foata normal form. 253/13985 useless extension candidates. Maximal degree in co-relation 48962. Up to 5903 conditions per place. [2024-11-10 14:43:31,794 INFO L140 encePairwiseOnDemand]: 82/104 looper letters, 458 selfloop transitions, 366 changer transitions 8/892 dead transitions. [2024-11-10 14:43:31,794 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 181 places, 892 transitions, 9230 flow [2024-11-10 14:43:31,795 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2024-11-10 14:43:31,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2024-11-10 14:43:31,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 1558 transitions. [2024-11-10 14:43:31,801 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6513377926421404 [2024-11-10 14:43:31,801 INFO L175 Difference]: Start difference. First operand has 159 places, 355 transitions, 3122 flow. Second operand 23 states and 1558 transitions. [2024-11-10 14:43:31,802 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 181 places, 892 transitions, 9230 flow [2024-11-10 14:43:31,952 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 173 places, 892 transitions, 9172 flow, removed 12 selfloop flow, removed 8 redundant places. [2024-11-10 14:43:31,969 INFO L231 Difference]: Finished difference. Result has 185 places, 673 transitions, 7924 flow [2024-11-10 14:43:31,969 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=3082, PETRI_DIFFERENCE_MINUEND_PLACES=151, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=355, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=173, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=149, PETRI_DIFFERENCE_SUBTRAHEND_STATES=23, PETRI_FLOW=7924, PETRI_PLACES=185, PETRI_TRANSITIONS=673} [2024-11-10 14:43:31,970 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 81 predicate places. [2024-11-10 14:43:31,970 INFO L471 AbstractCegarLoop]: Abstraction has has 185 places, 673 transitions, 7924 flow [2024-11-10 14:43:31,971 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 56.78947368421053) internal successors, (1079), 19 states have internal predecessors, (1079), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:31,971 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:31,971 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:31,991 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-11-10 14:43:32,172 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2024-11-10 14:43:32,173 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:32,173 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:32,173 INFO L85 PathProgramCache]: Analyzing trace with hash -1349673976, now seen corresponding path program 2 times [2024-11-10 14:43:32,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:32,173 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596037736] [2024-11-10 14:43:32,174 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:32,174 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:32,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:32,709 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:32,709 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:32,709 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596037736] [2024-11-10 14:43:32,710 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [596037736] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:43:32,710 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1563010959] [2024-11-10 14:43:32,710 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-10 14:43:32,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:32,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:43:32,713 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:43:32,714 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-11-10 14:43:32,815 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-10 14:43:32,815 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-10 14:43:32,817 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-11-10 14:43:32,822 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:43:32,828 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:43:32,840 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:43:32,841 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:43:32,889 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:43:32,916 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:43:32,930 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:32,930 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:43:32,952 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:32,952 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:43:32,973 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:43:32,984 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:32,984 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:43:35,057 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)))))))) is different from false [2024-11-10 14:43:35,077 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 1)))))))) is different from false [2024-11-10 14:43:35,097 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) (.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) (.cse4 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse4 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_337 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_337) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse4) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:35,177 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:35,178 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 67 [2024-11-10 14:43:35,186 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:35,186 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 93 treesize of output 31 [2024-11-10 14:43:35,196 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:35,197 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 50 treesize of output 1 [2024-11-10 14:43:35,206 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:35,206 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:35,212 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:35,213 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:35,277 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2024-11-10 14:43:35,277 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1563010959] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:43:35,277 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:43:35,277 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 19 [2024-11-10 14:43:35,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161415010] [2024-11-10 14:43:35,278 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:43:35,278 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2024-11-10 14:43:35,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:35,279 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2024-11-10 14:43:35,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=223, Unknown=10, NotChecked=96, Total=380 [2024-11-10 14:43:35,281 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:43:35,282 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 185 places, 673 transitions, 7924 flow. Second operand has 20 states, 20 states have (on average 51.15) internal successors, (1023), 20 states have internal predecessors, (1023), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:35,283 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:35,283 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:43:35,283 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:39,162 INFO L124 PetriNetUnfolderBase]: 8499/17773 cut-off events. [2024-11-10 14:43:39,163 INFO L125 PetriNetUnfolderBase]: For 83513/84026 co-relation queries the response was YES. [2024-11-10 14:43:39,256 INFO L83 FinitePrefix]: Finished finitePrefix Result has 81643 conditions, 17773 events. 8499/17773 cut-off events. For 83513/84026 co-relation queries the response was YES. Maximal size of possible extension queue 635. Compared 157724 event pairs, 1750 based on Foata normal form. 203/17138 useless extension candidates. Maximal degree in co-relation 79887. Up to 9010 conditions per place. [2024-11-10 14:43:39,362 INFO L140 encePairwiseOnDemand]: 82/104 looper letters, 644 selfloop transitions, 371 changer transitions 2/1072 dead transitions. [2024-11-10 14:43:39,363 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 205 places, 1072 transitions, 14574 flow [2024-11-10 14:43:39,363 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2024-11-10 14:43:39,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2024-11-10 14:43:39,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 1269 transitions. [2024-11-10 14:43:39,368 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5810439560439561 [2024-11-10 14:43:39,368 INFO L175 Difference]: Start difference. First operand has 185 places, 673 transitions, 7924 flow. Second operand 21 states and 1269 transitions. [2024-11-10 14:43:39,368 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 205 places, 1072 transitions, 14574 flow [2024-11-10 14:43:39,965 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 199 places, 1072 transitions, 14350 flow, removed 106 selfloop flow, removed 6 redundant places. [2024-11-10 14:43:39,978 INFO L231 Difference]: Finished difference. Result has 206 places, 896 transitions, 12471 flow [2024-11-10 14:43:39,978 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=7700, PETRI_DIFFERENCE_MINUEND_PLACES=179, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=673, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=183, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=415, PETRI_DIFFERENCE_SUBTRAHEND_STATES=21, PETRI_FLOW=12471, PETRI_PLACES=206, PETRI_TRANSITIONS=896} [2024-11-10 14:43:39,979 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 102 predicate places. [2024-11-10 14:43:39,979 INFO L471 AbstractCegarLoop]: Abstraction has has 206 places, 896 transitions, 12471 flow [2024-11-10 14:43:39,979 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 51.15) internal successors, (1023), 20 states have internal predecessors, (1023), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:39,979 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:39,980 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:39,992 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-11-10 14:43:40,180 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:40,180 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:40,181 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:40,181 INFO L85 PathProgramCache]: Analyzing trace with hash 1180413264, now seen corresponding path program 3 times [2024-11-10 14:43:40,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:40,181 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1910343594] [2024-11-10 14:43:40,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:40,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:40,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:40,614 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:40,614 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:40,614 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1910343594] [2024-11-10 14:43:40,614 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1910343594] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:43:40,615 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [760962760] [2024-11-10 14:43:40,617 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-10 14:43:40,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:40,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:43:40,618 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:43:40,620 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-11-10 14:43:40,705 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-10 14:43:40,705 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-10 14:43:40,706 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-11-10 14:43:40,709 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:43:40,715 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:43:40,756 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:43:40,756 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:43:40,798 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:43:40,808 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:43:40,819 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:40,820 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:43:40,836 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:40,836 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:43:40,917 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:43:40,926 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:40,927 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:43:41,052 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_400 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)))) (forall ((v_ArrVal_400 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)))) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)) |c_ULTIMATE.start_main_#t~nondet9#1|)))) is different from false [2024-11-10 14:43:41,068 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_400 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1))) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:41,086 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) (.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_400 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1))) (forall ((v_ArrVal_400 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)))) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:41,098 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) (.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) (.cse4 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse4 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_400 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3))) (forall ((v_ArrVal_400 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_400) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse4) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:41,113 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:41,113 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 67 [2024-11-10 14:43:41,120 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:41,121 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 93 treesize of output 31 [2024-11-10 14:43:41,131 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:41,132 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 50 treesize of output 1 [2024-11-10 14:43:41,140 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:41,140 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:41,148 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:41,149 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:41,189 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2024-11-10 14:43:41,189 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [760962760] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:43:41,189 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:43:41,189 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 20 [2024-11-10 14:43:41,189 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2031642259] [2024-11-10 14:43:41,189 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:43:41,190 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-11-10 14:43:41,190 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:41,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-11-10 14:43:41,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=226, Unknown=8, NotChecked=132, Total=420 [2024-11-10 14:43:41,274 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:43:41,275 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 206 places, 896 transitions, 12471 flow. Second operand has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:41,276 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:41,276 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:43:41,276 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:45,746 INFO L124 PetriNetUnfolderBase]: 8916/18935 cut-off events. [2024-11-10 14:43:45,746 INFO L125 PetriNetUnfolderBase]: For 135371/136438 co-relation queries the response was YES. [2024-11-10 14:43:45,827 INFO L83 FinitePrefix]: Finished finitePrefix Result has 96561 conditions, 18935 events. 8916/18935 cut-off events. For 135371/136438 co-relation queries the response was YES. Maximal size of possible extension queue 683. Compared 172247 event pairs, 1887 based on Foata normal form. 272/18314 useless extension candidates. Maximal degree in co-relation 94849. Up to 11116 conditions per place. [2024-11-10 14:43:45,897 INFO L140 encePairwiseOnDemand]: 78/104 looper letters, 733 selfloop transitions, 356 changer transitions 1/1145 dead transitions. [2024-11-10 14:43:45,897 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 224 places, 1145 transitions, 18118 flow [2024-11-10 14:43:45,897 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2024-11-10 14:43:45,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2024-11-10 14:43:45,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 1145 transitions. [2024-11-10 14:43:45,900 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5794534412955465 [2024-11-10 14:43:45,900 INFO L175 Difference]: Start difference. First operand has 206 places, 896 transitions, 12471 flow. Second operand 19 states and 1145 transitions. [2024-11-10 14:43:45,900 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 224 places, 1145 transitions, 18118 flow [2024-11-10 14:43:46,455 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 212 places, 1145 transitions, 17822 flow, removed 127 selfloop flow, removed 12 redundant places. [2024-11-10 14:43:46,469 INFO L231 Difference]: Finished difference. Result has 218 places, 1036 transitions, 16279 flow [2024-11-10 14:43:46,470 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=12181, PETRI_DIFFERENCE_MINUEND_PLACES=194, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=896, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=220, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=570, PETRI_DIFFERENCE_SUBTRAHEND_STATES=19, PETRI_FLOW=16279, PETRI_PLACES=218, PETRI_TRANSITIONS=1036} [2024-11-10 14:43:46,471 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 114 predicate places. [2024-11-10 14:43:46,471 INFO L471 AbstractCegarLoop]: Abstraction has has 218 places, 1036 transitions, 16279 flow [2024-11-10 14:43:46,471 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:46,471 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:46,471 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:46,484 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-11-10 14:43:46,672 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:46,672 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:46,672 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:46,673 INFO L85 PathProgramCache]: Analyzing trace with hash -667850988, now seen corresponding path program 4 times [2024-11-10 14:43:46,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:46,673 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [189693798] [2024-11-10 14:43:46,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:46,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:46,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:47,245 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:47,245 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:47,246 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [189693798] [2024-11-10 14:43:47,246 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [189693798] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:43:47,246 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1831779308] [2024-11-10 14:43:47,246 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-10 14:43:47,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:47,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:43:47,248 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:43:47,249 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-10 14:43:47,371 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-10 14:43:47,372 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-10 14:43:47,374 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-11-10 14:43:47,380 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:43:47,386 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:43:47,419 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:43:47,419 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:43:47,459 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:43:47,483 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:43:47,498 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:47,499 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:43:47,517 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:47,518 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:43:47,545 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:43:47,555 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:47,555 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:43:47,576 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)))) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)) |c_ULTIMATE.start_main_#t~nondet9#1|)))) is different from false [2024-11-10 14:43:47,601 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)))) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:47,620 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 2)) (.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1))) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:47,641 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse4 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 1)) (.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3))) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:47,692 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) (.cse4 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse4 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_463 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_463 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_463) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse4))))))) is different from false [2024-11-10 14:43:47,708 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:47,709 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 67 [2024-11-10 14:43:47,717 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:47,718 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 93 treesize of output 31 [2024-11-10 14:43:47,728 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:47,728 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:47,734 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:47,734 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 50 treesize of output 1 [2024-11-10 14:43:47,741 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:47,742 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:47,784 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2024-11-10 14:43:47,785 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1831779308] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:43:47,785 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:43:47,785 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 20 [2024-11-10 14:43:47,785 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [48749175] [2024-11-10 14:43:47,785 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:43:47,786 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-11-10 14:43:47,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:47,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-11-10 14:43:47,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=206, Unknown=5, NotChecked=160, Total=420 [2024-11-10 14:43:47,864 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:43:47,866 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 218 places, 1036 transitions, 16279 flow. Second operand has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:47,866 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:47,866 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:43:47,866 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:43:53,378 INFO L124 PetriNetUnfolderBase]: 10142/21781 cut-off events. [2024-11-10 14:43:53,378 INFO L125 PetriNetUnfolderBase]: For 195834/196958 co-relation queries the response was YES. [2024-11-10 14:43:53,492 INFO L83 FinitePrefix]: Finished finitePrefix Result has 118501 conditions, 21781 events. 10142/21781 cut-off events. For 195834/196958 co-relation queries the response was YES. Maximal size of possible extension queue 797. Compared 204271 event pairs, 2134 based on Foata normal form. 370/21072 useless extension candidates. Maximal degree in co-relation 116774. Up to 11551 conditions per place. [2024-11-10 14:43:53,606 INFO L140 encePairwiseOnDemand]: 78/104 looper letters, 788 selfloop transitions, 628 changer transitions 1/1472 dead transitions. [2024-11-10 14:43:53,606 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 237 places, 1472 transitions, 26241 flow [2024-11-10 14:43:53,606 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2024-11-10 14:43:53,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2024-11-10 14:43:53,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 1209 transitions. [2024-11-10 14:43:53,609 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.58125 [2024-11-10 14:43:53,609 INFO L175 Difference]: Start difference. First operand has 218 places, 1036 transitions, 16279 flow. Second operand 20 states and 1209 transitions. [2024-11-10 14:43:53,609 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 237 places, 1472 transitions, 26241 flow [2024-11-10 14:43:54,497 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 225 places, 1472 transitions, 26134 flow, removed 25 selfloop flow, removed 12 redundant places. [2024-11-10 14:43:54,520 INFO L231 Difference]: Finished difference. Result has 231 places, 1325 transitions, 23957 flow [2024-11-10 14:43:54,521 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=16172, PETRI_DIFFERENCE_MINUEND_PLACES=206, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=1036, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=376, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=597, PETRI_DIFFERENCE_SUBTRAHEND_STATES=20, PETRI_FLOW=23957, PETRI_PLACES=231, PETRI_TRANSITIONS=1325} [2024-11-10 14:43:54,521 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 127 predicate places. [2024-11-10 14:43:54,521 INFO L471 AbstractCegarLoop]: Abstraction has has 231 places, 1325 transitions, 23957 flow [2024-11-10 14:43:54,522 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:54,522 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:43:54,522 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:43:54,535 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2024-11-10 14:43:54,722 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2024-11-10 14:43:54,723 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:43:54,723 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:43:54,723 INFO L85 PathProgramCache]: Analyzing trace with hash -1577746412, now seen corresponding path program 5 times [2024-11-10 14:43:54,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:43:54,724 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [589118863] [2024-11-10 14:43:54,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:43:54,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:43:54,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:43:55,359 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:55,359 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:43:55,359 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [589118863] [2024-11-10 14:43:55,359 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [589118863] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:43:55,360 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1371341058] [2024-11-10 14:43:55,360 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-10 14:43:55,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:43:55,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:43:55,362 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:43:55,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-11-10 14:43:55,452 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-10 14:43:55,452 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-10 14:43:55,453 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-11-10 14:43:55,457 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:43:55,463 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:43:55,498 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:43:55,498 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:43:55,538 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:43:55,545 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:43:55,559 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:55,559 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:43:55,608 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:55,608 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:43:55,633 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:43:55,643 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:43:55,644 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:43:55,664 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)))) (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)))) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)))))) is different from false [2024-11-10 14:43:55,691 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)))) (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:55,738 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)))) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:55,756 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) (.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)))) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:55,777 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) (.cse4 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) (.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse4 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1))) (forall ((v_ArrVal_528 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)))) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_528 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_528) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse4) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:43:55,796 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:55,796 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 67 [2024-11-10 14:43:55,801 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:43:55,802 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 93 treesize of output 31 [2024-11-10 14:43:55,812 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:55,812 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:55,817 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:55,817 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 50 treesize of output 1 [2024-11-10 14:43:55,823 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:43:55,823 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:43:55,862 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2024-11-10 14:43:55,863 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1371341058] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:43:55,863 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:43:55,863 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 20 [2024-11-10 14:43:55,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [145456601] [2024-11-10 14:43:55,863 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:43:55,863 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-11-10 14:43:55,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:43:55,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-11-10 14:43:55,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=206, Unknown=5, NotChecked=160, Total=420 [2024-11-10 14:43:55,866 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:43:55,868 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 231 places, 1325 transitions, 23957 flow. Second operand has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:43:55,868 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:43:55,868 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:43:55,868 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:44:02,154 INFO L124 PetriNetUnfolderBase]: 10560/22819 cut-off events. [2024-11-10 14:44:02,154 INFO L125 PetriNetUnfolderBase]: For 276558/278391 co-relation queries the response was YES. [2024-11-10 14:44:02,309 INFO L83 FinitePrefix]: Finished finitePrefix Result has 135857 conditions, 22819 events. 10560/22819 cut-off events. For 276558/278391 co-relation queries the response was YES. Maximal size of possible extension queue 868. Compared 217427 event pairs, 2273 based on Foata normal form. 516/22266 useless extension candidates. Maximal degree in co-relation 134124. Up to 13004 conditions per place. [2024-11-10 14:44:02,417 INFO L140 encePairwiseOnDemand]: 78/104 looper letters, 945 selfloop transitions, 592 changer transitions 1/1593 dead transitions. [2024-11-10 14:44:02,417 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 250 places, 1593 transitions, 31751 flow [2024-11-10 14:44:02,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2024-11-10 14:44:02,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2024-11-10 14:44:02,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 1207 transitions. [2024-11-10 14:44:02,420 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5802884615384616 [2024-11-10 14:44:02,420 INFO L175 Difference]: Start difference. First operand has 231 places, 1325 transitions, 23957 flow. Second operand 20 states and 1207 transitions. [2024-11-10 14:44:02,420 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 250 places, 1593 transitions, 31751 flow [2024-11-10 14:44:03,696 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 238 places, 1593 transitions, 30960 flow, removed 367 selfloop flow, removed 12 redundant places. [2024-11-10 14:44:03,724 INFO L231 Difference]: Finished difference. Result has 243 places, 1475 transitions, 29079 flow [2024-11-10 14:44:03,725 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=23282, PETRI_DIFFERENCE_MINUEND_PLACES=219, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=1325, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=462, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=799, PETRI_DIFFERENCE_SUBTRAHEND_STATES=20, PETRI_FLOW=29079, PETRI_PLACES=243, PETRI_TRANSITIONS=1475} [2024-11-10 14:44:03,726 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 139 predicate places. [2024-11-10 14:44:03,726 INFO L471 AbstractCegarLoop]: Abstraction has has 243 places, 1475 transitions, 29079 flow [2024-11-10 14:44:03,727 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:44:03,727 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:44:03,727 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:44:03,742 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2024-11-10 14:44:03,927 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:44:03,928 INFO L396 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:44:03,928 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:44:03,928 INFO L85 PathProgramCache]: Analyzing trace with hash -707109530, now seen corresponding path program 6 times [2024-11-10 14:44:03,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:44:03,929 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [333575184] [2024-11-10 14:44:03,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:44:03,929 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:44:03,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:44:04,395 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:44:04,395 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:44:04,395 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [333575184] [2024-11-10 14:44:04,396 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [333575184] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:44:04,396 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [309525608] [2024-11-10 14:44:04,396 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-10 14:44:04,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:44:04,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:44:04,398 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:44:04,399 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2024-11-10 14:44:04,505 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2024-11-10 14:44:04,506 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-10 14:44:04,507 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-11-10 14:44:04,510 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:44:04,513 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:44:04,526 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:44:04,526 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:44:04,570 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:44:04,579 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:44:04,632 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:04,632 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:44:04,650 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:04,651 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:44:04,667 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:44:04,675 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:44:04,675 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:44:04,697 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)))) (forall ((v_ArrVal_593 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)))) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)))))) is different from false [2024-11-10 14:44:04,710 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)))) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)))) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))))))) is different from false [2024-11-10 14:44:04,727 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_593 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3))))))) is different from false [2024-11-10 14:44:04,786 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) (.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1))) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)))) (forall ((v_ArrVal_593 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3))))))) is different from false [2024-11-10 14:44:04,805 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) (.cse4 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) (.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse4 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_593 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_593 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)))) (forall ((v_ArrVal_593 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_593 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_593) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse4) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:44:04,823 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:04,823 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 67 [2024-11-10 14:44:04,830 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:04,830 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 93 treesize of output 31 [2024-11-10 14:44:04,839 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:04,839 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 50 treesize of output 1 [2024-11-10 14:44:04,846 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:04,846 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:44:04,852 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:04,852 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:44:04,908 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2024-11-10 14:44:04,908 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [309525608] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:44:04,908 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:44:04,908 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 20 [2024-11-10 14:44:04,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1814833664] [2024-11-10 14:44:04,908 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:44:04,909 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-11-10 14:44:04,909 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:44:04,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-11-10 14:44:04,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=207, Unknown=5, NotChecked=160, Total=420 [2024-11-10 14:44:04,975 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:44:04,976 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 243 places, 1475 transitions, 29079 flow. Second operand has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:44:04,976 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:44:04,976 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:44:04,976 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:44:11,919 INFO L124 PetriNetUnfolderBase]: 10590/23090 cut-off events. [2024-11-10 14:44:11,920 INFO L125 PetriNetUnfolderBase]: For 315408/317100 co-relation queries the response was YES. [2024-11-10 14:44:12,085 INFO L83 FinitePrefix]: Finished finitePrefix Result has 142709 conditions, 23090 events. 10590/23090 cut-off events. For 315408/317100 co-relation queries the response was YES. Maximal size of possible extension queue 872. Compared 221356 event pairs, 2174 based on Foata normal form. 523/22520 useless extension candidates. Maximal degree in co-relation 140961. Up to 12557 conditions per place. [2024-11-10 14:44:12,474 INFO L140 encePairwiseOnDemand]: 78/104 looper letters, 957 selfloop transitions, 759 changer transitions 1/1772 dead transitions. [2024-11-10 14:44:12,474 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 262 places, 1772 transitions, 38045 flow [2024-11-10 14:44:12,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2024-11-10 14:44:12,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2024-11-10 14:44:12,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 1208 transitions. [2024-11-10 14:44:12,477 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5807692307692308 [2024-11-10 14:44:12,477 INFO L175 Difference]: Start difference. First operand has 243 places, 1475 transitions, 29079 flow. Second operand 20 states and 1208 transitions. [2024-11-10 14:44:12,477 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 262 places, 1772 transitions, 38045 flow [2024-11-10 14:44:13,900 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 248 places, 1772 transitions, 37318 flow, removed 283 selfloop flow, removed 14 redundant places. [2024-11-10 14:44:13,927 INFO L231 Difference]: Finished difference. Result has 253 places, 1645 transitions, 34942 flow [2024-11-10 14:44:13,928 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=28526, PETRI_DIFFERENCE_MINUEND_PLACES=229, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=1475, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=610, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=810, PETRI_DIFFERENCE_SUBTRAHEND_STATES=20, PETRI_FLOW=34942, PETRI_PLACES=253, PETRI_TRANSITIONS=1645} [2024-11-10 14:44:13,928 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 149 predicate places. [2024-11-10 14:44:13,928 INFO L471 AbstractCegarLoop]: Abstraction has has 253 places, 1645 transitions, 34942 flow [2024-11-10 14:44:13,929 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 51.095238095238095) internal successors, (1073), 21 states have internal predecessors, (1073), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:44:13,929 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:44:13,929 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:44:13,941 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2024-11-10 14:44:14,129 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:44:14,130 INFO L396 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:44:14,130 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:44:14,130 INFO L85 PathProgramCache]: Analyzing trace with hash 584683328, now seen corresponding path program 7 times [2024-11-10 14:44:14,130 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:44:14,130 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1779290432] [2024-11-10 14:44:14,130 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:44:14,130 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:44:14,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:44:14,566 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:44:14,566 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:44:14,566 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1779290432] [2024-11-10 14:44:14,567 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1779290432] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:44:14,567 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [543922996] [2024-11-10 14:44:14,567 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-10 14:44:14,567 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:44:14,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:44:14,569 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:44:14,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2024-11-10 14:44:14,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:44:14,654 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-11-10 14:44:14,656 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:44:14,658 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:44:14,692 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:44:14,692 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:44:14,720 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:44:14,726 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:44:14,736 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:14,737 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:44:14,790 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:14,790 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:44:14,818 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:44:14,827 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:44:14,828 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:44:14,851 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)))) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)) |c_ULTIMATE.start_main_#t~nondet9#1|)))) is different from false [2024-11-10 14:44:14,878 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:44:14,921 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)))) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:44:14,931 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)))))))) is different from false [2024-11-10 14:44:14,946 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3))))))) is different from false [2024-11-10 14:44:14,964 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse4 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 1)) (.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 2)) (.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1))) (forall ((v_ArrVal_656 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_656 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_656) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:44:14,980 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:14,981 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 67 [2024-11-10 14:44:14,987 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:14,988 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 111 treesize of output 35 [2024-11-10 14:44:14,996 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:14,996 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:44:15,005 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:15,005 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:44:15,011 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:15,012 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 50 treesize of output 1 [2024-11-10 14:44:15,051 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2024-11-10 14:44:15,052 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [543922996] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:44:15,052 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:44:15,052 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 21 [2024-11-10 14:44:15,052 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1710236187] [2024-11-10 14:44:15,052 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:44:15,052 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2024-11-10 14:44:15,053 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:44:15,053 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2024-11-10 14:44:15,053 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=207, Unknown=6, NotChecked=198, Total=462 [2024-11-10 14:44:15,153 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:44:15,154 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 253 places, 1645 transitions, 34942 flow. Second operand has 22 states, 22 states have (on average 51.04545454545455) internal successors, (1123), 22 states have internal predecessors, (1123), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:44:15,155 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:44:15,155 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:44:15,155 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 14:44:22,764 INFO L124 PetriNetUnfolderBase]: 11108/24473 cut-off events. [2024-11-10 14:44:22,764 INFO L125 PetriNetUnfolderBase]: For 368657/370916 co-relation queries the response was YES. [2024-11-10 14:44:22,951 INFO L83 FinitePrefix]: Finished finitePrefix Result has 157536 conditions, 24473 events. 11108/24473 cut-off events. For 368657/370916 co-relation queries the response was YES. Maximal size of possible extension queue 945. Compared 238946 event pairs, 2297 based on Foata normal form. 742/24063 useless extension candidates. Maximal degree in co-relation 155783. Up to 13820 conditions per place. [2024-11-10 14:44:23,062 INFO L140 encePairwiseOnDemand]: 78/104 looper letters, 1073 selfloop transitions, 796 changer transitions 0/1924 dead transitions. [2024-11-10 14:44:23,062 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 271 places, 1924 transitions, 44491 flow [2024-11-10 14:44:23,063 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2024-11-10 14:44:23,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2024-11-10 14:44:23,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 1134 transitions. [2024-11-10 14:44:23,064 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5738866396761133 [2024-11-10 14:44:23,064 INFO L175 Difference]: Start difference. First operand has 253 places, 1645 transitions, 34942 flow. Second operand 19 states and 1134 transitions. [2024-11-10 14:44:23,065 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 271 places, 1924 transitions, 44491 flow [2024-11-10 14:44:25,141 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 259 places, 1924 transitions, 44199 flow, removed 116 selfloop flow, removed 12 redundant places. [2024-11-10 14:44:25,190 INFO L231 Difference]: Finished difference. Result has 266 places, 1839 transitions, 42869 flow [2024-11-10 14:44:25,192 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=104, PETRI_DIFFERENCE_MINUEND_FLOW=34653, PETRI_DIFFERENCE_MINUEND_PLACES=241, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=1645, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=619, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=935, PETRI_DIFFERENCE_SUBTRAHEND_STATES=19, PETRI_FLOW=42869, PETRI_PLACES=266, PETRI_TRANSITIONS=1839} [2024-11-10 14:44:25,192 INFO L277 CegarLoopForPetriNet]: 104 programPoint places, 162 predicate places. [2024-11-10 14:44:25,193 INFO L471 AbstractCegarLoop]: Abstraction has has 266 places, 1839 transitions, 42869 flow [2024-11-10 14:44:25,193 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 51.04545454545455) internal successors, (1123), 22 states have internal predecessors, (1123), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:44:25,193 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 14:44:25,194 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-10 14:44:25,211 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2024-11-10 14:44:25,394 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2024-11-10 14:44:25,395 INFO L396 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 3 more)] === [2024-11-10 14:44:25,395 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 14:44:25,396 INFO L85 PathProgramCache]: Analyzing trace with hash -1163189826, now seen corresponding path program 8 times [2024-11-10 14:44:25,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 14:44:25,396 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1297085722] [2024-11-10 14:44:25,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 14:44:25,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 14:44:25,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 14:44:25,853 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:44:25,853 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 14:44:25,853 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1297085722] [2024-11-10 14:44:25,854 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1297085722] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 14:44:25,854 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [796188157] [2024-11-10 14:44:25,854 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-10 14:44:25,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 14:44:25,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 14:44:25,855 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-10 14:44:25,856 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2024-11-10 14:44:25,954 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-10 14:44:25,954 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-10 14:44:25,956 INFO L255 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-11-10 14:44:25,958 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 14:44:25,960 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2024-11-10 14:44:25,990 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-11-10 14:44:25,991 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-11-10 14:44:26,031 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2024-11-10 14:44:26,056 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2024-11-10 14:44:26,070 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:26,070 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 42 [2024-11-10 14:44:26,085 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:26,086 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 52 treesize of output 57 [2024-11-10 14:44:26,111 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 45 [2024-11-10 14:44:26,122 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 14:44:26,123 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 14:44:26,147 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (and (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 3)))) (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 2)))) (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store |c_#race| c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse0 1)) |c_ULTIMATE.start_main_#t~nondet9#1|)))) is different from false [2024-11-10 14:44:26,175 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)))) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:44:26,194 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1))) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3)) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse3 1)))))))) is different from false [2024-11-10 14:44:26,212 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 1)) (.cse4 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 2)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse4 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse1)))) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~t~0.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse4))))))) is different from false [2024-11-10 14:44:26,259 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse4 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 1)) (.cse2 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 2)) (.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse2 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse2))) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3))) (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store .cse0 c_threadThread1of2ForFork0_~arg.base v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse4)) |c_ULTIMATE.start_main_#t~nondet9#1|)))))) is different from false [2024-11-10 14:44:26,272 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (* |c_ULTIMATE.start_main_~i~0#1| 4))) (let ((.cse1 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 1)) (.cse4 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 2)) (.cse3 (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2 3))) (let ((.cse0 (store |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base| (store (store (store (select |c_#race| |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse4 |c_ULTIMATE.start_main_#t~nondet9#1|) .cse3 |c_ULTIMATE.start_main_#t~nondet9#1|)))) (and (forall ((v_ArrVal_719 (Array Int Int))) (= (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse1) |c_ULTIMATE.start_main_#t~nondet9#1|)) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) (+ |c_ULTIMATE.start_main_~tids~0#1.offset| .cse2)))) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse3))) (forall ((v_ArrVal_719 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~nondet9#1| (select (select (store .cse0 |c_threadThread1of2ForFork0_#in~arg.base| v_ArrVal_719) |c_ULTIMATE.start_main_~tids~0#1.base|) .cse4))))))) is different from false [2024-11-10 14:44:26,285 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:26,286 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 67 [2024-11-10 14:44:26,291 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-10 14:44:26,291 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 115 treesize of output 35 [2024-11-10 14:44:26,298 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:26,298 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:44:26,302 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:26,302 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 51 treesize of output 1 [2024-11-10 14:44:26,307 INFO L349 Elim1Store]: treesize reduction 51, result has 1.9 percent of original size [2024-11-10 14:44:26,307 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 4 case distinctions, treesize of input 50 treesize of output 1 [2024-11-10 14:44:26,338 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2024-11-10 14:44:26,338 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [796188157] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 14:44:26,338 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 14:44:26,339 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 13] total 21 [2024-11-10 14:44:26,339 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1803087780] [2024-11-10 14:44:26,339 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 14:44:26,339 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2024-11-10 14:44:26,340 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 14:44:26,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2024-11-10 14:44:26,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=207, Unknown=6, NotChecked=198, Total=462 [2024-11-10 14:44:26,406 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 49 out of 104 [2024-11-10 14:44:26,407 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 266 places, 1839 transitions, 42869 flow. Second operand has 22 states, 22 states have (on average 51.04545454545455) internal successors, (1123), 22 states have internal predecessors, (1123), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-10 14:44:26,407 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 14:44:26,408 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 49 of 104 [2024-11-10 14:44:26,408 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand