/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-Lazy-NoForkJoinOpt.epf -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -i ../../../trunk/examples/concurrent/bpl/regression/showcase/PetersonWithBug.bpl -------------------------------------------------------------------------------- This is Ultimate 0.2.2-wip.dk.mcr-reduction-4b0ab11 [2022-03-02 03:29:54,185 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-03-02 03:29:54,222 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-03-02 03:29:54,253 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-03-02 03:29:54,253 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-03-02 03:29:54,254 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-03-02 03:29:54,260 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-03-02 03:29:54,265 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-03-02 03:29:54,267 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-03-02 03:29:54,270 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-03-02 03:29:54,271 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-03-02 03:29:54,272 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-03-02 03:29:54,272 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-03-02 03:29:54,274 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-03-02 03:29:54,275 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-03-02 03:29:54,276 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-03-02 03:29:54,276 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-03-02 03:29:54,277 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-03-02 03:29:54,280 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-03-02 03:29:54,285 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-03-02 03:29:54,286 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-03-02 03:29:54,288 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-03-02 03:29:54,289 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-03-02 03:29:54,289 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-03-02 03:29:54,293 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-03-02 03:29:54,293 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-03-02 03:29:54,293 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-03-02 03:29:54,294 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-03-02 03:29:54,294 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-03-02 03:29:54,295 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-03-02 03:29:54,295 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-03-02 03:29:54,295 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-03-02 03:29:54,296 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-03-02 03:29:54,296 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-03-02 03:29:54,296 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-03-02 03:29:54,297 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-03-02 03:29:54,297 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-03-02 03:29:54,297 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-03-02 03:29:54,297 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-03-02 03:29:54,298 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-03-02 03:29:54,298 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-03-02 03:29:54,302 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-Lazy-NoForkJoinOpt.epf [2022-03-02 03:29:54,323 INFO L113 SettingsManager]: Loading preferences was successful [2022-03-02 03:29:54,324 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-03-02 03:29:54,325 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-03-02 03:29:54,325 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-03-02 03:29:54,326 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-03-02 03:29:54,326 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-03-02 03:29:54,326 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-03-02 03:29:54,326 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-03-02 03:29:54,326 INFO L138 SettingsManager]: * Use SBE=true [2022-03-02 03:29:54,326 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-03-02 03:29:54,327 INFO L138 SettingsManager]: * sizeof long=4 [2022-03-02 03:29:54,327 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-03-02 03:29:54,327 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-03-02 03:29:54,327 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * sizeof long double=12 [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * Use constant arrays=true [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-03-02 03:29:54,328 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-03-02 03:29:54,328 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-03-02 03:29:54,329 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-03-02 03:29:54,329 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-03-02 03:29:54,329 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Construct finite automaton lazily=true [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2022-03-02 03:29:54,330 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-03-02 03:29:54,331 INFO L138 SettingsManager]: * Partial Order Reduction in concurrent analysis=MCR_WITH_DEPRANKS [2022-03-02 03:29:54,331 INFO L138 SettingsManager]: * MCR: Optimize fork and join=false [2022-03-02 03:29:54,331 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-03-02 03:29:54,532 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-03-02 03:29:54,556 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-03-02 03:29:54,558 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-03-02 03:29:54,559 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2022-03-02 03:29:54,560 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2022-03-02 03:29:54,561 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-03-02 03:29:54,561 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/regression/showcase/PetersonWithBug.bpl' [2022-03-02 03:29:54,582 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-03-02 03:29:54,583 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-03-02 03:29:54,584 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-03-02 03:29:54,584 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-03-02 03:29:54,584 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-03-02 03:29:54,593 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,599 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,604 INFO L137 Inliner]: procedures = 3, calls = 2, calls flagged for inlining = 0, calls inlined = 0, statements flattened = 0 [2022-03-02 03:29:54,605 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-03-02 03:29:54,607 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-03-02 03:29:54,607 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-03-02 03:29:54,607 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-03-02 03:29:54,613 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,613 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,613 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,613 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,616 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,618 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,619 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,619 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-03-02 03:29:54,620 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-03-02 03:29:54,620 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-03-02 03:29:54,621 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-03-02 03:29:54,621 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/1) ... [2022-03-02 03:29:54,627 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-03-02 03:29:54,635 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-03-02 03:29:54,646 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-03-02 03:29:54,671 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-03-02 03:29:54,700 INFO L124 BoogieDeclarations]: Specification and implementation of procedure Process0 given in one single declaration [2022-03-02 03:29:54,701 INFO L130 BoogieDeclarations]: Found specification of procedure Process0 [2022-03-02 03:29:54,701 INFO L138 BoogieDeclarations]: Found implementation of procedure Process0 [2022-03-02 03:29:54,701 INFO L124 BoogieDeclarations]: Specification and implementation of procedure Process1 given in one single declaration [2022-03-02 03:29:54,701 INFO L130 BoogieDeclarations]: Found specification of procedure Process1 [2022-03-02 03:29:54,701 INFO L138 BoogieDeclarations]: Found implementation of procedure Process1 [2022-03-02 03:29:54,701 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2022-03-02 03:29:54,701 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-03-02 03:29:54,701 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-03-02 03:29:54,707 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-03-02 03:29:54,740 INFO L234 CfgBuilder]: Building ICFG [2022-03-02 03:29:54,741 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-03-02 03:29:54,814 INFO L275 CfgBuilder]: Performing block encoding [2022-03-02 03:29:54,823 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-03-02 03:29:54,825 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-03-02 03:29:54,827 INFO L202 PluginConnector]: Adding new model PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 02.03 03:29:54 BoogieIcfgContainer [2022-03-02 03:29:54,827 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-03-02 03:29:54,829 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-03-02 03:29:54,830 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-03-02 03:29:54,832 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-03-02 03:29:54,832 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 02.03 03:29:54" (1/2) ... [2022-03-02 03:29:54,833 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@429c760b and model type PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 02.03 03:29:54, skipping insertion in model container [2022-03-02 03:29:54,833 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 02.03 03:29:54" (2/2) ... [2022-03-02 03:29:54,834 INFO L111 eAbstractionObserver]: Analyzing ICFG PetersonWithBug.bpl [2022-03-02 03:29:54,840 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-03-02 03:29:54,840 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-03-02 03:29:54,840 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2022-03-02 03:29:54,840 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-03-02 03:29:54,885 WARN L322 ript$VariableManager]: TermVariabe Process0Thread1of1ForFork0_x not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-02 03:29:54,885 WARN L322 ript$VariableManager]: TermVariabe Process0Thread1of1ForFork0_y not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-02 03:29:54,887 WARN L322 ript$VariableManager]: TermVariabe Process1Thread1of1ForFork1_a not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-02 03:29:54,887 WARN L322 ript$VariableManager]: TermVariabe Process1Thread1of1ForFork1_b not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-02 03:29:54,887 INFO L148 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2022-03-02 03:29:54,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2022-03-02 03:29:54,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-03-02 03:29:54,938 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-03-02 03:29:54,968 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-03-02 03:29:54,984 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-03-02 03:29:54,990 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, mLazyFiniteAutomaton=true, 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, mMcrOptimizeForkJoin=false, mMcrOverapproximateWrwc=true [2022-03-02 03:29:54,991 INFO L340 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2022-03-02 03:29:55,037 INFO L104 alCausalityReduction]: MaximalCausalityReduction evaluated 12 transitions and produced 13 states. [2022-03-02 03:29:55,039 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-03-02 03:29:55,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-03-02 03:29:55,043 INFO L85 PathProgramCache]: Analyzing trace with hash -2134110811, now seen corresponding path program 1 times [2022-03-02 03:29:55,048 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-03-02 03:29:55,049 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [965629877] [2022-03-02 03:29:55,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-03-02 03:29:55,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-03-02 03:29:55,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-03-02 03:29:55,182 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-03-02 03:29:55,183 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-03-02 03:29:55,183 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [965629877] [2022-03-02 03:29:55,183 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [965629877] provided 1 perfect and 0 imperfect interpolant sequences [2022-03-02 03:29:55,183 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-03-02 03:29:55,184 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2022-03-02 03:29:55,185 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [537621250] [2022-03-02 03:29:55,185 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-03-02 03:29:55,189 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-03-02 03:29:55,189 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-03-02 03:29:55,205 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-03-02 03:29:55,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-03-02 03:29:55,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:55,208 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-03-02 03:29:55,208 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-03-02 03:29:55,208 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:55,355 INFO L104 alCausalityReduction]: MaximalCausalityReduction evaluated 1689 transitions and produced 1584 states. [2022-03-02 03:29:55,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-03-02 03:29:55,356 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-03-02 03:29:55,356 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-03-02 03:29:55,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-03-02 03:29:55,357 INFO L85 PathProgramCache]: Analyzing trace with hash -274353872, now seen corresponding path program 1 times [2022-03-02 03:29:55,357 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-03-02 03:29:55,358 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [276512244] [2022-03-02 03:29:55,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-03-02 03:29:55,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-03-02 03:29:55,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-03-02 03:29:55,812 INFO L134 CoverageAnalysis]: Checked inductivity of 31209 backedges. 4649 proven. 0 refuted. 0 times theorem prover too weak. 26560 trivial. 0 not checked. [2022-03-02 03:29:55,812 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-03-02 03:29:55,812 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [276512244] [2022-03-02 03:29:55,812 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [276512244] provided 1 perfect and 0 imperfect interpolant sequences [2022-03-02 03:29:55,812 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-03-02 03:29:55,813 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-03-02 03:29:55,813 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [790676046] [2022-03-02 03:29:55,813 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-03-02 03:29:55,815 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-03-02 03:29:55,816 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-03-02 03:29:55,817 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-03-02 03:29:55,817 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-03-02 03:29:55,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:55,818 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-03-02 03:29:55,818 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-03-02 03:29:55,818 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2022-03-02 03:29:55,818 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:55,925 INFO L104 alCausalityReduction]: MaximalCausalityReduction evaluated 2511 transitions and produced 2374 states. [2022-03-02 03:29:55,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-03-02 03:29:55,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:55,927 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-03-02 03:29:55,927 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-03-02 03:29:55,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-03-02 03:29:55,928 INFO L85 PathProgramCache]: Analyzing trace with hash -79462162, now seen corresponding path program 2 times [2022-03-02 03:29:55,929 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-03-02 03:29:55,930 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [238630878] [2022-03-02 03:29:55,930 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-03-02 03:29:55,931 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-03-02 03:29:56,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-03-02 03:29:56,214 INFO L134 CoverageAnalysis]: Checked inductivity of 64840 backedges. 6732 proven. 0 refuted. 0 times theorem prover too weak. 58108 trivial. 0 not checked. [2022-03-02 03:29:56,214 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-03-02 03:29:56,214 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [238630878] [2022-03-02 03:29:56,215 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [238630878] provided 1 perfect and 0 imperfect interpolant sequences [2022-03-02 03:29:56,215 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-03-02 03:29:56,216 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-03-02 03:29:56,216 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1139765536] [2022-03-02 03:29:56,216 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-03-02 03:29:56,216 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-03-02 03:29:56,216 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-03-02 03:29:56,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-03-02 03:29:56,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-03-02 03:29:56,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:56,218 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-03-02 03:29:56,218 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 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-03-02 03:29:56,218 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2022-03-02 03:29:56,218 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,218 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:56,267 INFO L104 alCausalityReduction]: MaximalCausalityReduction evaluated 1987 transitions and produced 1888 states. [2022-03-02 03:29:56,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-03-02 03:29:56,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,268 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-03-02 03:29:56,268 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-03-02 03:29:56,269 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-03-02 03:29:56,269 INFO L85 PathProgramCache]: Analyzing trace with hash -1751350634, now seen corresponding path program 3 times [2022-03-02 03:29:56,269 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-03-02 03:29:56,269 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1182657854] [2022-03-02 03:29:56,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-03-02 03:29:56,270 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-03-02 03:29:56,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-03-02 03:29:56,408 INFO L134 CoverageAnalysis]: Checked inductivity of 40914 backedges. 5973 proven. 0 refuted. 0 times theorem prover too weak. 34941 trivial. 0 not checked. [2022-03-02 03:29:56,409 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-03-02 03:29:56,409 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1182657854] [2022-03-02 03:29:56,409 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1182657854] provided 1 perfect and 0 imperfect interpolant sequences [2022-03-02 03:29:56,409 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-03-02 03:29:56,409 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-03-02 03:29:56,409 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1871476061] [2022-03-02 03:29:56,410 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-03-02 03:29:56,410 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-03-02 03:29:56,410 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-03-02 03:29:56,410 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-03-02 03:29:56,411 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-03-02 03:29:56,411 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:56,411 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2022-03-02 03:29:56,411 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.0) internal successors, (36), 4 states have internal predecessors, (36), 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-03-02 03:29:56,411 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2022-03-02 03:29:56,411 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,411 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,411 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2022-03-02 03:29:56,440 INFO L104 alCausalityReduction]: MaximalCausalityReduction evaluated 1763 transitions and produced 1622 states. [2022-03-02 03:29:56,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-03-02 03:29:56,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-03-02 03:29:56,441 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-03-02 03:29:56,441 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] === [2022-03-02 03:29:56,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-03-02 03:29:56,442 INFO L85 PathProgramCache]: Analyzing trace with hash 190605426, now seen corresponding path program 4 times [2022-03-02 03:29:56,442 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-03-02 03:29:56,442 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1645310347] [2022-03-02 03:29:56,442 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-03-02 03:29:56,442 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-03-02 03:29:56,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-03-02 03:29:56,480 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-03-02 03:29:56,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-03-02 03:29:56,616 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-03-02 03:29:56,616 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-03-02 03:29:56,617 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location Process0Err0ASSERT_VIOLATIONASSERT (5 of 6 remaining) [2022-03-02 03:29:56,618 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location Process0Err0ASSERT_VIOLATIONASSERT (4 of 6 remaining) [2022-03-02 03:29:56,619 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location Process1Err0ASSERT_VIOLATIONASSERT (3 of 6 remaining) [2022-03-02 03:29:56,619 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (2 of 6 remaining) [2022-03-02 03:29:56,619 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION (1 of 6 remaining) [2022-03-02 03:29:56,619 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location Process1Err0ASSERT_VIOLATIONASSERT (0 of 6 remaining) [2022-03-02 03:29:56,620 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-03-02 03:29:56,628 INFO L732 BasicCegarLoop]: Path program histogram: [4, 1] [2022-03-02 03:29:56,635 INFO L230 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2022-03-02 03:29:56,635 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-03-02 03:29:56,736 INFO L202 PluginConnector]: Adding new model PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 02.03 03:29:56 BasicIcfg [2022-03-02 03:29:56,736 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-03-02 03:29:56,737 INFO L158 Benchmark]: Toolchain (without parser) took 2153.66ms. Allocated memory was 179.3MB in the beginning and 292.6MB in the end (delta: 113.2MB). Free memory was 142.9MB in the beginning and 219.8MB in the end (delta: -76.9MB). Peak memory consumption was 35.8MB. Max. memory is 8.0GB. [2022-03-02 03:29:56,737 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.10ms. Allocated memory is still 179.3MB. Free memory was 144.0MB in the beginning and 143.9MB in the end (delta: 73.1kB). There was no memory consumed. Max. memory is 8.0GB. [2022-03-02 03:29:56,738 INFO L158 Benchmark]: Boogie Procedure Inliner took 21.68ms. Allocated memory is still 179.3MB. Free memory was 142.9MB in the beginning and 141.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-03-02 03:29:56,738 INFO L158 Benchmark]: Boogie Preprocessor took 12.71ms. Allocated memory is still 179.3MB. Free memory was 141.3MB in the beginning and 140.3MB in the end (delta: 981.4kB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-03-02 03:29:56,739 INFO L158 Benchmark]: RCFGBuilder took 206.63ms. Allocated memory is still 179.3MB. Free memory was 140.3MB in the beginning and 132.1MB in the end (delta: 8.2MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. [2022-03-02 03:29:56,739 INFO L158 Benchmark]: TraceAbstraction took 1906.93ms. Allocated memory was 179.3MB in the beginning and 292.6MB in the end (delta: 113.2MB). Free memory was 131.6MB in the beginning and 219.8MB in the end (delta: -88.2MB). Peak memory consumption was 24.3MB. Max. memory is 8.0GB. [2022-03-02 03:29:56,741 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.10ms. Allocated memory is still 179.3MB. Free memory was 144.0MB in the beginning and 143.9MB in the end (delta: 73.1kB). There was no memory consumed. Max. memory is 8.0GB. * Boogie Procedure Inliner took 21.68ms. Allocated memory is still 179.3MB. Free memory was 142.9MB in the beginning and 141.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 12.71ms. Allocated memory is still 179.3MB. Free memory was 141.3MB in the beginning and 140.3MB in the end (delta: 981.4kB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 206.63ms. Allocated memory is still 179.3MB. Free memory was 140.3MB in the beginning and 132.1MB in the end (delta: 8.2MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. * TraceAbstraction took 1906.93ms. Allocated memory was 179.3MB in the beginning and 292.6MB in the end (delta: 113.2MB). Free memory was 131.6MB in the beginning and 219.8MB in the end (delta: -88.2MB). Peak memory consumption was 24.3MB. 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] [L27] FORK 0 fork 1 Process1(); 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.7s, OverallIterations: 5, TraceHistogramMax: 0, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.4s, 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.1s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.7s InterpolantComputationTime, 3033 NumberOfCodeBlocks, 3033 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 2505 ConstructedInterpolants, 0 QuantifiedInterpolants, 2573 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 4 InterpolantComputations, 4 PerfectInterpolantSequences, 136963/136963 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-03-02 03:29:56,791 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Ended with exit code 0 [2022-03-02 03:29:57,014 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...