/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-wip.dk.mcr-reduction-44898dd
[2022-02-09 18:13:13,256 INFO  L177        SettingsManager]: Resetting all preferences to default values...
[2022-02-09 18:13:13,258 INFO  L181        SettingsManager]: Resetting UltimateCore preferences to default values
[2022-02-09 18:13:13,331 INFO  L184        SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring...
[2022-02-09 18:13:13,332 INFO  L181        SettingsManager]: Resetting Boogie Preprocessor preferences to default values
[2022-02-09 18:13:13,334 INFO  L181        SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values
[2022-02-09 18:13:13,336 INFO  L181        SettingsManager]: Resetting Abstract Interpretation preferences to default values
[2022-02-09 18:13:13,338 INFO  L181        SettingsManager]: Resetting LassoRanker preferences to default values
[2022-02-09 18:13:13,340 INFO  L181        SettingsManager]: Resetting Reaching Definitions preferences to default values
[2022-02-09 18:13:13,343 INFO  L181        SettingsManager]: Resetting SyntaxChecker preferences to default values
[2022-02-09 18:13:13,344 INFO  L181        SettingsManager]: Resetting Sifa preferences to default values
[2022-02-09 18:13:13,345 INFO  L184        SettingsManager]: Büchi Program Product provides no preferences, ignoring...
[2022-02-09 18:13:13,345 INFO  L181        SettingsManager]: Resetting LTL2Aut preferences to default values
[2022-02-09 18:13:13,346 INFO  L181        SettingsManager]: Resetting PEA to Boogie preferences to default values
[2022-02-09 18:13:13,347 INFO  L181        SettingsManager]: Resetting BlockEncodingV2 preferences to default values
[2022-02-09 18:13:13,350 INFO  L181        SettingsManager]: Resetting ChcToBoogie preferences to default values
[2022-02-09 18:13:13,350 INFO  L181        SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values
[2022-02-09 18:13:13,351 INFO  L181        SettingsManager]: Resetting BuchiAutomizer preferences to default values
[2022-02-09 18:13:13,352 INFO  L181        SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values
[2022-02-09 18:13:13,356 INFO  L181        SettingsManager]: Resetting CodeCheck preferences to default values
[2022-02-09 18:13:13,357 INFO  L181        SettingsManager]: Resetting InvariantSynthesis preferences to default values
[2022-02-09 18:13:13,358 INFO  L181        SettingsManager]: Resetting RCFGBuilder preferences to default values
[2022-02-09 18:13:13,359 INFO  L181        SettingsManager]: Resetting Referee preferences to default values
[2022-02-09 18:13:13,360 INFO  L181        SettingsManager]: Resetting TraceAbstraction preferences to default values
[2022-02-09 18:13:13,364 INFO  L184        SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring...
[2022-02-09 18:13:13,365 INFO  L184        SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring...
[2022-02-09 18:13:13,365 INFO  L181        SettingsManager]: Resetting TreeAutomizer preferences to default values
[2022-02-09 18:13:13,366 INFO  L181        SettingsManager]: Resetting IcfgToChc preferences to default values
[2022-02-09 18:13:13,366 INFO  L181        SettingsManager]: Resetting IcfgTransformer preferences to default values
[2022-02-09 18:13:13,367 INFO  L184        SettingsManager]: ReqToTest provides no preferences, ignoring...
[2022-02-09 18:13:13,367 INFO  L181        SettingsManager]: Resetting Boogie Printer preferences to default values
[2022-02-09 18:13:13,367 INFO  L181        SettingsManager]: Resetting ChcSmtPrinter preferences to default values
[2022-02-09 18:13:13,369 INFO  L181        SettingsManager]: Resetting ReqPrinter preferences to default values
[2022-02-09 18:13:13,369 INFO  L181        SettingsManager]: Resetting Witness Printer preferences to default values
[2022-02-09 18:13:13,370 INFO  L184        SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring...
[2022-02-09 18:13:13,370 INFO  L181        SettingsManager]: Resetting CDTParser preferences to default values
[2022-02-09 18:13:13,370 INFO  L184        SettingsManager]: AutomataScriptParser provides no preferences, ignoring...
[2022-02-09 18:13:13,371 INFO  L184        SettingsManager]: ReqParser provides no preferences, ignoring...
[2022-02-09 18:13:13,371 INFO  L181        SettingsManager]: Resetting SmtParser preferences to default values
[2022-02-09 18:13:13,371 INFO  L181        SettingsManager]: Resetting Witness Parser preferences to default values
[2022-02-09 18:13:13,372 INFO  L188        SettingsManager]: Finished resetting all preferences to default values...
[2022-02-09 18:13:13,372 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-02-09 18:13:13,397 INFO  L113        SettingsManager]: Loading preferences was successful
[2022-02-09 18:13:13,397 INFO  L115        SettingsManager]: Preferences different from defaults after loading the file:
[2022-02-09 18:13:13,397 INFO  L136        SettingsManager]: Preferences of UltimateCore differ from their defaults:
[2022-02-09 18:13:13,397 INFO  L138        SettingsManager]:  * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR;
[2022-02-09 18:13:13,398 INFO  L136        SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults:
[2022-02-09 18:13:13,398 INFO  L138        SettingsManager]:  * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS
[2022-02-09 18:13:13,398 INFO  L136        SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults:
[2022-02-09 18:13:13,399 INFO  L138        SettingsManager]:  * Create parallel compositions if possible=false
[2022-02-09 18:13:13,399 INFO  L138        SettingsManager]:  * Use SBE=true
[2022-02-09 18:13:13,399 INFO  L136        SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults:
[2022-02-09 18:13:13,399 INFO  L138        SettingsManager]:  * sizeof long=4
[2022-02-09 18:13:13,399 INFO  L138        SettingsManager]:  * Overapproximate operations on floating types=true
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * sizeof POINTER=4
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * Check division by zero=IGNORE
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * Pointer to allocated memory at dereference=IGNORE
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * If two pointers are subtracted or compared they have the same base address=IGNORE
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * Check array bounds for arrays that are off heap=IGNORE
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * sizeof long double=12
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * Check if freed pointer was valid=false
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * Use constant arrays=true
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * Pointer base address is valid at dereference=IGNORE
[2022-02-09 18:13:13,400 INFO  L136        SettingsManager]: Preferences of RCFGBuilder differ from their defaults:
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * Size of a code block=SequenceOfStatements
[2022-02-09 18:13:13,400 INFO  L138        SettingsManager]:  * To the following directory=./dump/
[2022-02-09 18:13:13,401 INFO  L138        SettingsManager]:  * SMT solver=External_DefaultMode
[2022-02-09 18:13:13,401 INFO  L138        SettingsManager]:  * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000
[2022-02-09 18:13:13,402 INFO  L136        SettingsManager]: Preferences of TraceAbstraction differ from their defaults:
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Compute Interpolants along a Counterexample=FPandBP
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Trace refinement strategy=CAMEL
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Large block encoding in concurrent analysis=OFF
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true
[2022-02-09 18:13:13,402 INFO  L138        SettingsManager]:  * Partial Order Reduction in concurrent analysis=MCR_WITH_DEPRANKS
[2022-02-09 18:13:13,402 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-02-09 18:13:13,613 INFO  L75    nceAwareModelManager]: Repository-Root is: /tmp
[2022-02-09 18:13:13,641 INFO  L261   ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized
[2022-02-09 18:13:13,643 INFO  L217   ainManager$Toolchain]: [Toolchain 1]: Toolchain selected.
[2022-02-09 18:13:13,644 INFO  L271        PluginConnector]: Initializing Boogie PL CUP Parser...
[2022-02-09 18:13:13,645 INFO  L275        PluginConnector]: Boogie PL CUP Parser initialized
[2022-02-09 18:13:13,646 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-02-09 18:13:13,650 INFO  L110           BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/regression/showcase/PetersonWithBug.bpl'
[2022-02-09 18:13:13,685 INFO  L299   ainManager$Toolchain]: ####################### [Toolchain 1] #######################
[2022-02-09 18:13:13,686 INFO  L131        ToolchainWalker]: Walking toolchain with 4 elements.
[2022-02-09 18:13:13,686 INFO  L113        PluginConnector]: ------------------------Boogie Procedure Inliner----------------------------
[2022-02-09 18:13:13,686 INFO  L271        PluginConnector]: Initializing Boogie Procedure Inliner...
[2022-02-09 18:13:13,686 INFO  L275        PluginConnector]: Boogie Procedure Inliner initialized
[2022-02-09 18:13:13,695 INFO  L185        PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,701 INFO  L185        PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,705 INFO  L137                Inliner]: procedures = 3, calls = 2, calls flagged for inlining = 0, calls inlined = 0, statements flattened = 0
[2022-02-09 18:13:13,707 INFO  L132        PluginConnector]: ------------------------ END Boogie Procedure Inliner----------------------------
[2022-02-09 18:13:13,708 INFO  L113        PluginConnector]: ------------------------Boogie Preprocessor----------------------------
[2022-02-09 18:13:13,708 INFO  L271        PluginConnector]: Initializing Boogie Preprocessor...
[2022-02-09 18:13:13,708 INFO  L275        PluginConnector]: Boogie Preprocessor initialized
[2022-02-09 18:13:13,714 INFO  L185        PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,714 INFO  L185        PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,715 INFO  L185        PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,715 INFO  L185        PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,718 INFO  L185        PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,720 INFO  L185        PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,721 INFO  L185        PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,722 INFO  L132        PluginConnector]: ------------------------ END Boogie Preprocessor----------------------------
[2022-02-09 18:13:13,723 INFO  L113        PluginConnector]: ------------------------RCFGBuilder----------------------------
[2022-02-09 18:13:13,723 INFO  L271        PluginConnector]: Initializing RCFGBuilder...
[2022-02-09 18:13:13,723 INFO  L275        PluginConnector]: RCFGBuilder initialized
[2022-02-09 18:13:13,724 INFO  L185        PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/1) ...
[2022-02-09 18:13:13,730 INFO  L168          SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000
[2022-02-09 18:13:13,738 INFO  L189       MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3
[2022-02-09 18:13:13,765 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-02-09 18:13:13,777 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-02-09 18:13:13,799 INFO  L124     BoogieDeclarations]: Specification and implementation of procedure Process0 given in one single declaration
[2022-02-09 18:13:13,800 INFO  L130     BoogieDeclarations]: Found specification of procedure Process0
[2022-02-09 18:13:13,800 INFO  L138     BoogieDeclarations]: Found implementation of procedure Process0
[2022-02-09 18:13:13,800 INFO  L124     BoogieDeclarations]: Specification and implementation of procedure Process1 given in one single declaration
[2022-02-09 18:13:13,800 INFO  L130     BoogieDeclarations]: Found specification of procedure Process1
[2022-02-09 18:13:13,800 INFO  L138     BoogieDeclarations]: Found implementation of procedure Process1
[2022-02-09 18:13:13,800 INFO  L124     BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration
[2022-02-09 18:13:13,800 INFO  L130     BoogieDeclarations]: Found specification of procedure ULTIMATE.start
[2022-02-09 18:13:13,800 INFO  L138     BoogieDeclarations]: Found implementation of procedure ULTIMATE.start
[2022-02-09 18:13:13,801 WARN  L208             CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement
[2022-02-09 18:13:13,832 INFO  L234             CfgBuilder]: Building ICFG
[2022-02-09 18:13:13,833 INFO  L260             CfgBuilder]: Building CFG for each procedure with an implementation
[2022-02-09 18:13:13,893 INFO  L275             CfgBuilder]: Performing block encoding
[2022-02-09 18:13:13,897 INFO  L294             CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start)
[2022-02-09 18:13:13,897 INFO  L299             CfgBuilder]: Removed 2 assume(true) statements.
[2022-02-09 18:13:13,898 INFO  L202        PluginConnector]: Adding new model PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.02 06:13:13 BoogieIcfgContainer
[2022-02-09 18:13:13,899 INFO  L132        PluginConnector]: ------------------------ END RCFGBuilder----------------------------
[2022-02-09 18:13:13,900 INFO  L113        PluginConnector]: ------------------------TraceAbstraction----------------------------
[2022-02-09 18:13:13,900 INFO  L271        PluginConnector]: Initializing TraceAbstraction...
[2022-02-09 18:13:13,918 INFO  L275        PluginConnector]: TraceAbstraction initialized
[2022-02-09 18:13:13,918 INFO  L185        PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 09.02 06:13:13" (1/2) ...
[2022-02-09 18:13:13,919 INFO  L205        PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@203700a7 and model type PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.02 06:13:13, skipping insertion in model container
[2022-02-09 18:13:13,919 INFO  L185        PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.02 06:13:13" (2/2) ...
[2022-02-09 18:13:13,920 INFO  L111   eAbstractionObserver]: Analyzing ICFG PetersonWithBug.bpl
[2022-02-09 18:13:13,923 WARN  L150   ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program
[2022-02-09 18:13:13,923 INFO  L205   ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION
[2022-02-09 18:13:13,923 INFO  L164   ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations.
[2022-02-09 18:13:13,923 INFO  L534   ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances.
[2022-02-09 18:13:13,963 WARN  L322   ript$VariableManager]: TermVariabe Process0Thread1of1ForFork0_x not constructed by VariableManager. Cannot ensure absence of name clashes.
[2022-02-09 18:13:13,964 WARN  L322   ript$VariableManager]: TermVariabe Process0Thread1of1ForFork0_y not constructed by VariableManager. Cannot ensure absence of name clashes.
[2022-02-09 18:13:13,965 WARN  L322   ript$VariableManager]: TermVariabe Process1Thread1of1ForFork1_a not constructed by VariableManager. Cannot ensure absence of name clashes.
[2022-02-09 18:13:13,965 WARN  L322   ript$VariableManager]: TermVariabe Process1Thread1of1ForFork1_b not constructed by VariableManager. Cannot ensure absence of name clashes.
[2022-02-09 18:13:13,966 INFO  L148    ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions.
[2022-02-09 18:13:14,020 INFO  L168          SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000
[2022-02-09 18:13:14,021 INFO  L189       MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3
[2022-02-09 18:13:14,022 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-02-09 18:13:14,023 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-02-09 18:13:14,050 INFO  L338      AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ========
[2022-02-09 18:13:14,062 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=false, 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-02-09 18:13:14,062 INFO  L340      AbstractCegarLoop]: Starting to check reachability of 6 error locations.
[2022-02-09 18:13:14,077 INFO  L111   iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 31 places, 26 transitions, 62 flow
[2022-02-09 18:13:14,158 INFO  L133   iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result  has 204 states, 201 states have (on average 2.4975124378109452) internal successors, (502), 203 states have internal predecessors, (502), 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-02-09 18:13:14,189 INFO  L104   alCausalityReduction]: MaximalCausalityReduction evaluated 12 transitions and produced 13 states.
[2022-02-09 18:13:14,190 INFO  L402      AbstractCegarLoop]: === Iteration 1 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] ===
[2022-02-09 18:13:14,197 INFO  L144       PredicateUnifier]: Initialized classic predicate unifier
[2022-02-09 18:13:14,197 INFO  L85        PathProgramCache]: Analyzing trace with hash -2134110811, now seen corresponding path program 1 times
[2022-02-09 18:13:14,203 INFO  L126   FreeRefinementEngine]: Executing refinement strategy CAMEL
[2022-02-09 18:13:14,203 INFO  L338   FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1756772653]
[2022-02-09 18:13:14,203 INFO  L95    rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY
[2022-02-09 18:13:14,204 INFO  L126          SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms
[2022-02-09 18:13:14,311 INFO  L136    AnnotateAndAsserter]: Conjunction of SSA is unsat
[2022-02-09 18:13:14,385 INFO  L134       CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked.
[2022-02-09 18:13:14,386 INFO  L144   FreeRefinementEngine]: Strategy CAMEL found an infeasible trace
[2022-02-09 18:13:14,386 INFO  L338   FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1756772653]
[2022-02-09 18:13:14,386 INFO  L165   FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1756772653] provided 1 perfect and 0 imperfect interpolant sequences
[2022-02-09 18:13:14,386 INFO  L191   FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences.
[2022-02-09 18:13:14,387 INFO  L204   FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1
[2022-02-09 18:13:14,388 INFO  L118   tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [713982256]
[2022-02-09 18:13:14,388 INFO  L85    oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton
[2022-02-09 18:13:14,390 INFO  L546      AbstractCegarLoop]: INTERPOLANT automaton has 3 states
[2022-02-09 18:13:14,390 INFO  L108   FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL
[2022-02-09 18:13:14,407 INFO  L143   InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants.
[2022-02-09 18:13:14,408 INFO  L145   InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6
[2022-02-09 18:13:14,409 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:14,410 INFO  L470      AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states
[2022-02-09 18:13:14,410 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-02-09 18:13:14,410 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:14,472 INFO  L104   alCausalityReduction]: MaximalCausalityReduction evaluated 261 transitions and produced 247 states.
[2022-02-09 18:13:14,473 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. 
[2022-02-09 18:13:14,473 WARN  L452      AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0
[2022-02-09 18:13:14,473 INFO  L402      AbstractCegarLoop]: === Iteration 2 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] ===
[2022-02-09 18:13:14,475 INFO  L144       PredicateUnifier]: Initialized classic predicate unifier
[2022-02-09 18:13:14,475 INFO  L85        PathProgramCache]: Analyzing trace with hash 875173086, now seen corresponding path program 1 times
[2022-02-09 18:13:14,475 INFO  L126   FreeRefinementEngine]: Executing refinement strategy CAMEL
[2022-02-09 18:13:14,476 INFO  L338   FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [376419325]
[2022-02-09 18:13:14,476 INFO  L95    rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY
[2022-02-09 18:13:14,476 INFO  L126          SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms
[2022-02-09 18:13:14,513 INFO  L136    AnnotateAndAsserter]: Conjunction of SSA is unsat
[2022-02-09 18:13:14,607 INFO  L134       CoverageAnalysis]: Checked inductivity of 693 backedges. 378 proven. 0 refuted. 0 times theorem prover too weak. 315 trivial. 0 not checked.
[2022-02-09 18:13:14,607 INFO  L144   FreeRefinementEngine]: Strategy CAMEL found an infeasible trace
[2022-02-09 18:13:14,608 INFO  L338   FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [376419325]
[2022-02-09 18:13:14,608 INFO  L165   FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [376419325] provided 1 perfect and 0 imperfect interpolant sequences
[2022-02-09 18:13:14,608 INFO  L191   FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences.
[2022-02-09 18:13:14,608 INFO  L204   FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4
[2022-02-09 18:13:14,608 INFO  L118   tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [530988856]
[2022-02-09 18:13:14,608 INFO  L85    oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton
[2022-02-09 18:13:14,611 INFO  L546      AbstractCegarLoop]: INTERPOLANT automaton has 4 states
[2022-02-09 18:13:14,611 INFO  L108   FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL
[2022-02-09 18:13:14,611 INFO  L143   InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants.
[2022-02-09 18:13:14,611 INFO  L145   InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12
[2022-02-09 18:13:14,611 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:14,611 INFO  L470      AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states
[2022-02-09 18:13:14,612 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-02-09 18:13:14,612 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. 
[2022-02-09 18:13:14,612 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:14,662 INFO  L104   alCausalityReduction]: MaximalCausalityReduction evaluated 513 transitions and produced 485 states.
[2022-02-09 18:13:14,662 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. 
[2022-02-09 18:13:14,664 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:14,664 WARN  L452      AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1
[2022-02-09 18:13:14,665 INFO  L402      AbstractCegarLoop]: === Iteration 3 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] ===
[2022-02-09 18:13:14,666 INFO  L144       PredicateUnifier]: Initialized classic predicate unifier
[2022-02-09 18:13:14,666 INFO  L85        PathProgramCache]: Analyzing trace with hash 273896810, now seen corresponding path program 2 times
[2022-02-09 18:13:14,666 INFO  L126   FreeRefinementEngine]: Executing refinement strategy CAMEL
[2022-02-09 18:13:14,667 INFO  L338   FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [676269437]
[2022-02-09 18:13:14,667 INFO  L95    rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY
[2022-02-09 18:13:14,668 INFO  L126          SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms
[2022-02-09 18:13:14,689 INFO  L136    AnnotateAndAsserter]: Conjunction of SSA is unsat
[2022-02-09 18:13:14,791 INFO  L134       CoverageAnalysis]: Checked inductivity of 2758 backedges. 1113 proven. 0 refuted. 0 times theorem prover too weak. 1645 trivial. 0 not checked.
[2022-02-09 18:13:14,791 INFO  L144   FreeRefinementEngine]: Strategy CAMEL found an infeasible trace
[2022-02-09 18:13:14,791 INFO  L338   FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [676269437]
[2022-02-09 18:13:14,791 INFO  L165   FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [676269437] provided 1 perfect and 0 imperfect interpolant sequences
[2022-02-09 18:13:14,791 INFO  L191   FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences.
[2022-02-09 18:13:14,792 INFO  L204   FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4
[2022-02-09 18:13:14,792 INFO  L118   tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1526680627]
[2022-02-09 18:13:14,792 INFO  L85    oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton
[2022-02-09 18:13:14,792 INFO  L546      AbstractCegarLoop]: INTERPOLANT automaton has 4 states
[2022-02-09 18:13:14,793 INFO  L108   FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL
[2022-02-09 18:13:14,793 INFO  L143   InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants.
[2022-02-09 18:13:14,793 INFO  L145   InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12
[2022-02-09 18:13:14,793 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:14,793 INFO  L470      AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states
[2022-02-09 18:13:14,794 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-02-09 18:13:14,794 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. 
[2022-02-09 18:13:14,794 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:14,794 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:14,835 INFO  L104   alCausalityReduction]: MaximalCausalityReduction evaluated 388 transitions and produced 369 states.
[2022-02-09 18:13:14,835 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. 
[2022-02-09 18:13:14,835 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:14,836 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:14,836 WARN  L452      AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2
[2022-02-09 18:13:14,837 INFO  L402      AbstractCegarLoop]: === Iteration 4 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] ===
[2022-02-09 18:13:14,838 INFO  L144       PredicateUnifier]: Initialized classic predicate unifier
[2022-02-09 18:13:14,838 INFO  L85        PathProgramCache]: Analyzing trace with hash 80680616, now seen corresponding path program 3 times
[2022-02-09 18:13:14,838 INFO  L126   FreeRefinementEngine]: Executing refinement strategy CAMEL
[2022-02-09 18:13:14,838 INFO  L338   FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1132505166]
[2022-02-09 18:13:14,838 INFO  L95    rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY
[2022-02-09 18:13:14,839 INFO  L126          SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms
[2022-02-09 18:13:14,882 INFO  L136    AnnotateAndAsserter]: Conjunction of SSA is unsat
[2022-02-09 18:13:15,010 INFO  L134       CoverageAnalysis]: Checked inductivity of 1554 backedges. 834 proven. 0 refuted. 0 times theorem prover too weak. 720 trivial. 0 not checked.
[2022-02-09 18:13:15,010 INFO  L144   FreeRefinementEngine]: Strategy CAMEL found an infeasible trace
[2022-02-09 18:13:15,011 INFO  L338   FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1132505166]
[2022-02-09 18:13:15,011 INFO  L165   FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1132505166] provided 1 perfect and 0 imperfect interpolant sequences
[2022-02-09 18:13:15,011 INFO  L191   FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences.
[2022-02-09 18:13:15,011 INFO  L204   FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4
[2022-02-09 18:13:15,011 INFO  L118   tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332831319]
[2022-02-09 18:13:15,011 INFO  L85    oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton
[2022-02-09 18:13:15,012 INFO  L546      AbstractCegarLoop]: INTERPOLANT automaton has 4 states
[2022-02-09 18:13:15,012 INFO  L108   FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL
[2022-02-09 18:13:15,012 INFO  L143   InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants.
[2022-02-09 18:13:15,012 INFO  L145   InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12
[2022-02-09 18:13:15,012 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:15,012 INFO  L470      AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states
[2022-02-09 18:13:15,013 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-02-09 18:13:15,013 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. 
[2022-02-09 18:13:15,013 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:15,013 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:15,013 INFO  L154   InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. 
[2022-02-09 18:13:15,091 INFO  L104   alCausalityReduction]: MaximalCausalityReduction evaluated 1784 transitions and produced 1615 states.
[2022-02-09 18:13:15,092 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. 
[2022-02-09 18:13:15,092 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:15,092 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:15,092 INFO  L141   InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. 
[2022-02-09 18:13:15,092 WARN  L452      AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3
[2022-02-09 18:13:15,092 INFO  L402      AbstractCegarLoop]: === Iteration 5 === Targeting Process0Err0ASSERT_VIOLATIONASSERT === [Process0Err0ASSERT_VIOLATIONASSERT, Process1Err0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION (and 2 more)] ===
[2022-02-09 18:13:15,094 INFO  L144       PredicateUnifier]: Initialized classic predicate unifier
[2022-02-09 18:13:15,094 INFO  L85        PathProgramCache]: Analyzing trace with hash 190605426, now seen corresponding path program 1 times
[2022-02-09 18:13:15,094 INFO  L126   FreeRefinementEngine]: Executing refinement strategy CAMEL
[2022-02-09 18:13:15,094 INFO  L338   FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1545381940]
[2022-02-09 18:13:15,095 INFO  L95    rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY
[2022-02-09 18:13:15,095 INFO  L126          SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms
[2022-02-09 18:13:15,174 INFO  L136    AnnotateAndAsserter]: Conjunction of SSA is sat
[2022-02-09 18:13:15,174 INFO  L352             TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders.
[2022-02-09 18:13:15,219 INFO  L136    AnnotateAndAsserter]: Conjunction of SSA is sat
[2022-02-09 18:13:15,288 INFO  L138   FreeRefinementEngine]: Strategy CAMEL found a feasible trace
[2022-02-09 18:13:15,288 INFO  L628         BasicCegarLoop]: Counterexample is feasible
[2022-02-09 18:13:15,289 INFO  L764   garLoopResultBuilder]: Registering result UNSAFE for location Process0Err0ASSERT_VIOLATIONASSERT (5 of 6 remaining)
[2022-02-09 18:13:15,290 INFO  L764   garLoopResultBuilder]: Registering result UNKNOWN for location Process0Err0ASSERT_VIOLATIONASSERT (4 of 6 remaining)
[2022-02-09 18:13:15,290 INFO  L764   garLoopResultBuilder]: Registering result UNKNOWN for location Process1Err0ASSERT_VIOLATIONASSERT (3 of 6 remaining)
[2022-02-09 18:13:15,291 INFO  L764   garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (2 of 6 remaining)
[2022-02-09 18:13:15,291 INFO  L764   garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION (1 of 6 remaining)
[2022-02-09 18:13:15,291 INFO  L764   garLoopResultBuilder]: Registering result UNKNOWN for location Process1Err0ASSERT_VIOLATIONASSERT (0 of 6 remaining)
[2022-02-09 18:13:15,291 WARN  L452      AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4
[2022-02-09 18:13:15,297 INFO  L732         BasicCegarLoop]: Path program histogram: [3, 1, 1]
[2022-02-09 18:13:15,305 INFO  L230   ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances
[2022-02-09 18:13:15,305 INFO  L180   ceAbstractionStarter]: Computing trace abstraction results
[2022-02-09 18:13:15,385 INFO  L202        PluginConnector]: Adding new model PetersonWithBug.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.02 06:13:15 BasicIcfg
[2022-02-09 18:13:15,385 INFO  L132        PluginConnector]: ------------------------ END TraceAbstraction----------------------------
[2022-02-09 18:13:15,386 INFO  L158              Benchmark]: Toolchain (without parser) took 1699.84ms. Allocated memory was 176.2MB in the beginning and 289.4MB in the end (delta: 113.2MB). Free memory was 137.9MB in the beginning and 188.6MB in the end (delta: -50.7MB). Peak memory consumption was 62.9MB. Max. memory is 8.0GB.
[2022-02-09 18:13:15,386 INFO  L158              Benchmark]: Boogie PL CUP Parser took 0.12ms. Allocated memory is still 176.2MB. Free memory is still 138.8MB. There was no memory consumed. Max. memory is 8.0GB.
[2022-02-09 18:13:15,386 INFO  L158              Benchmark]: Boogie Procedure Inliner took 20.84ms. Allocated memory is still 176.2MB. Free memory was 137.8MB in the beginning and 136.2MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB.
[2022-02-09 18:13:15,387 INFO  L158              Benchmark]: Boogie Preprocessor took 13.81ms. Allocated memory is still 176.2MB. Free memory was 136.2MB in the beginning and 135.2MB in the end (delta: 1.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB.
[2022-02-09 18:13:15,387 INFO  L158              Benchmark]: RCFGBuilder took 175.84ms. Allocated memory is still 176.2MB. Free memory was 135.2MB in the beginning and 127.3MB in the end (delta: 7.9MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB.
[2022-02-09 18:13:15,387 INFO  L158              Benchmark]: TraceAbstraction took 1485.27ms. Allocated memory was 176.2MB in the beginning and 289.4MB in the end (delta: 113.2MB). Free memory was 126.7MB in the beginning and 188.6MB in the end (delta: -61.8MB). Peak memory consumption was 51.4MB. Max. memory is 8.0GB.
[2022-02-09 18:13:15,394 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.12ms. Allocated memory is still 176.2MB. Free memory is still 138.8MB. There was no memory consumed. Max. memory is 8.0GB.
 * Boogie Procedure Inliner took 20.84ms. Allocated memory is still 176.2MB. Free memory was 137.8MB in the beginning and 136.2MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB.
 * Boogie Preprocessor took 13.81ms. Allocated memory is still 176.2MB. Free memory was 136.2MB in the beginning and 135.2MB in the end (delta: 1.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB.
 * RCFGBuilder took 175.84ms. Allocated memory is still 176.2MB. Free memory was 135.2MB in the beginning and 127.3MB in the end (delta: 7.9MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB.
 * TraceAbstraction took 1485.27ms. Allocated memory was 176.2MB in the beginning and 289.4MB in the end (delta: 113.2MB). Free memory was 126.7MB in the beginning and 188.6MB in the end (delta: -61.8MB). Peak memory consumption was 51.4MB. 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.3s, OverallIterations: 5, TraceHistogramMax: 0, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, PartialOrderReductionTime: 0.3s, HoareTripleCheckerStatistics: , PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=204occurred 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.4s InterpolantComputationTime, 1010 NumberOfCodeBlocks, 1010 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 482 ConstructedInterpolants, 0 QuantifiedInterpolants, 548 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 4 InterpolantComputations, 4 PerfectInterpolantSequences, 5005/5005 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-02-09 18:13:15,433 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-02-09 18:13:15,665 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...