/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/settings/automizer/concurrent/svcomp-Reach-32bit-Automizer_Default-noMmResRef-MCRwithDepranks.epf -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -i ../../../trunk/examples/concurrent/bpl/regression/showcase/PetersonWithBug.bpl -------------------------------------------------------------------------------- This is Ultimate 0.2.2-?-bc289cb [2022-01-29 06:59:10,814 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-01-29 06:59:10,816 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-01-29 06:59:10,861 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-01-29 06:59:10,861 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-01-29 06:59:10,863 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-01-29 06:59:10,865 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-01-29 06:59:10,867 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-01-29 06:59:10,869 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-01-29 06:59:10,872 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-01-29 06:59:10,872 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-01-29 06:59:10,873 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-01-29 06:59:10,873 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-01-29 06:59:10,876 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-01-29 06:59:10,877 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-01-29 06:59:10,879 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-01-29 06:59:10,879 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-01-29 06:59:10,880 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-01-29 06:59:10,881 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-01-29 06:59:10,885 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-01-29 06:59:10,885 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-01-29 06:59:10,886 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-01-29 06:59:10,887 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-01-29 06:59:10,888 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-01-29 06:59:10,892 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-01-29 06:59:10,893 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-01-29 06:59:10,893 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-01-29 06:59:10,894 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-01-29 06:59:10,894 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-01-29 06:59:10,895 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-01-29 06:59:10,895 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-01-29 06:59:10,895 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-01-29 06:59:10,897 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-01-29 06:59:10,897 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-01-29 06:59:10,898 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-01-29 06:59:10,898 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-01-29 06:59:10,899 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-01-29 06:59:10,899 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-01-29 06:59:10,899 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-01-29 06:59:10,899 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-01-29 06:59:10,900 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-01-29 06:59:10,901 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/concurrent/svcomp-Reach-32bit-Automizer_Default-noMmResRef-MCRwithDepranks.epf [2022-01-29 06:59:10,926 INFO L113 SettingsManager]: Loading preferences was successful [2022-01-29 06:59:10,926 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-01-29 06:59:10,926 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-01-29 06:59:10,926 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-01-29 06:59:10,927 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-01-29 06:59:10,927 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-01-29 06:59:10,927 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-01-29 06:59:10,928 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-01-29 06:59:10,928 INFO L138 SettingsManager]: * Use SBE=true [2022-01-29 06:59:10,928 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-01-29 06:59:10,928 INFO L138 SettingsManager]: * sizeof long=4 [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * sizeof long double=12 [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-01-29 06:59:10,929 INFO L138 SettingsManager]: * Use constant arrays=true [2022-01-29 06:59:10,930 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-01-29 06:59:10,930 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-01-29 06:59:10,930 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-01-29 06:59:10,930 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-01-29 06:59:10,931 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-01-29 06:59:10,931 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-01-29 06:59:10,931 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-01-29 06:59:10,931 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-01-29 06:59:10,931 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-01-29 06:59:10,931 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-01-29 06:59:10,932 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-01-29 06:59:10,932 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-01-29 06:59:10,932 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2022-01-29 06:59:10,932 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-01-29 06:59:10,932 INFO L138 SettingsManager]: * Partial Order Reduction in concurrent analysis=MCR_WITH_DEPRANKS [2022-01-29 06:59:10,932 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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 [2022-01-29 06:59:11,112 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-01-29 06:59:11,133 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-01-29 06:59:11,134 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-01-29 06:59:11,135 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2022-01-29 06:59:11,138 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2022-01-29 06:59:11,139 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/regression/showcase/PetersonWithBug.bpl [2022-01-29 06:59:11,139 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/regression/showcase/PetersonWithBug.bpl' [2022-01-29 06:59:11,162 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-01-29 06:59:11,164 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-01-29 06:59:11,164 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-01-29 06:59:11,165 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-01-29 06:59:11,165 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-01-29 06:59:11,173 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,177 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,182 INFO L137 Inliner]: procedures = 3, calls = 2, calls flagged for inlining = 0, calls inlined = 0, statements flattened = 0 [2022-01-29 06:59:11,183 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-01-29 06:59:11,184 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-01-29 06:59:11,184 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-01-29 06:59:11,184 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-01-29 06:59:11,190 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,190 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,191 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,191 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,194 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,196 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,197 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,198 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-01-29 06:59:11,198 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-01-29 06:59:11,198 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-01-29 06:59:11,199 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-01-29 06:59:11,199 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/1) ... [2022-01-29 06:59:11,204 INFO L168 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-01-29 06:59:11,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-01-29 06:59:11,270 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-01-29 06:59:11,289 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-01-29 06:59:11,300 INFO L124 BoogieDeclarations]: Specification and implementation of procedure Process0 given in one single declaration [2022-01-29 06:59:11,300 INFO L130 BoogieDeclarations]: Found specification of procedure Process0 [2022-01-29 06:59:11,300 INFO L138 BoogieDeclarations]: Found implementation of procedure Process0 [2022-01-29 06:59:11,301 INFO L124 BoogieDeclarations]: Specification and implementation of procedure Process1 given in one single declaration [2022-01-29 06:59:11,301 INFO L130 BoogieDeclarations]: Found specification of procedure Process1 [2022-01-29 06:59:11,301 INFO L138 BoogieDeclarations]: Found implementation of procedure Process1 [2022-01-29 06:59:11,301 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2022-01-29 06:59:11,301 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-01-29 06:59:11,301 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-01-29 06:59:11,302 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-01-29 06:59:11,335 INFO L234 CfgBuilder]: Building ICFG [2022-01-29 06:59:11,337 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-01-29 06:59:11,392 INFO L275 CfgBuilder]: Performing block encoding [2022-01-29 06:59:11,397 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-01-29 06:59:11,397 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-01-29 06:59:11,402 INFO L202 PluginConnector]: Adding new model PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 29.01 06:59:11 BoogieIcfgContainer [2022-01-29 06:59:11,402 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-01-29 06:59:11,404 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-01-29 06:59:11,404 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-01-29 06:59:11,410 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-01-29 06:59:11,410 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 29.01 06:59:11" (1/2) ... [2022-01-29 06:59:11,411 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@155233ff and model type PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 29.01 06:59:11, skipping insertion in model container [2022-01-29 06:59:11,411 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 29.01 06:59:11" (2/2) ... [2022-01-29 06:59:11,412 INFO L111 eAbstractionObserver]: Analyzing ICFG PetersonWithBug.bpl [2022-01-29 06:59:11,415 WARN L149 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-01-29 06:59:11,415 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-01-29 06:59:11,415 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2022-01-29 06:59:11,415 INFO L513 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-01-29 06:59:11,448 WARN L322 ript$VariableManager]: TermVariabe Process0Thread1of1ForFork0_x not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-01-29 06:59:11,448 WARN L322 ript$VariableManager]: TermVariabe Process0Thread1of1ForFork0_y not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-01-29 06:59:11,450 WARN L322 ript$VariableManager]: TermVariabe Process1Thread1of1ForFork1_a not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-01-29 06:59:11,450 WARN L322 ript$VariableManager]: TermVariabe Process1Thread1of1ForFork1_b not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-01-29 06:59:11,451 INFO L148 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2022-01-29 06:59:11,479 INFO L168 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2022-01-29 06:59:11,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-01-29 06:59:11,481 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2022-01-29 06:59:11,482 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2022-01-29 06:59:11,515 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-01-29 06:59:11,519 INFO L339 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, mHoare=true, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mLoopAccelerationTechnique=FAST_UPR [2022-01-29 06:59:11,520 INFO L340 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2022-01-29 06:59:11,581 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-01-29 06:59:11,598 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-01-29 06:59:11,598 INFO L85 PathProgramCache]: Analyzing trace with hash -2134110811, now seen corresponding path program 1 times [2022-01-29 06:59:11,608 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-01-29 06:59:11,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1968888509] [2022-01-29 06:59:11,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-01-29 06:59:11,610 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-01-29 06:59:11,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-01-29 06:59:11,702 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-01-29 06:59:11,702 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-01-29 06:59:11,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1968888509] [2022-01-29 06:59:11,703 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1968888509] provided 1 perfect and 0 imperfect interpolant sequences [2022-01-29 06:59:11,703 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-01-29 06:59:11,703 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2022-01-29 06:59:11,704 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1905180704] [2022-01-29 06:59:11,705 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-01-29 06:59:11,708 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-01-29 06:59:11,708 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-01-29 06:59:11,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-01-29 06:59:11,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-01-29 06:59:11,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:11,725 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-01-29 06:59:11,726 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 3.0) internal successors, (6), 2 states have internal predecessors, (6), 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) [2022-01-29 06:59:11,726 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:11,795 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-01-29 06:59:11,795 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-01-29 06:59:11,795 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-01-29 06:59:11,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-01-29 06:59:11,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1853723464, now seen corresponding path program 1 times [2022-01-29 06:59:11,796 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-01-29 06:59:11,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1923398973] [2022-01-29 06:59:11,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-01-29 06:59:11,797 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-01-29 06:59:11,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-01-29 06:59:11,934 INFO L134 CoverageAnalysis]: Checked inductivity of 1554 backedges. 735 proven. 0 refuted. 0 times theorem prover too weak. 819 trivial. 0 not checked. [2022-01-29 06:59:11,935 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-01-29 06:59:11,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1923398973] [2022-01-29 06:59:11,935 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1923398973] provided 1 perfect and 0 imperfect interpolant sequences [2022-01-29 06:59:11,935 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-01-29 06:59:11,935 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-01-29 06:59:11,935 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1592503497] [2022-01-29 06:59:11,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-01-29 06:59:11,937 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-01-29 06:59:11,937 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-01-29 06:59:11,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-01-29 06:59:11,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-01-29 06:59:11,937 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:11,937 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-01-29 06:59:11,938 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 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) [2022-01-29 06:59:11,938 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2022-01-29 06:59:11,938 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:12,026 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-01-29 06:59:12,027 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,027 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-01-29 06:59:12,027 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-01-29 06:59:12,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-01-29 06:59:12,043 INFO L85 PathProgramCache]: Analyzing trace with hash -1993224908, now seen corresponding path program 2 times [2022-01-29 06:59:12,043 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-01-29 06:59:12,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6729160] [2022-01-29 06:59:12,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-01-29 06:59:12,044 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-01-29 06:59:12,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-01-29 06:59:12,211 INFO L134 CoverageAnalysis]: Checked inductivity of 4305 backedges. 2163 proven. 0 refuted. 0 times theorem prover too weak. 2142 trivial. 0 not checked. [2022-01-29 06:59:12,211 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-01-29 06:59:12,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [6729160] [2022-01-29 06:59:12,212 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [6729160] provided 1 perfect and 0 imperfect interpolant sequences [2022-01-29 06:59:12,212 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-01-29 06:59:12,212 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-01-29 06:59:12,213 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1365594306] [2022-01-29 06:59:12,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-01-29 06:59:12,214 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-01-29 06:59:12,214 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-01-29 06:59:12,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-01-29 06:59:12,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-01-29 06:59:12,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:12,217 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-01-29 06:59:12,217 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 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) [2022-01-29 06:59:12,217 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2022-01-29 06:59:12,218 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,218 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:12,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-01-29 06:59:12,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,256 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-01-29 06:59:12,257 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-01-29 06:59:12,257 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-01-29 06:59:12,258 INFO L85 PathProgramCache]: Analyzing trace with hash 1103069598, now seen corresponding path program 3 times [2022-01-29 06:59:12,258 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-01-29 06:59:12,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1817601992] [2022-01-29 06:59:12,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-01-29 06:59:12,258 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-01-29 06:59:12,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-01-29 06:59:12,321 INFO L134 CoverageAnalysis]: Checked inductivity of 2758 backedges. 1534 proven. 0 refuted. 0 times theorem prover too weak. 1224 trivial. 0 not checked. [2022-01-29 06:59:12,321 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-01-29 06:59:12,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1817601992] [2022-01-29 06:59:12,322 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1817601992] provided 1 perfect and 0 imperfect interpolant sequences [2022-01-29 06:59:12,322 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-01-29 06:59:12,322 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-01-29 06:59:12,322 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1833661527] [2022-01-29 06:59:12,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-01-29 06:59:12,323 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-01-29 06:59:12,323 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-01-29 06:59:12,323 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-01-29 06:59:12,325 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-01-29 06:59:12,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:12,325 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-01-29 06:59:12,326 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 8.0) internal successors, (32), 4 states have internal predecessors, (32), 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) [2022-01-29 06:59:12,326 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2022-01-29 06:59:12,326 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,326 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,326 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-01-29 06:59:12,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-01-29 06:59:12,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-01-29 06:59:12,431 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-01-29 06:59:12,431 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-01-29 06:59:12,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-01-29 06:59:12,432 INFO L85 PathProgramCache]: Analyzing trace with hash -451196312, now seen corresponding path program 1 times [2022-01-29 06:59:12,433 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-01-29 06:59:12,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [815358442] [2022-01-29 06:59:12,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-01-29 06:59:12,434 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-01-29 06:59:12,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-01-29 06:59:12,486 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-01-29 06:59:12,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-01-29 06:59:12,592 INFO L133 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-01-29 06:59:12,593 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-01-29 06:59:12,594 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location Process0Err0ASSERT_VIOLATIONASSERT (5 of 6 remaining) [2022-01-29 06:59:12,595 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location Process0Err0ASSERT_VIOLATIONASSERT (4 of 6 remaining) [2022-01-29 06:59:12,595 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location Process1Err0ASSERT_VIOLATIONASSERT (3 of 6 remaining) [2022-01-29 06:59:12,595 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (2 of 6 remaining) [2022-01-29 06:59:12,596 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION (1 of 6 remaining) [2022-01-29 06:59:12,596 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location Process1Err0ASSERT_VIOLATIONASSERT (0 of 6 remaining) [2022-01-29 06:59:12,596 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-01-29 06:59:12,602 INFO L732 BasicCegarLoop]: Path program histogram: [3, 1, 1] [2022-01-29 06:59:12,610 INFO L229 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2022-01-29 06:59:12,610 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2022-01-29 06:59:12,684 INFO L202 PluginConnector]: Adding new model PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 29.01 06:59:12 BasicIcfg [2022-01-29 06:59:12,685 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-01-29 06:59:12,685 INFO L158 Benchmark]: Toolchain (without parser) took 1521.43ms. Allocated memory was 212.9MB in the beginning and 262.1MB in the end (delta: 49.3MB). Free memory was 173.2MB in the beginning and 130.2MB in the end (delta: 43.1MB). Peak memory consumption was 92.7MB. Max. memory is 8.0GB. [2022-01-29 06:59:12,685 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.13ms. Allocated memory is still 212.9MB. Free memory was 174.2MB in the beginning and 174.2MB in the end (delta: 71.0kB). There was no memory consumed. Max. memory is 8.0GB. [2022-01-29 06:59:12,686 INFO L158 Benchmark]: Boogie Procedure Inliner took 18.66ms. Allocated memory is still 212.9MB. Free memory was 173.1MB in the beginning and 171.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-01-29 06:59:12,686 INFO L158 Benchmark]: Boogie Preprocessor took 13.41ms. Allocated memory is still 212.9MB. Free memory was 171.5MB in the beginning and 170.6MB in the end (delta: 915.8kB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-01-29 06:59:12,686 INFO L158 Benchmark]: RCFGBuilder took 204.04ms. Allocated memory is still 212.9MB. Free memory was 170.5MB in the beginning and 162.1MB in the end (delta: 8.5MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. [2022-01-29 06:59:12,687 INFO L158 Benchmark]: TraceAbstraction took 1280.62ms. Allocated memory was 212.9MB in the beginning and 262.1MB in the end (delta: 49.3MB). Free memory was 161.6MB in the beginning and 130.2MB in the end (delta: 31.4MB). Peak memory consumption was 81.1MB. Max. memory is 8.0GB. [2022-01-29 06:59:12,688 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.13ms. Allocated memory is still 212.9MB. Free memory was 174.2MB in the beginning and 174.2MB in the end (delta: 71.0kB). There was no memory consumed. Max. memory is 8.0GB. * Boogie Procedure Inliner took 18.66ms. Allocated memory is still 212.9MB. Free memory was 173.1MB in the beginning and 171.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 13.41ms. Allocated memory is still 212.9MB. Free memory was 171.5MB in the beginning and 170.6MB in the end (delta: 915.8kB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 204.04ms. Allocated memory is still 212.9MB. Free memory was 170.5MB in the beginning and 162.1MB in the end (delta: 8.5MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. * TraceAbstraction took 1280.62ms. Allocated memory was 212.9MB in the beginning and 262.1MB in the end (delta: 49.3MB). Free memory was 161.6MB in the beginning and 130.2MB in the end (delta: 31.4MB). Peak memory consumption was 81.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Independence relation benchmarks ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] ], Cache Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Statistics on independence cache: Total cache size (in pairs): 0, Positive cache size: 0, Positive conditional cache size: 0, Positive unconditional cache size: 0, Negative cache size: 0, Negative conditional cache size: 0, Negative unconditional cache size: 0, Eliminated conditions: 0, Maximal queried relation: -1, Independence queries for same thread: 0 - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 40]: assertion can be violated assertion can be violated We found a FailurePath: [L25] 0 critical := 0; VAL [critical=0] [L26] FORK 0 fork 0 Process0(); VAL [critical=0] [L37] 1 turn := 1; VAL [critical=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L27] FORK 0 fork 1 Process1(); VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=1, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=0, turn=1] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=0, turn=1] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=0, flag1=1, turn=0] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L41] 1 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L42] 1 critical := 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L43] 1 flag0 := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L37] 1 turn := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L59] 2 assert critical == 0; VAL [critical=0, flag0=0, flag1=1, turn=1] [L60] 2 critical := 1; VAL [critical=1, flag0=0, flag1=1, turn=1] [L61] 2 critical := 0; VAL [critical=0, flag0=0, flag1=1, turn=1] [L62] 2 flag1 := 0; VAL [critical=0, flag0=0, flag1=0, turn=1] [L56] 2 flag1 := 1; VAL [critical=0, flag0=0, flag1=1, turn=1] [L57] 2 turn := 0; VAL [critical=0, flag0=0, flag1=1, turn=0] [L58] 2 assume flag0 == 0 || turn == 1; VAL [critical=0, flag0=0, flag1=1, turn=0] [L38] 1 flag0 := 1; VAL [critical=0, flag0=1, flag1=1, turn=0] [L39] 1 assume flag1 == 0 || turn == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L59] 2 assert critical == 0; VAL [critical=0, flag0=1, flag1=1, turn=0] [L60] 2 critical := 1; VAL [critical=1, flag0=1, flag1=1, turn=0] [L40] 1 assert critical == 0; VAL [critical=1, flag0=1, flag1=1, turn=0] - UnprovableResult [Line: 59]: Unable to prove that assertion always holds Unable to prove that assertion always holds Reason: Not analyzed. - UnprovableResult [Line: 26]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 26]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 5 procedures, 47 locations, 6 error locations. Started 1 CEGAR loops. OverallTime: 1.1s, OverallIterations: 5, TraceHistogramMax: 0, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.3s, HoareTripleCheckerStatistics: , PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=0occurred in iteration=0, InterpolantAutomatonStates: 15, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.3s InterpolantComputationTime, 1206 NumberOfCodeBlocks, 1206 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 629 ConstructedInterpolants, 0 QuantifiedInterpolants, 687 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 4 InterpolantComputations, 4 PerfectInterpolantSequences, 8617/8617 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-01-29 06:59:12,728 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Forceful destruction successful, exit code 0 [2022-01-29 06:59:12,927 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...