./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/goblint-regression/28-race_reach_46-escape_racefree.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/goblint-regression/28-race_reach_46-escape_racefree.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 4b7c7619d813e48364b259b1a428c27bb8d838fdbf884f11806f1a0c23ff1cb9 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:42:40,634 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:42:40,649 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:42:40,688 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:42:40,689 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:42:40,691 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:42:40,692 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:42:40,696 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:42:40,698 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:42:40,701 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:42:40,702 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:42:40,703 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:42:40,703 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:42:40,705 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:42:40,706 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:42:40,715 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:42:40,716 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:42:40,717 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:42:40,718 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:42:40,722 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:42:40,723 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:42:40,724 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:42:40,725 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:42:40,726 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:42:40,730 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:42:40,743 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:42:40,743 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:42:40,745 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:42:40,745 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:42:40,746 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:42:40,746 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:42:40,747 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:42:40,748 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:42:40,749 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:42:40,749 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:42:40,750 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:42:40,751 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:42:40,751 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:42:40,751 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:42:40,752 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:42:40,752 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:42:40,753 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 20:42:40,783 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:42:40,783 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:42:40,784 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:42:40,784 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:42:40,785 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:42:40,785 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:42:40,785 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:42:40,785 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:42:40,785 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:42:40,786 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:42:40,786 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:42:40,786 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:42:40,787 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:42:40,787 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:42:40,787 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:42:40,787 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:42:40,787 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:42:40,787 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:42:40,788 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:42:40,788 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:42:40,788 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:42:40,788 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:42:40,788 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:42:40,788 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:42:40,788 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:42:40,789 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:42:40,789 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:42:40,789 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:42:40,789 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:42:40,789 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:42:40,789 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:42:40,789 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:42:40,790 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:42:40,790 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 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 4b7c7619d813e48364b259b1a428c27bb8d838fdbf884f11806f1a0c23ff1cb9 [2022-02-20 20:42:41,001 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:42:41,019 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:42:41,020 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:42:41,021 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:42:41,022 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:42:41,023 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/goblint-regression/28-race_reach_46-escape_racefree.i [2022-02-20 20:42:41,078 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/824e13839/ad1ff316e11d4fbba9aafa0ae1beb36c/FLAG18f36c914 [2022-02-20 20:42:41,496 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:42:41,497 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/goblint-regression/28-race_reach_46-escape_racefree.i [2022-02-20 20:42:41,518 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/824e13839/ad1ff316e11d4fbba9aafa0ae1beb36c/FLAG18f36c914 [2022-02-20 20:42:41,533 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/824e13839/ad1ff316e11d4fbba9aafa0ae1beb36c [2022-02-20 20:42:41,535 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:42:41,537 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:42:41,539 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:42:41,539 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:42:41,541 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:42:41,542 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,543 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6d80abea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41, skipping insertion in model container [2022-02-20 20:42:41,543 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,549 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:42:41,585 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:42:41,816 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/goblint-regression/28-race_reach_46-escape_racefree.i[30176,30189] [2022-02-20 20:42:41,828 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:42:41,836 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:42:41,859 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/goblint-regression/28-race_reach_46-escape_racefree.i[30176,30189] [2022-02-20 20:42:41,864 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:42:41,894 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:42:41,894 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41 WrapperNode [2022-02-20 20:42:41,894 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:42:41,895 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:42:41,895 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:42:41,895 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:42:41,902 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,926 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,952 INFO L137 Inliner]: procedures = 170, calls = 39, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 71 [2022-02-20 20:42:41,953 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:42:41,954 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:42:41,954 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:42:41,954 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:42:41,959 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,959 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,965 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,966 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,982 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,985 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,986 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:41,988 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:42:41,988 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:42:41,988 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:42:41,989 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:42:41,990 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (1/1) ... [2022-02-20 20:42:42,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:42:42,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:42:42,024 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-20 20:42:42,042 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-20 20:42:42,061 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:42:42,062 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:42:42,062 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2022-02-20 20:42:42,062 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:42:42,062 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:42:42,062 INFO L130 BoogieDeclarations]: Found specification of procedure t_fun [2022-02-20 20:42:42,062 INFO L138 BoogieDeclarations]: Found implementation of procedure t_fun [2022-02-20 20:42:42,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:42:42,063 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:42:42,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:42:42,063 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:42:42,064 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-02-20 20:42:42,186 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:42:42,188 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:42:42,354 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:42:42,360 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:42:42,363 INFO L299 CfgBuilder]: Removed 8 assume(true) statements. [2022-02-20 20:42:42,364 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:42:42 BoogieIcfgContainer [2022-02-20 20:42:42,365 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:42:42,366 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:42:42,367 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:42:42,369 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:42:42,370 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:42:41" (1/3) ... [2022-02-20 20:42:42,371 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ee7ddd9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:42:42, skipping insertion in model container [2022-02-20 20:42:42,371 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:42:41" (2/3) ... [2022-02-20 20:42:42,371 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ee7ddd9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:42:42, skipping insertion in model container [2022-02-20 20:42:42,372 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:42:42" (3/3) ... [2022-02-20 20:42:42,373 INFO L111 eAbstractionObserver]: Analyzing ICFG 28-race_reach_46-escape_racefree.i [2022-02-20 20:42:42,380 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:42:42,381 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:42:42,381 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:42:42,381 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:42:42,437 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,439 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,439 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,439 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,439 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,440 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,440 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,440 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,440 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,440 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,441 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,441 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,441 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,441 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,442 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,442 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,442 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,443 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,443 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,443 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,443 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,444 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,444 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,445 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,446 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,446 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,447 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,448 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,448 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,449 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,449 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,449 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,449 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,449 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,449 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,450 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,450 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,450 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,450 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,450 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,450 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,451 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,452 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,452 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,452 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem8| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,452 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,453 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,453 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem8| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,453 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,453 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,453 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,454 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,454 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,454 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,454 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem8| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,455 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post9| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,455 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem8| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,455 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post9| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,455 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,455 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,455 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,455 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post9| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,456 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,456 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,456 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post9| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,456 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,456 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,457 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,457 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem8| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,457 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem8| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,457 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post9| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,457 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post9| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,463 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,469 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,469 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post9| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,469 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,469 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~p~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,470 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,470 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,470 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,470 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~mem8| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,470 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,470 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,471 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,471 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:42:42,479 INFO L148 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-02-20 20:42:42,518 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:42:42,523 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=PETRI_NET, 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-20 20:42:42,524 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 20:42:42,534 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 105 places, 110 transitions, 228 flow [2022-02-20 20:42:42,584 INFO L129 PetriNetUnfolder]: 9/109 cut-off events. [2022-02-20 20:42:42,585 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 20:42:42,588 INFO L84 FinitePrefix]: Finished finitePrefix Result has 114 conditions, 109 events. 9/109 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 159 event pairs, 0 based on Foata normal form. 0/99 useless extension candidates. Maximal degree in co-relation 57. Up to 3 conditions per place. [2022-02-20 20:42:42,589 INFO L82 GeneralOperation]: Start removeDead. Operand has 105 places, 110 transitions, 228 flow [2022-02-20 20:42:42,598 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 94 places, 99 transitions, 201 flow [2022-02-20 20:42:42,621 INFO L129 PetriNetUnfolder]: 2/85 cut-off events. [2022-02-20 20:42:42,621 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:42:42,621 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:42:42,622 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:42:42,622 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:42:42,626 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:42:42,626 INFO L85 PathProgramCache]: Analyzing trace with hash -1929624586, now seen corresponding path program 1 times [2022-02-20 20:42:42,632 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:42:42,632 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1270328709] [2022-02-20 20:42:42,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:42:42,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:42:42,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:42:42,959 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} [238] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,959 INFO L290 TraceCheckUtils]: 1: Hoare triple {108#true} [175] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet16#1] {108#true} is VALID [2022-02-20 20:42:42,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {108#true} [244] L-1-1-->L-1-2: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {108#true} is VALID [2022-02-20 20:42:42,959 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} [245] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,960 INFO L290 TraceCheckUtils]: 4: Hoare triple {108#true} [249] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,960 INFO L290 TraceCheckUtils]: 5: Hoare triple {108#true} [185] L690-->L690-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,960 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} [148] L690-1-->L690-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,960 INFO L290 TraceCheckUtils]: 7: Hoare triple {108#true} [163] L690-2-->L690-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {108#true} [223] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,961 INFO L290 TraceCheckUtils]: 9: Hoare triple {108#true} [189] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {108#true} is VALID [2022-02-20 20:42:42,961 INFO L290 TraceCheckUtils]: 10: Hoare triple {108#true} [179] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,961 INFO L290 TraceCheckUtils]: 11: Hoare triple {108#true} [227] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,961 INFO L290 TraceCheckUtils]: 12: Hoare triple {108#true} [158] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,961 INFO L290 TraceCheckUtils]: 13: Hoare triple {108#true} [250] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {108#true} [234] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,962 INFO L290 TraceCheckUtils]: 15: Hoare triple {108#true} [181] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,962 INFO L290 TraceCheckUtils]: 16: Hoare triple {108#true} [188] L696-6-->L697: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {108#true} is VALID [2022-02-20 20:42:42,962 INFO L290 TraceCheckUtils]: 17: Hoare triple {108#true} [169] L697-->L697-1: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,963 INFO L290 TraceCheckUtils]: 18: Hoare triple {108#true} [154] L697-1-->L697-2: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,963 INFO L290 TraceCheckUtils]: 19: Hoare triple {108#true} [145] L697-2-->L697-3: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,963 INFO L290 TraceCheckUtils]: 20: Hoare triple {108#true} [195] L697-3-->L697-4: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,963 INFO L290 TraceCheckUtils]: 21: Hoare triple {108#true} [214] L697-4-->L697-5: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,963 INFO L290 TraceCheckUtils]: 22: Hoare triple {108#true} [239] L697-5-->L697-6: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,964 INFO L290 TraceCheckUtils]: 23: Hoare triple {108#true} [159] L697-6-->L698: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {108#true} is VALID [2022-02-20 20:42:42,964 INFO L290 TraceCheckUtils]: 24: Hoare triple {108#true} [217] L698-->L698-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {108#true} is VALID [2022-02-20 20:42:42,964 INFO L290 TraceCheckUtils]: 25: Hoare triple {108#true} [215] L698-1-->L698-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {108#true} is VALID [2022-02-20 20:42:42,964 INFO L290 TraceCheckUtils]: 26: Hoare triple {108#true} [236] L698-2-->L698-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {108#true} is VALID [2022-02-20 20:42:42,965 INFO L290 TraceCheckUtils]: 27: Hoare triple {108#true} [165] L698-3-->L698-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {108#true} is VALID [2022-02-20 20:42:42,965 INFO L290 TraceCheckUtils]: 28: Hoare triple {108#true} [216] L698-4-->L698-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {108#true} is VALID [2022-02-20 20:42:42,965 INFO L290 TraceCheckUtils]: 29: Hoare triple {108#true} [240] L698-5-->L698-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {108#true} is VALID [2022-02-20 20:42:42,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {108#true} [237] L698-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet16#1] {108#true} is VALID [2022-02-20 20:42:42,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {108#true} [177] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,966 INFO L290 TraceCheckUtils]: 32: Hoare triple {108#true} [155] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:42:42,966 INFO L290 TraceCheckUtils]: 33: Hoare triple {108#true} [232] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {108#true} is VALID [2022-02-20 20:42:42,966 INFO L290 TraceCheckUtils]: 34: Hoare triple {108#true} [152] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_#t~mem15#1=|v_ULTIMATE.start_main_#t~mem15#1_1|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_1|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_1|, ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_1|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_1|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_#t~mem15#1, ULTIMATE.start_main_~#id~0#1.base, ULTIMATE.start_main_~#i~0#1.base, ULTIMATE.start_main_#t~pre10#1, ULTIMATE.start_main_#t~nondet13#1, ULTIMATE.start_main_~#i~0#1.offset, ULTIMATE.start_main_~#id~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {108#true} is VALID [2022-02-20 20:42:42,967 INFO L290 TraceCheckUtils]: 35: Hoare triple {108#true} [201] L707-->L707-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#id~0#1.base_2| 0)) (= (store |v_#length_6| |v_ULTIMATE.start_main_~#id~0#1.base_2| 4) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#id~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#id~0#1.offset_2| 0) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#id~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#id~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_2|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#id~0#1.base, #valid, #length, ULTIMATE.start_main_~#id~0#1.offset] {110#(= 1 (select |#valid| |ULTIMATE.start_main_~#id~0#1.base|))} is VALID [2022-02-20 20:42:42,968 INFO L290 TraceCheckUtils]: 36: Hoare triple {110#(= 1 (select |#valid| |ULTIMATE.start_main_~#id~0#1.base|))} [193] L707-1-->L708: Formula: (and (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#i~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#i~0#1.base_2| 0)) (= |v_#length_7| (store |v_#length_8| |v_ULTIMATE.start_main_~#i~0#1.base_2| 4)) (= (select |v_#valid_9| |v_ULTIMATE.start_main_~#i~0#1.base_2|) 0) (= |v_ULTIMATE.start_main_~#i~0#1.offset_2| 0) (= |v_#valid_8| (store |v_#valid_9| |v_ULTIMATE.start_main_~#i~0#1.base_2| 1))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_7|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_2|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_2|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#i~0#1.base, #valid, #length, ULTIMATE.start_main_~#i~0#1.offset] {111#(not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|))} is VALID [2022-02-20 20:42:42,968 INFO L290 TraceCheckUtils]: 37: Hoare triple {111#(not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|))} [150] L708-->L708-1: Formula: (= (select (select |v_#memory_int_13| |v_ULTIMATE.start_main_~#i~0#1.base_3|) |v_ULTIMATE.start_main_~#i~0#1.offset_3|) 0) InVars {#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_3|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_3|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_3|} AuxVars[] AssignedVars[] {112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} is VALID [2022-02-20 20:42:42,969 INFO L290 TraceCheckUtils]: 38: Hoare triple {112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} [164] L708-1-->L709: Formula: (= |v_ULTIMATE.start_main_#t~pre10#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] {112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} is VALID [2022-02-20 20:42:42,969 INFO L290 TraceCheckUtils]: 39: Hoare triple {112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} [235] L709-->L709-1: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} is VALID [2022-02-20 20:42:42,970 INFO L290 TraceCheckUtils]: 40: Hoare triple {112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} [186] L709-1-->L709-2: Formula: (= |v_#memory_int_14| (store |v_#memory_int_15| |v_ULTIMATE.start_main_~#id~0#1.base_3| (store (select |v_#memory_int_15| |v_ULTIMATE.start_main_~#id~0#1.base_3|) |v_ULTIMATE.start_main_~#id~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre10#1_3|))) InVars {#memory_int=|v_#memory_int_15|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_3|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_3|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_3|} OutVars{#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_3|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_3|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_3|} AuxVars[] AssignedVars[#memory_int] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,970 INFO L290 TraceCheckUtils]: 41: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [288] L709-2-->t_funENTRY: Formula: (and (= |v_ULTIMATE.start_main_~#i~0#1.base_8| |v_t_funThread1of1ForFork0_#in~arg.base_4|) (= v_t_funThread1of1ForFork0_thidvar1_2 0) (= v_t_funThread1of1ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre10#1_6|) (= |v_ULTIMATE.start_main_~#i~0#1.offset_8| |v_t_funThread1of1ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_8|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_8|} OutVars{ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_8|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_12, t_funThread1of1ForFork0_thidvar1=v_t_funThread1of1ForFork0_thidvar1_2, t_funThread1of1ForFork0_#in~arg.base=|v_t_funThread1of1ForFork0_#in~arg.base_4|, t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_6, t_funThread1of1ForFork0_#t~post9=|v_t_funThread1of1ForFork0_#t~post9_8|, t_funThread1of1ForFork0_thidvar0=v_t_funThread1of1ForFork0_thidvar0_2, t_funThread1of1ForFork0_#res.offset=|v_t_funThread1of1ForFork0_#res.offset_4|, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_12, t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_8|, t_funThread1of1ForFork0_#in~arg.offset=|v_t_funThread1of1ForFork0_#in~arg.offset_4|, t_funThread1of1ForFork0_#t~nondet7=|v_t_funThread1of1ForFork0_#t~nondet7_6|, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_8|, t_funThread1of1ForFork0_#t~mem8=|v_t_funThread1of1ForFork0_#t~mem8_8|, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|, t_funThread1of1ForFork0_#res.base=|v_t_funThread1of1ForFork0_#res.base_4|, t_funThread1of1ForFork0_#t~nondet3=|v_t_funThread1of1ForFork0_#t~nondet3_6|, t_funThread1of1ForFork0_#t~nondet4=|v_t_funThread1of1ForFork0_#t~nondet4_6|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_8|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_~p~0.base, t_funThread1of1ForFork0_thidvar1, t_funThread1of1ForFork0_#in~arg.base, t_funThread1of1ForFork0_~arg.base, t_funThread1of1ForFork0_#t~post9, t_funThread1of1ForFork0_thidvar0, t_funThread1of1ForFork0_#res.offset, t_funThread1of1ForFork0_~p~0.offset, t_funThread1of1ForFork0_#t~mem5, t_funThread1of1ForFork0_#in~arg.offset, t_funThread1of1ForFork0_#t~nondet7, t_funThread1of1ForFork0_#t~post6, t_funThread1of1ForFork0_#t~mem8, t_funThread1of1ForFork0_~arg.offset, t_funThread1of1ForFork0_#res.base, t_funThread1of1ForFork0_#t~nondet3, t_funThread1of1ForFork0_#t~nondet4] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,971 INFO L290 TraceCheckUtils]: 42: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [226] L709-3-->L709-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,971 INFO L290 TraceCheckUtils]: 43: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [182] L709-4-->L710: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,972 INFO L290 TraceCheckUtils]: 44: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [194] L710-->L710-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,972 INFO L290 TraceCheckUtils]: 45: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [190] L710-1-->L711-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,973 INFO L290 TraceCheckUtils]: 46: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [199] L711-9-->L711-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= |v_ULTIMATE.start_main_#t~nondet13#1_2| 0) (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_2|, #pthreadsMutex=|v_#pthreadsMutex_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet13#1] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,973 INFO L290 TraceCheckUtils]: 47: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [229] L711-1-->L711-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet13#1] {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:42,974 INFO L290 TraceCheckUtils]: 48: Hoare triple {113#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [191] L711-2-->L711-3: Formula: (= (select (select |v_#memory_int_16| |v_ULTIMATE.start_main_~#i~0#1.base_4|) |v_ULTIMATE.start_main_~#i~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem14#1_2|) InVars {#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_4|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_2|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_4|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem14#1] {114#(= |ULTIMATE.start_main_#t~mem14#1| 0)} is VALID [2022-02-20 20:42:42,974 INFO L290 TraceCheckUtils]: 49: Hoare triple {114#(= |ULTIMATE.start_main_#t~mem14#1| 0)} [167] L711-3-->L711-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {114#(= |ULTIMATE.start_main_#t~mem14#1| 0)} is VALID [2022-02-20 20:42:42,974 INFO L290 TraceCheckUtils]: 50: Hoare triple {114#(= |ULTIMATE.start_main_#t~mem14#1| 0)} [228] L711-4-->L711-5: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1| (ite (= |v_ULTIMATE.start_main_#t~mem14#1_3| 0) 1 0)) InVars {ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_3|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {115#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:42:42,975 INFO L290 TraceCheckUtils]: 51: Hoare triple {115#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} [147] L711-5-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {115#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:42:42,975 INFO L290 TraceCheckUtils]: 52: Hoare triple {115#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} [174] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {116#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 20:42:42,976 INFO L290 TraceCheckUtils]: 53: Hoare triple {116#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} [252] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:42:42,976 INFO L290 TraceCheckUtils]: 54: Hoare triple {109#false} [170] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:42:42,977 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-20 20:42:42,977 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:42:42,978 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1270328709] [2022-02-20 20:42:42,978 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1270328709] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:42:42,978 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:42:42,978 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 20:42:42,979 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [138131275] [2022-02-20 20:42:42,980 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:42:42,988 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 6.111111111111111) internal successors, (55), 9 states have internal predecessors, (55), 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) Word has length 55 [2022-02-20 20:42:42,989 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:42:42,992 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 6.111111111111111) internal successors, (55), 9 states have internal predecessors, (55), 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-20 20:42:43,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:42:43,032 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 20:42:43,032 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:42:43,045 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 20:42:43,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 20:42:43,048 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 110 [2022-02-20 20:42:43,051 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 94 places, 99 transitions, 201 flow. Second operand has 9 states, 9 states have (on average 63.111111111111114) internal successors, (568), 9 states have internal predecessors, (568), 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-20 20:42:43,051 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:42:43,052 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 110 [2022-02-20 20:42:43,052 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:42:43,454 INFO L129 PetriNetUnfolder]: 41/308 cut-off events. [2022-02-20 20:42:43,454 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:42:43,455 INFO L84 FinitePrefix]: Finished finitePrefix Result has 440 conditions, 308 events. 41/308 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 19. Compared 1426 event pairs, 10 based on Foata normal form. 96/401 useless extension candidates. Maximal degree in co-relation 370. Up to 29 conditions per place. [2022-02-20 20:42:43,456 INFO L132 encePairwiseOnDemand]: 91/110 looper letters, 28 selfloop transitions, 4 changer transitions 38/120 dead transitions. [2022-02-20 20:42:43,456 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 106 places, 120 transitions, 375 flow [2022-02-20 20:42:43,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 20:42:43,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2022-02-20 20:42:43,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 948 transitions. [2022-02-20 20:42:43,504 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6155844155844156 [2022-02-20 20:42:43,505 INFO L72 ComplementDD]: Start complementDD. Operand 14 states and 948 transitions. [2022-02-20 20:42:43,505 INFO L73 IsDeterministic]: Start isDeterministic. Operand 14 states and 948 transitions. [2022-02-20 20:42:43,506 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:42:43,507 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 14 states and 948 transitions. [2022-02-20 20:42:43,512 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 15 states, 14 states have (on average 67.71428571428571) internal successors, (948), 14 states have internal predecessors, (948), 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-20 20:42:43,516 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 15 states, 15 states have (on average 110.0) internal successors, (1650), 15 states have internal predecessors, (1650), 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-20 20:42:43,521 INFO L81 ComplementDD]: Finished complementDD. Result has 15 states, 15 states have (on average 110.0) internal successors, (1650), 15 states have internal predecessors, (1650), 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-20 20:42:43,523 INFO L186 Difference]: Start difference. First operand has 94 places, 99 transitions, 201 flow. Second operand 14 states and 948 transitions. [2022-02-20 20:42:43,540 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 106 places, 120 transitions, 375 flow [2022-02-20 20:42:43,542 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 105 places, 120 transitions, 374 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 20:42:43,545 INFO L242 Difference]: Finished difference. Result has 112 places, 82 transitions, 190 flow [2022-02-20 20:42:43,546 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=110, PETRI_DIFFERENCE_MINUEND_FLOW=180, PETRI_DIFFERENCE_MINUEND_PLACES=92, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=89, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=85, PETRI_DIFFERENCE_SUBTRAHEND_STATES=14, PETRI_FLOW=190, PETRI_PLACES=112, PETRI_TRANSITIONS=82} [2022-02-20 20:42:43,549 INFO L334 CegarLoopForPetriNet]: 94 programPoint places, 18 predicate places. [2022-02-20 20:42:43,549 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 112 places, 82 transitions, 190 flow [2022-02-20 20:42:43,566 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 364 states, 363 states have (on average 1.7741046831955922) internal successors, (644), 363 states have internal predecessors, (644), 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-20 20:42:43,567 INFO L78 Accepts]: Start accepts. Automaton has has 364 states, 363 states have (on average 1.7741046831955922) internal successors, (644), 363 states have internal predecessors, (644), 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) Word has length 55 [2022-02-20 20:42:43,568 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:42:43,568 INFO L470 AbstractCegarLoop]: Abstraction has has 112 places, 82 transitions, 190 flow [2022-02-20 20:42:43,569 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 63.111111111111114) internal successors, (568), 9 states have internal predecessors, (568), 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-20 20:42:43,569 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:42:43,569 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:42:43,569 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:42:43,569 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:42:43,570 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:42:43,570 INFO L85 PathProgramCache]: Analyzing trace with hash -2129046964, now seen corresponding path program 1 times [2022-02-20 20:42:43,570 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:42:43,570 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1360455370] [2022-02-20 20:42:43,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:42:43,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:42:43,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:42:43,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {512#true} [238] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {512#true} is VALID [2022-02-20 20:42:43,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {512#true} [175] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet16#1] {512#true} is VALID [2022-02-20 20:42:43,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {512#true} [244] L-1-1-->L-1-2: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {512#true} is VALID [2022-02-20 20:42:43,683 INFO L290 TraceCheckUtils]: 3: Hoare triple {512#true} [245] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {512#true} is VALID [2022-02-20 20:42:43,683 INFO L290 TraceCheckUtils]: 4: Hoare triple {512#true} [249] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {512#true} is VALID [2022-02-20 20:42:43,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {512#true} [185] L690-->L690-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {512#true} is VALID [2022-02-20 20:42:43,683 INFO L290 TraceCheckUtils]: 6: Hoare triple {512#true} [148] L690-1-->L690-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {512#true} is VALID [2022-02-20 20:42:43,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {512#true} [163] L690-2-->L690-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {512#true} is VALID [2022-02-20 20:42:43,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {512#true} [223] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {512#true} is VALID [2022-02-20 20:42:43,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {512#true} [189] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {514#(<= |~#__global_lock~0.base| 3)} is VALID [2022-02-20 20:42:43,685 INFO L290 TraceCheckUtils]: 10: Hoare triple {514#(<= |~#__global_lock~0.base| 3)} [179] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {514#(<= |~#__global_lock~0.base| 3)} is VALID [2022-02-20 20:42:43,685 INFO L290 TraceCheckUtils]: 11: Hoare triple {514#(<= |~#__global_lock~0.base| 3)} [227] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {514#(<= |~#__global_lock~0.base| 3)} is VALID [2022-02-20 20:42:43,685 INFO L290 TraceCheckUtils]: 12: Hoare triple {514#(<= |~#__global_lock~0.base| 3)} [158] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {514#(<= |~#__global_lock~0.base| 3)} is VALID [2022-02-20 20:42:43,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {514#(<= |~#__global_lock~0.base| 3)} [250] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {514#(<= |~#__global_lock~0.base| 3)} is VALID [2022-02-20 20:42:43,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {514#(<= |~#__global_lock~0.base| 3)} [234] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {514#(<= |~#__global_lock~0.base| 3)} is VALID [2022-02-20 20:42:43,686 INFO L290 TraceCheckUtils]: 15: Hoare triple {514#(<= |~#__global_lock~0.base| 3)} [181] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {514#(<= |~#__global_lock~0.base| 3)} is VALID [2022-02-20 20:42:43,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {514#(<= |~#__global_lock~0.base| 3)} [188] L696-6-->L697: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [169] L697-->L697-1: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [154] L697-1-->L697-2: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [145] L697-2-->L697-3: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [195] L697-3-->L697-4: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,690 INFO L290 TraceCheckUtils]: 21: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [214] L697-4-->L697-5: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,690 INFO L290 TraceCheckUtils]: 22: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [239] L697-5-->L697-6: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,691 INFO L290 TraceCheckUtils]: 23: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [159] L697-6-->L698: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,691 INFO L290 TraceCheckUtils]: 24: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [217] L698-->L698-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,691 INFO L290 TraceCheckUtils]: 25: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [215] L698-1-->L698-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,692 INFO L290 TraceCheckUtils]: 26: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [236] L698-2-->L698-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [165] L698-3-->L698-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,693 INFO L290 TraceCheckUtils]: 28: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [216] L698-4-->L698-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,694 INFO L290 TraceCheckUtils]: 29: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [240] L698-5-->L698-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,695 INFO L290 TraceCheckUtils]: 30: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [237] L698-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet16#1] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [177] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,696 INFO L290 TraceCheckUtils]: 32: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [155] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,696 INFO L290 TraceCheckUtils]: 33: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [232] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [152] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_#t~mem15#1=|v_ULTIMATE.start_main_#t~mem15#1_1|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_1|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_1|, ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_1|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_1|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_#t~mem15#1, ULTIMATE.start_main_~#id~0#1.base, ULTIMATE.start_main_~#i~0#1.base, ULTIMATE.start_main_#t~pre10#1, ULTIMATE.start_main_#t~nondet13#1, ULTIMATE.start_main_~#i~0#1.offset, ULTIMATE.start_main_~#id~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [201] L707-->L707-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#id~0#1.base_2| 0)) (= (store |v_#length_6| |v_ULTIMATE.start_main_~#id~0#1.base_2| 4) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#id~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#id~0#1.offset_2| 0) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#id~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#id~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_2|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#id~0#1.base, #valid, #length, ULTIMATE.start_main_~#id~0#1.offset] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,698 INFO L290 TraceCheckUtils]: 36: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [193] L707-1-->L708: Formula: (and (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#i~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#i~0#1.base_2| 0)) (= |v_#length_7| (store |v_#length_8| |v_ULTIMATE.start_main_~#i~0#1.base_2| 4)) (= (select |v_#valid_9| |v_ULTIMATE.start_main_~#i~0#1.base_2|) 0) (= |v_ULTIMATE.start_main_~#i~0#1.offset_2| 0) (= |v_#valid_8| (store |v_#valid_9| |v_ULTIMATE.start_main_~#i~0#1.base_2| 1))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_7|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_2|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_2|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#i~0#1.base, #valid, #length, ULTIMATE.start_main_~#i~0#1.offset] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,698 INFO L290 TraceCheckUtils]: 37: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [150] L708-->L708-1: Formula: (= (select (select |v_#memory_int_13| |v_ULTIMATE.start_main_~#i~0#1.base_3|) |v_ULTIMATE.start_main_~#i~0#1.offset_3|) 0) InVars {#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_3|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_3|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_3|} AuxVars[] AssignedVars[] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,699 INFO L290 TraceCheckUtils]: 38: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [164] L708-1-->L709: Formula: (= |v_ULTIMATE.start_main_#t~pre10#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,699 INFO L290 TraceCheckUtils]: 39: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [235] L709-->L709-1: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,700 INFO L290 TraceCheckUtils]: 40: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [186] L709-1-->L709-2: Formula: (= |v_#memory_int_14| (store |v_#memory_int_15| |v_ULTIMATE.start_main_~#id~0#1.base_3| (store (select |v_#memory_int_15| |v_ULTIMATE.start_main_~#id~0#1.base_3|) |v_ULTIMATE.start_main_~#id~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre10#1_3|))) InVars {#memory_int=|v_#memory_int_15|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_3|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_3|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_3|} OutVars{#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_3|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_3|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_3|} AuxVars[] AssignedVars[#memory_int] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,700 INFO L290 TraceCheckUtils]: 41: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [288] L709-2-->t_funENTRY: Formula: (and (= |v_ULTIMATE.start_main_~#i~0#1.base_8| |v_t_funThread1of1ForFork0_#in~arg.base_4|) (= v_t_funThread1of1ForFork0_thidvar1_2 0) (= v_t_funThread1of1ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre10#1_6|) (= |v_ULTIMATE.start_main_~#i~0#1.offset_8| |v_t_funThread1of1ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_8|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_8|} OutVars{ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_8|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_12, t_funThread1of1ForFork0_thidvar1=v_t_funThread1of1ForFork0_thidvar1_2, t_funThread1of1ForFork0_#in~arg.base=|v_t_funThread1of1ForFork0_#in~arg.base_4|, t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_6, t_funThread1of1ForFork0_#t~post9=|v_t_funThread1of1ForFork0_#t~post9_8|, t_funThread1of1ForFork0_thidvar0=v_t_funThread1of1ForFork0_thidvar0_2, t_funThread1of1ForFork0_#res.offset=|v_t_funThread1of1ForFork0_#res.offset_4|, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_12, t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_8|, t_funThread1of1ForFork0_#in~arg.offset=|v_t_funThread1of1ForFork0_#in~arg.offset_4|, t_funThread1of1ForFork0_#t~nondet7=|v_t_funThread1of1ForFork0_#t~nondet7_6|, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_8|, t_funThread1of1ForFork0_#t~mem8=|v_t_funThread1of1ForFork0_#t~mem8_8|, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|, t_funThread1of1ForFork0_#res.base=|v_t_funThread1of1ForFork0_#res.base_4|, t_funThread1of1ForFork0_#t~nondet3=|v_t_funThread1of1ForFork0_#t~nondet3_6|, t_funThread1of1ForFork0_#t~nondet4=|v_t_funThread1of1ForFork0_#t~nondet4_6|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_8|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_~p~0.base, t_funThread1of1ForFork0_thidvar1, t_funThread1of1ForFork0_#in~arg.base, t_funThread1of1ForFork0_~arg.base, t_funThread1of1ForFork0_#t~post9, t_funThread1of1ForFork0_thidvar0, t_funThread1of1ForFork0_#res.offset, t_funThread1of1ForFork0_~p~0.offset, t_funThread1of1ForFork0_#t~mem5, t_funThread1of1ForFork0_#in~arg.offset, t_funThread1of1ForFork0_#t~nondet7, t_funThread1of1ForFork0_#t~post6, t_funThread1of1ForFork0_#t~mem8, t_funThread1of1ForFork0_~arg.offset, t_funThread1of1ForFork0_#res.base, t_funThread1of1ForFork0_#t~nondet3, t_funThread1of1ForFork0_#t~nondet4] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,701 INFO L290 TraceCheckUtils]: 42: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [254] t_funENTRY-->L700: Formula: (and (= |v_t_funThread1of1ForFork0_#in~arg.base_1| v_t_funThread1of1ForFork0_~arg.base_1) (= v_t_funThread1of1ForFork0_~arg.offset_1 |v_t_funThread1of1ForFork0_#in~arg.offset_1|)) InVars {t_funThread1of1ForFork0_#in~arg.base=|v_t_funThread1of1ForFork0_#in~arg.base_1|, t_funThread1of1ForFork0_#in~arg.offset=|v_t_funThread1of1ForFork0_#in~arg.offset_1|} OutVars{t_funThread1of1ForFork0_#in~arg.base=|v_t_funThread1of1ForFork0_#in~arg.base_1|, t_funThread1of1ForFork0_#in~arg.offset=|v_t_funThread1of1ForFork0_#in~arg.offset_1|, t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_1, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_1} AuxVars[] AssignedVars[t_funThread1of1ForFork0_~arg.offset, t_funThread1of1ForFork0_~arg.base] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,701 INFO L290 TraceCheckUtils]: 43: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [255] L700-->L701: Formula: (and (= v_t_funThread1of1ForFork0_~p~0.offset_1 v_t_funThread1of1ForFork0_~arg.offset_3) (= v_t_funThread1of1ForFork0_~p~0.base_1 v_t_funThread1of1ForFork0_~arg.base_3)) InVars {t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_3, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_3} OutVars{t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_1, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_1, t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_3, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_3} AuxVars[] AssignedVars[t_funThread1of1ForFork0_~p~0.offset, t_funThread1of1ForFork0_~p~0.base] {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} is VALID [2022-02-20 20:42:43,702 INFO L290 TraceCheckUtils]: 44: Hoare triple {515#(not (= |~#mutex1~0.base| |~#__global_lock~0.base|))} [256] L701-->L701-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_12| |v_~#mutex1~0.base_10|))) (and (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#mutex1~0.base_10| (store .cse0 |v_~#mutex1~0.offset_10| 1))) (= |v_t_funThread1of1ForFork0_#t~nondet3_1| 0) (= (select .cse0 |v_~#mutex1~0.offset_10|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_10|, ~#mutex1~0.base=|v_~#mutex1~0.base_10|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_11|, t_funThread1of1ForFork0_#t~nondet3=|v_t_funThread1of1ForFork0_#t~nondet3_1|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_10|, ~#mutex1~0.base=|v_~#mutex1~0.base_10|} AuxVars[] AssignedVars[#pthreadsMutex, t_funThread1of1ForFork0_#t~nondet3] {516#(and (= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1) (not (= |~#mutex1~0.base| |~#__global_lock~0.base|)))} is VALID [2022-02-20 20:42:43,703 INFO L290 TraceCheckUtils]: 45: Hoare triple {516#(and (= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1) (not (= |~#mutex1~0.base| |~#__global_lock~0.base|)))} [257] L701-1-->L702-21: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~nondet3=|v_t_funThread1of1ForFork0_#t~nondet3_3|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~nondet3] {516#(and (= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1) (not (= |~#mutex1~0.base| |~#__global_lock~0.base|)))} is VALID [2022-02-20 20:42:43,703 INFO L290 TraceCheckUtils]: 46: Hoare triple {516#(and (= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1) (not (= |~#mutex1~0.base| |~#__global_lock~0.base|)))} [258] L702-21-->L702-9: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {516#(and (= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1) (not (= |~#mutex1~0.base| |~#__global_lock~0.base|)))} is VALID [2022-02-20 20:42:43,704 INFO L290 TraceCheckUtils]: 47: Hoare triple {516#(and (= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1) (not (= |~#mutex1~0.base| |~#__global_lock~0.base|)))} [260] L702-9-->L702-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_14| |v_~#__global_lock~0.base_9|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_9|) 0) (= |v_#pthreadsMutex_13| (store |v_#pthreadsMutex_14| |v_~#__global_lock~0.base_9| (store .cse0 |v_~#__global_lock~0.offset_9| 1))) (= |v_t_funThread1of1ForFork0_#t~nondet4_1| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_14|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_9|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_9|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_13|, t_funThread1of1ForFork0_#t~nondet4=|v_t_funThread1of1ForFork0_#t~nondet4_1|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_9|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_9|} AuxVars[] AssignedVars[#pthreadsMutex, t_funThread1of1ForFork0_#t~nondet4] {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} is VALID [2022-02-20 20:42:43,705 INFO L290 TraceCheckUtils]: 48: Hoare triple {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} [263] L702-1-->L702-2: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~nondet4=|v_t_funThread1of1ForFork0_#t~nondet4_3|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~nondet4] {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} is VALID [2022-02-20 20:42:43,705 INFO L290 TraceCheckUtils]: 49: Hoare triple {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} [267] L702-2-->L702-3: Formula: (= |v_t_funThread1of1ForFork0_#t~mem5_1| (select (select |v_#memory_int_18| v_t_funThread1of1ForFork0_~p~0.base_3) v_t_funThread1of1ForFork0_~p~0.offset_3)) InVars {#memory_int=|v_#memory_int_18|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_3, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_3} OutVars{#memory_int=|v_#memory_int_18|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_3, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_3, t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_1|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~mem5] {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} is VALID [2022-02-20 20:42:43,707 INFO L290 TraceCheckUtils]: 50: Hoare triple {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} [272] L702-3-->L702-4: Formula: (= |v_t_funThread1of1ForFork0_#t~post6_1| |v_t_funThread1of1ForFork0_#t~mem5_3|) InVars {t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_3|} OutVars{t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_3|, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_1|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~post6] {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} is VALID [2022-02-20 20:42:43,707 INFO L290 TraceCheckUtils]: 51: Hoare triple {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} [274] L702-4-->L702-5: Formula: (= |v_#memory_int_19| (store |v_#memory_int_20| v_t_funThread1of1ForFork0_~p~0.base_7 (store (select |v_#memory_int_20| v_t_funThread1of1ForFork0_~p~0.base_7) v_t_funThread1of1ForFork0_~p~0.offset_7 (+ |v_t_funThread1of1ForFork0_#t~post6_3| 1)))) InVars {#memory_int=|v_#memory_int_20|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_7, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_7, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_3|} OutVars{#memory_int=|v_#memory_int_19|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_7, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_7, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_3|} AuxVars[] AssignedVars[#memory_int] {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} is VALID [2022-02-20 20:42:43,708 INFO L290 TraceCheckUtils]: 52: Hoare triple {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} [226] L709-3-->L709-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} is VALID [2022-02-20 20:42:43,709 INFO L290 TraceCheckUtils]: 53: Hoare triple {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} [182] L709-4-->L710: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} is VALID [2022-02-20 20:42:43,709 INFO L290 TraceCheckUtils]: 54: Hoare triple {517#(= (select (select |#pthreadsMutex| |~#mutex1~0.base|) |~#mutex1~0.offset|) 1)} [194] L710-->L710-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {513#false} is VALID [2022-02-20 20:42:43,710 INFO L290 TraceCheckUtils]: 55: Hoare triple {513#false} [190] L710-1-->L711-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {513#false} is VALID [2022-02-20 20:42:43,711 INFO L290 TraceCheckUtils]: 56: Hoare triple {513#false} [199] L711-9-->L711-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= |v_ULTIMATE.start_main_#t~nondet13#1_2| 0) (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_2|, #pthreadsMutex=|v_#pthreadsMutex_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet13#1] {513#false} is VALID [2022-02-20 20:42:43,711 INFO L290 TraceCheckUtils]: 57: Hoare triple {513#false} [229] L711-1-->L711-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet13#1] {513#false} is VALID [2022-02-20 20:42:43,711 INFO L290 TraceCheckUtils]: 58: Hoare triple {513#false} [191] L711-2-->L711-3: Formula: (= (select (select |v_#memory_int_16| |v_ULTIMATE.start_main_~#i~0#1.base_4|) |v_ULTIMATE.start_main_~#i~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem14#1_2|) InVars {#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_4|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_2|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_4|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem14#1] {513#false} is VALID [2022-02-20 20:42:43,712 INFO L290 TraceCheckUtils]: 59: Hoare triple {513#false} [167] L711-3-->L711-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {513#false} is VALID [2022-02-20 20:42:43,713 INFO L290 TraceCheckUtils]: 60: Hoare triple {513#false} [228] L711-4-->L711-5: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1| (ite (= |v_ULTIMATE.start_main_#t~mem14#1_3| 0) 1 0)) InVars {ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_3|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {513#false} is VALID [2022-02-20 20:42:43,719 INFO L290 TraceCheckUtils]: 61: Hoare triple {513#false} [147] L711-5-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {513#false} is VALID [2022-02-20 20:42:43,721 INFO L290 TraceCheckUtils]: 62: Hoare triple {513#false} [174] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {513#false} is VALID [2022-02-20 20:42:43,721 INFO L290 TraceCheckUtils]: 63: Hoare triple {513#false} [252] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {513#false} is VALID [2022-02-20 20:42:43,722 INFO L290 TraceCheckUtils]: 64: Hoare triple {513#false} [170] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {513#false} is VALID [2022-02-20 20:42:43,722 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-20 20:42:43,723 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:42:43,723 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1360455370] [2022-02-20 20:42:43,723 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1360455370] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:42:43,723 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:42:43,723 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:42:43,724 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1046139750] [2022-02-20 20:42:43,724 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:42:43,725 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.833333333333334) internal successors, (65), 6 states have internal predecessors, (65), 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) Word has length 65 [2022-02-20 20:42:43,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:42:43,726 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.833333333333334) internal successors, (65), 6 states have internal predecessors, (65), 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-20 20:42:43,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:42:43,770 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:42:43,770 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:42:43,770 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:42:43,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:42:43,772 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 76 out of 110 [2022-02-20 20:42:43,773 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 112 places, 82 transitions, 190 flow. Second operand has 6 states, 6 states have (on average 78.83333333333333) internal successors, (473), 6 states have internal predecessors, (473), 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-20 20:42:43,773 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:42:43,773 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 76 of 110 [2022-02-20 20:42:43,773 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:42:43,928 INFO L129 PetriNetUnfolder]: 0/86 cut-off events. [2022-02-20 20:42:43,928 INFO L130 PetriNetUnfolder]: For 3/3 co-relation queries the response was YES. [2022-02-20 20:42:43,929 INFO L84 FinitePrefix]: Finished finitePrefix Result has 133 conditions, 86 events. 0/86 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 13 event pairs, 0 based on Foata normal form. 7/93 useless extension candidates. Maximal degree in co-relation 0. Up to 9 conditions per place. [2022-02-20 20:42:43,929 INFO L132 encePairwiseOnDemand]: 105/110 looper letters, 16 selfloop transitions, 5 changer transitions 0/82 dead transitions. [2022-02-20 20:42:43,929 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 100 places, 82 transitions, 232 flow [2022-02-20 20:42:43,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 20:42:43,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2022-02-20 20:42:43,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 403 transitions. [2022-02-20 20:42:43,934 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7327272727272728 [2022-02-20 20:42:43,934 INFO L72 ComplementDD]: Start complementDD. Operand 5 states and 403 transitions. [2022-02-20 20:42:43,934 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5 states and 403 transitions. [2022-02-20 20:42:43,934 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:42:43,934 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 5 states and 403 transitions. [2022-02-20 20:42:43,935 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 6 states, 5 states have (on average 80.6) internal successors, (403), 5 states have internal predecessors, (403), 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-20 20:42:43,936 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 6 states, 6 states have (on average 110.0) internal successors, (660), 6 states have internal predecessors, (660), 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-20 20:42:43,937 INFO L81 ComplementDD]: Finished complementDD. Result has 6 states, 6 states have (on average 110.0) internal successors, (660), 6 states have internal predecessors, (660), 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-20 20:42:43,937 INFO L186 Difference]: Start difference. First operand has 112 places, 82 transitions, 190 flow. Second operand 5 states and 403 transitions. [2022-02-20 20:42:43,937 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 100 places, 82 transitions, 232 flow [2022-02-20 20:42:43,938 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 90 places, 82 transitions, 212 flow, removed 6 selfloop flow, removed 10 redundant places. [2022-02-20 20:42:43,939 INFO L242 Difference]: Finished difference. Result has 90 places, 82 transitions, 180 flow [2022-02-20 20:42:43,939 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=110, PETRI_DIFFERENCE_MINUEND_FLOW=170, PETRI_DIFFERENCE_MINUEND_PLACES=86, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=82, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=77, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=180, PETRI_PLACES=90, PETRI_TRANSITIONS=82} [2022-02-20 20:42:43,940 INFO L334 CegarLoopForPetriNet]: 94 programPoint places, -4 predicate places. [2022-02-20 20:42:43,940 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 90 places, 82 transitions, 180 flow [2022-02-20 20:42:43,944 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 171 states, 169 states have (on average 1.5029585798816567) internal successors, (254), 170 states have internal predecessors, (254), 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-20 20:42:43,944 INFO L78 Accepts]: Start accepts. Automaton has has 171 states, 169 states have (on average 1.5029585798816567) internal successors, (254), 170 states have internal predecessors, (254), 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) Word has length 65 [2022-02-20 20:42:43,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:42:43,945 INFO L470 AbstractCegarLoop]: Abstraction has has 90 places, 82 transitions, 180 flow [2022-02-20 20:42:43,945 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 78.83333333333333) internal successors, (473), 6 states have internal predecessors, (473), 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-20 20:42:43,945 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:42:43,946 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:42:43,946 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:42:43,946 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:42:43,946 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:42:43,947 INFO L85 PathProgramCache]: Analyzing trace with hash 1261698595, now seen corresponding path program 1 times [2022-02-20 20:42:43,947 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:42:43,947 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [539205554] [2022-02-20 20:42:43,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:42:43,947 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:42:43,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:42:44,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {695#true} [238] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {695#true} [175] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet16#1] {695#true} is VALID [2022-02-20 20:42:44,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {695#true} [244] L-1-1-->L-1-2: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 3: Hoare triple {695#true} [245] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 4: Hoare triple {695#true} [249] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {695#true} [185] L690-->L690-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 6: Hoare triple {695#true} [148] L690-1-->L690-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {695#true} [163] L690-2-->L690-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {695#true} [223] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {695#true} [189] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 10: Hoare triple {695#true} [179] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 11: Hoare triple {695#true} [227] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {695#true} [158] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {695#true} [250] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {695#true} [234] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {695#true} [181] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 16: Hoare triple {695#true} [188] L696-6-->L697: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {695#true} [169] L697-->L697-1: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 18: Hoare triple {695#true} [154] L697-1-->L697-2: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {695#true} [145] L697-2-->L697-3: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {695#true} [195] L697-3-->L697-4: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 21: Hoare triple {695#true} [214] L697-4-->L697-5: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 22: Hoare triple {695#true} [239] L697-5-->L697-6: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 23: Hoare triple {695#true} [159] L697-6-->L698: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {695#true} is VALID [2022-02-20 20:42:44,311 INFO L290 TraceCheckUtils]: 24: Hoare triple {695#true} [217] L698-->L698-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 25: Hoare triple {695#true} [215] L698-1-->L698-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 26: Hoare triple {695#true} [236] L698-2-->L698-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 27: Hoare triple {695#true} [165] L698-3-->L698-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 28: Hoare triple {695#true} [216] L698-4-->L698-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 29: Hoare triple {695#true} [240] L698-5-->L698-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {695#true} [237] L698-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet16#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet16#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet16#1] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 31: Hoare triple {695#true} [177] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 32: Hoare triple {695#true} [155] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 33: Hoare triple {695#true} [232] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {695#true} is VALID [2022-02-20 20:42:44,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {695#true} [152] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_#t~mem15#1=|v_ULTIMATE.start_main_#t~mem15#1_1|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_1|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_1|, ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_1|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_1|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_#t~mem15#1, ULTIMATE.start_main_~#id~0#1.base, ULTIMATE.start_main_~#i~0#1.base, ULTIMATE.start_main_#t~pre10#1, ULTIMATE.start_main_#t~nondet13#1, ULTIMATE.start_main_~#i~0#1.offset, ULTIMATE.start_main_~#id~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {695#true} is VALID [2022-02-20 20:42:44,313 INFO L290 TraceCheckUtils]: 35: Hoare triple {695#true} [201] L707-->L707-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#id~0#1.base_2| 0)) (= (store |v_#length_6| |v_ULTIMATE.start_main_~#id~0#1.base_2| 4) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#id~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#id~0#1.offset_2| 0) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#id~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#id~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_2|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#id~0#1.base, #valid, #length, ULTIMATE.start_main_~#id~0#1.offset] {697#(= 1 (select |#valid| |ULTIMATE.start_main_~#id~0#1.base|))} is VALID [2022-02-20 20:42:44,314 INFO L290 TraceCheckUtils]: 36: Hoare triple {697#(= 1 (select |#valid| |ULTIMATE.start_main_~#id~0#1.base|))} [193] L707-1-->L708: Formula: (and (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#i~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#i~0#1.base_2| 0)) (= |v_#length_7| (store |v_#length_8| |v_ULTIMATE.start_main_~#i~0#1.base_2| 4)) (= (select |v_#valid_9| |v_ULTIMATE.start_main_~#i~0#1.base_2|) 0) (= |v_ULTIMATE.start_main_~#i~0#1.offset_2| 0) (= |v_#valid_8| (store |v_#valid_9| |v_ULTIMATE.start_main_~#i~0#1.base_2| 1))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_7|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_2|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_2|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#i~0#1.base, #valid, #length, ULTIMATE.start_main_~#i~0#1.offset] {698#(not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|))} is VALID [2022-02-20 20:42:44,314 INFO L290 TraceCheckUtils]: 37: Hoare triple {698#(not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|))} [150] L708-->L708-1: Formula: (= (select (select |v_#memory_int_13| |v_ULTIMATE.start_main_~#i~0#1.base_3|) |v_ULTIMATE.start_main_~#i~0#1.offset_3|) 0) InVars {#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_3|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_3|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_3|} AuxVars[] AssignedVars[] {699#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} is VALID [2022-02-20 20:42:44,314 INFO L290 TraceCheckUtils]: 38: Hoare triple {699#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} [164] L708-1-->L709: Formula: (= |v_ULTIMATE.start_main_#t~pre10#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] {699#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} is VALID [2022-02-20 20:42:44,315 INFO L290 TraceCheckUtils]: 39: Hoare triple {699#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} [235] L709-->L709-1: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {699#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} is VALID [2022-02-20 20:42:44,315 INFO L290 TraceCheckUtils]: 40: Hoare triple {699#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#id~0#1.base| |ULTIMATE.start_main_~#i~0#1.base|)))} [186] L709-1-->L709-2: Formula: (= |v_#memory_int_14| (store |v_#memory_int_15| |v_ULTIMATE.start_main_~#id~0#1.base_3| (store (select |v_#memory_int_15| |v_ULTIMATE.start_main_~#id~0#1.base_3|) |v_ULTIMATE.start_main_~#id~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre10#1_3|))) InVars {#memory_int=|v_#memory_int_15|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_3|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_3|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_3|} OutVars{#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~#id~0#1.base=|v_ULTIMATE.start_main_~#id~0#1.base_3|, ULTIMATE.start_main_~#id~0#1.offset=|v_ULTIMATE.start_main_~#id~0#1.offset_3|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_3|} AuxVars[] AssignedVars[#memory_int] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,316 INFO L290 TraceCheckUtils]: 41: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [288] L709-2-->t_funENTRY: Formula: (and (= |v_ULTIMATE.start_main_~#i~0#1.base_8| |v_t_funThread1of1ForFork0_#in~arg.base_4|) (= v_t_funThread1of1ForFork0_thidvar1_2 0) (= v_t_funThread1of1ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre10#1_6|) (= |v_ULTIMATE.start_main_~#i~0#1.offset_8| |v_t_funThread1of1ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_8|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_8|} OutVars{ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_8|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_12, t_funThread1of1ForFork0_thidvar1=v_t_funThread1of1ForFork0_thidvar1_2, t_funThread1of1ForFork0_#in~arg.base=|v_t_funThread1of1ForFork0_#in~arg.base_4|, t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_6, t_funThread1of1ForFork0_#t~post9=|v_t_funThread1of1ForFork0_#t~post9_8|, t_funThread1of1ForFork0_thidvar0=v_t_funThread1of1ForFork0_thidvar0_2, t_funThread1of1ForFork0_#res.offset=|v_t_funThread1of1ForFork0_#res.offset_4|, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_12, t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_8|, t_funThread1of1ForFork0_#in~arg.offset=|v_t_funThread1of1ForFork0_#in~arg.offset_4|, t_funThread1of1ForFork0_#t~nondet7=|v_t_funThread1of1ForFork0_#t~nondet7_6|, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_8|, t_funThread1of1ForFork0_#t~mem8=|v_t_funThread1of1ForFork0_#t~mem8_8|, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|, t_funThread1of1ForFork0_#res.base=|v_t_funThread1of1ForFork0_#res.base_4|, t_funThread1of1ForFork0_#t~nondet3=|v_t_funThread1of1ForFork0_#t~nondet3_6|, t_funThread1of1ForFork0_#t~nondet4=|v_t_funThread1of1ForFork0_#t~nondet4_6|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_8|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_~p~0.base, t_funThread1of1ForFork0_thidvar1, t_funThread1of1ForFork0_#in~arg.base, t_funThread1of1ForFork0_~arg.base, t_funThread1of1ForFork0_#t~post9, t_funThread1of1ForFork0_thidvar0, t_funThread1of1ForFork0_#res.offset, t_funThread1of1ForFork0_~p~0.offset, t_funThread1of1ForFork0_#t~mem5, t_funThread1of1ForFork0_#in~arg.offset, t_funThread1of1ForFork0_#t~nondet7, t_funThread1of1ForFork0_#t~post6, t_funThread1of1ForFork0_#t~mem8, t_funThread1of1ForFork0_~arg.offset, t_funThread1of1ForFork0_#res.base, t_funThread1of1ForFork0_#t~nondet3, t_funThread1of1ForFork0_#t~nondet4] {701#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= |ULTIMATE.start_main_~#i~0#1.offset| |t_funThread1of1ForFork0_#in~arg.offset|) (= |t_funThread1of1ForFork0_#in~arg.base| |ULTIMATE.start_main_~#i~0#1.base|))} is VALID [2022-02-20 20:42:44,316 INFO L290 TraceCheckUtils]: 42: Hoare triple {701#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= |ULTIMATE.start_main_~#i~0#1.offset| |t_funThread1of1ForFork0_#in~arg.offset|) (= |t_funThread1of1ForFork0_#in~arg.base| |ULTIMATE.start_main_~#i~0#1.base|))} [226] L709-3-->L709-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] {701#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= |ULTIMATE.start_main_~#i~0#1.offset| |t_funThread1of1ForFork0_#in~arg.offset|) (= |t_funThread1of1ForFork0_#in~arg.base| |ULTIMATE.start_main_~#i~0#1.base|))} is VALID [2022-02-20 20:42:44,317 INFO L290 TraceCheckUtils]: 43: Hoare triple {701#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= |ULTIMATE.start_main_~#i~0#1.offset| |t_funThread1of1ForFork0_#in~arg.offset|) (= |t_funThread1of1ForFork0_#in~arg.base| |ULTIMATE.start_main_~#i~0#1.base|))} [182] L709-4-->L710: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {701#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= |ULTIMATE.start_main_~#i~0#1.offset| |t_funThread1of1ForFork0_#in~arg.offset|) (= |t_funThread1of1ForFork0_#in~arg.base| |ULTIMATE.start_main_~#i~0#1.base|))} is VALID [2022-02-20 20:42:44,317 INFO L290 TraceCheckUtils]: 44: Hoare triple {701#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= |ULTIMATE.start_main_~#i~0#1.offset| |t_funThread1of1ForFork0_#in~arg.offset|) (= |t_funThread1of1ForFork0_#in~arg.base| |ULTIMATE.start_main_~#i~0#1.base|))} [254] t_funENTRY-->L700: Formula: (and (= |v_t_funThread1of1ForFork0_#in~arg.base_1| v_t_funThread1of1ForFork0_~arg.base_1) (= v_t_funThread1of1ForFork0_~arg.offset_1 |v_t_funThread1of1ForFork0_#in~arg.offset_1|)) InVars {t_funThread1of1ForFork0_#in~arg.base=|v_t_funThread1of1ForFork0_#in~arg.base_1|, t_funThread1of1ForFork0_#in~arg.offset=|v_t_funThread1of1ForFork0_#in~arg.offset_1|} OutVars{t_funThread1of1ForFork0_#in~arg.base=|v_t_funThread1of1ForFork0_#in~arg.base_1|, t_funThread1of1ForFork0_#in~arg.offset=|v_t_funThread1of1ForFork0_#in~arg.offset_1|, t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_1, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_1} AuxVars[] AssignedVars[t_funThread1of1ForFork0_~arg.offset, t_funThread1of1ForFork0_~arg.base] {702#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= t_funThread1of1ForFork0_~arg.base |ULTIMATE.start_main_~#i~0#1.base|) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~arg.offset))} is VALID [2022-02-20 20:42:44,318 INFO L290 TraceCheckUtils]: 45: Hoare triple {702#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0) (= t_funThread1of1ForFork0_~arg.base |ULTIMATE.start_main_~#i~0#1.base|) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~arg.offset))} [255] L700-->L701: Formula: (and (= v_t_funThread1of1ForFork0_~p~0.offset_1 v_t_funThread1of1ForFork0_~arg.offset_3) (= v_t_funThread1of1ForFork0_~p~0.base_1 v_t_funThread1of1ForFork0_~arg.base_3)) InVars {t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_3, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_3} OutVars{t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_1, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_1, t_funThread1of1ForFork0_~arg.base=v_t_funThread1of1ForFork0_~arg.base_3, t_funThread1of1ForFork0_~arg.offset=v_t_funThread1of1ForFork0_~arg.offset_3} AuxVars[] AssignedVars[t_funThread1of1ForFork0_~p~0.offset, t_funThread1of1ForFork0_~p~0.base] {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} is VALID [2022-02-20 20:42:44,319 INFO L290 TraceCheckUtils]: 46: Hoare triple {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} [256] L701-->L701-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_12| |v_~#mutex1~0.base_10|))) (and (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#mutex1~0.base_10| (store .cse0 |v_~#mutex1~0.offset_10| 1))) (= |v_t_funThread1of1ForFork0_#t~nondet3_1| 0) (= (select .cse0 |v_~#mutex1~0.offset_10|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_10|, ~#mutex1~0.base=|v_~#mutex1~0.base_10|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_11|, t_funThread1of1ForFork0_#t~nondet3=|v_t_funThread1of1ForFork0_#t~nondet3_1|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_10|, ~#mutex1~0.base=|v_~#mutex1~0.base_10|} AuxVars[] AssignedVars[#pthreadsMutex, t_funThread1of1ForFork0_#t~nondet3] {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} is VALID [2022-02-20 20:42:44,319 INFO L290 TraceCheckUtils]: 47: Hoare triple {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} [257] L701-1-->L702-21: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~nondet3=|v_t_funThread1of1ForFork0_#t~nondet3_3|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~nondet3] {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} is VALID [2022-02-20 20:42:44,320 INFO L290 TraceCheckUtils]: 48: Hoare triple {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} [258] L702-21-->L702-9: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} is VALID [2022-02-20 20:42:44,320 INFO L290 TraceCheckUtils]: 49: Hoare triple {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} [260] L702-9-->L702-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_14| |v_~#__global_lock~0.base_9|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_9|) 0) (= |v_#pthreadsMutex_13| (store |v_#pthreadsMutex_14| |v_~#__global_lock~0.base_9| (store .cse0 |v_~#__global_lock~0.offset_9| 1))) (= |v_t_funThread1of1ForFork0_#t~nondet4_1| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_14|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_9|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_9|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_13|, t_funThread1of1ForFork0_#t~nondet4=|v_t_funThread1of1ForFork0_#t~nondet4_1|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_9|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_9|} AuxVars[] AssignedVars[#pthreadsMutex, t_funThread1of1ForFork0_#t~nondet4] {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} is VALID [2022-02-20 20:42:44,320 INFO L290 TraceCheckUtils]: 50: Hoare triple {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} [263] L702-1-->L702-2: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~nondet4=|v_t_funThread1of1ForFork0_#t~nondet4_3|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~nondet4] {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} is VALID [2022-02-20 20:42:44,321 INFO L290 TraceCheckUtils]: 51: Hoare triple {703#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 0))} [267] L702-2-->L702-3: Formula: (= |v_t_funThread1of1ForFork0_#t~mem5_1| (select (select |v_#memory_int_18| v_t_funThread1of1ForFork0_~p~0.base_3) v_t_funThread1of1ForFork0_~p~0.offset_3)) InVars {#memory_int=|v_#memory_int_18|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_3, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_3} OutVars{#memory_int=|v_#memory_int_18|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_3, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_3, t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_1|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~mem5] {704#(and (= |t_funThread1of1ForFork0_#t~mem5| 0) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,321 INFO L290 TraceCheckUtils]: 52: Hoare triple {704#(and (= |t_funThread1of1ForFork0_#t~mem5| 0) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [272] L702-3-->L702-4: Formula: (= |v_t_funThread1of1ForFork0_#t~post6_1| |v_t_funThread1of1ForFork0_#t~mem5_3|) InVars {t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_3|} OutVars{t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_3|, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_1|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~post6] {705#(and (= |t_funThread1of1ForFork0_#t~post6| 0) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,322 INFO L290 TraceCheckUtils]: 53: Hoare triple {705#(and (= |t_funThread1of1ForFork0_#t~post6| 0) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [274] L702-4-->L702-5: Formula: (= |v_#memory_int_19| (store |v_#memory_int_20| v_t_funThread1of1ForFork0_~p~0.base_7 (store (select |v_#memory_int_20| v_t_funThread1of1ForFork0_~p~0.base_7) v_t_funThread1of1ForFork0_~p~0.offset_7 (+ |v_t_funThread1of1ForFork0_#t~post6_3| 1)))) InVars {#memory_int=|v_#memory_int_20|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_7, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_7, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_3|} OutVars{#memory_int=|v_#memory_int_19|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_7, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_7, t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_3|} AuxVars[] AssignedVars[#memory_int] {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,322 INFO L290 TraceCheckUtils]: 54: Hoare triple {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [276] L702-5-->L702-6: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~mem5=|v_t_funThread1of1ForFork0_#t~mem5_5|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~mem5] {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,323 INFO L290 TraceCheckUtils]: 55: Hoare triple {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [278] L702-6-->L702-7: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~post6=|v_t_funThread1of1ForFork0_#t~post6_5|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~post6] {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,323 INFO L290 TraceCheckUtils]: 56: Hoare triple {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [280] L702-7-->L702-8: Formula: (= |v_#pthreadsMutex_15| (store |v_#pthreadsMutex_16| |v_~#__global_lock~0.base_10| (store (select |v_#pthreadsMutex_16| |v_~#__global_lock~0.base_10|) |v_~#__global_lock~0.offset_10| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_16|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_10|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_10|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_15|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_10|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_10|} AuxVars[] AssignedVars[#pthreadsMutex] {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,324 INFO L290 TraceCheckUtils]: 57: Hoare triple {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [282] L702-8-->L702-19: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,324 INFO L290 TraceCheckUtils]: 58: Hoare triple {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [264] L702-19-->L702-11: Formula: (let ((.cse0 (select |v_#pthreadsMutex_18| |v_~#__global_lock~0.base_11|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_11|) 0) (= |v_t_funThread1of1ForFork0_#t~nondet7_1| 0) (= (store |v_#pthreadsMutex_18| |v_~#__global_lock~0.base_11| (store .cse0 |v_~#__global_lock~0.offset_11| 1)) |v_#pthreadsMutex_17|))) InVars {#pthreadsMutex=|v_#pthreadsMutex_18|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_11|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_11|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_17|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_11|, t_funThread1of1ForFork0_#t~nondet7=|v_t_funThread1of1ForFork0_#t~nondet7_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_11|} AuxVars[] AssignedVars[#pthreadsMutex, t_funThread1of1ForFork0_#t~nondet7] {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,325 INFO L290 TraceCheckUtils]: 59: Hoare triple {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [268] L702-11-->L702-12: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~nondet7=|v_t_funThread1of1ForFork0_#t~nondet7_3|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~nondet7] {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,325 INFO L290 TraceCheckUtils]: 60: Hoare triple {706#(and (<= 1 (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset)) (<= (select (select |#memory_int| t_funThread1of1ForFork0_~p~0.base) t_funThread1of1ForFork0_~p~0.offset) 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [273] L702-12-->L702-13: Formula: (= (select (select |v_#memory_int_21| v_t_funThread1of1ForFork0_~p~0.base_5) v_t_funThread1of1ForFork0_~p~0.offset_5) |v_t_funThread1of1ForFork0_#t~mem8_1|) InVars {#memory_int=|v_#memory_int_21|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_5, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_5} OutVars{#memory_int=|v_#memory_int_21|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_5, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_5, t_funThread1of1ForFork0_#t~mem8=|v_t_funThread1of1ForFork0_#t~mem8_1|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~mem8] {707#(and (<= |t_funThread1of1ForFork0_#t~mem8| 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (<= 1 |t_funThread1of1ForFork0_#t~mem8|) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} is VALID [2022-02-20 20:42:44,326 INFO L290 TraceCheckUtils]: 61: Hoare triple {707#(and (<= |t_funThread1of1ForFork0_#t~mem8| 1) (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (<= 1 |t_funThread1of1ForFork0_#t~mem8|) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset))} [275] L702-13-->L702-14: Formula: (= |v_t_funThread1of1ForFork0_#t~post9_1| |v_t_funThread1of1ForFork0_#t~mem8_3|) InVars {t_funThread1of1ForFork0_#t~mem8=|v_t_funThread1of1ForFork0_#t~mem8_3|} OutVars{t_funThread1of1ForFork0_#t~mem8=|v_t_funThread1of1ForFork0_#t~mem8_3|, t_funThread1of1ForFork0_#t~post9=|v_t_funThread1of1ForFork0_#t~post9_1|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~post9] {708#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (<= |t_funThread1of1ForFork0_#t~post9| 1) (< 0 |t_funThread1of1ForFork0_#t~post9|))} is VALID [2022-02-20 20:42:44,326 INFO L290 TraceCheckUtils]: 62: Hoare triple {708#(and (= |ULTIMATE.start_main_~#i~0#1.base| t_funThread1of1ForFork0_~p~0.base) (= |ULTIMATE.start_main_~#i~0#1.offset| t_funThread1of1ForFork0_~p~0.offset) (<= |t_funThread1of1ForFork0_#t~post9| 1) (< 0 |t_funThread1of1ForFork0_#t~post9|))} [277] L702-14-->L702-15: Formula: (= (store |v_#memory_int_23| v_t_funThread1of1ForFork0_~p~0.base_9 (store (select |v_#memory_int_23| v_t_funThread1of1ForFork0_~p~0.base_9) v_t_funThread1of1ForFork0_~p~0.offset_9 (+ (- 1) |v_t_funThread1of1ForFork0_#t~post9_3|))) |v_#memory_int_22|) InVars {#memory_int=|v_#memory_int_23|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_9, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_9, t_funThread1of1ForFork0_#t~post9=|v_t_funThread1of1ForFork0_#t~post9_3|} OutVars{#memory_int=|v_#memory_int_22|, t_funThread1of1ForFork0_~p~0.base=v_t_funThread1of1ForFork0_~p~0.base_9, t_funThread1of1ForFork0_~p~0.offset=v_t_funThread1of1ForFork0_~p~0.offset_9, t_funThread1of1ForFork0_#t~post9=|v_t_funThread1of1ForFork0_#t~post9_3|} AuxVars[] AssignedVars[#memory_int] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,327 INFO L290 TraceCheckUtils]: 63: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [279] L702-15-->L702-16: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~mem8=|v_t_funThread1of1ForFork0_#t~mem8_5|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~mem8] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,327 INFO L290 TraceCheckUtils]: 64: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [281] L702-16-->L702-17: Formula: true InVars {} OutVars{t_funThread1of1ForFork0_#t~post9=|v_t_funThread1of1ForFork0_#t~post9_5|} AuxVars[] AssignedVars[t_funThread1of1ForFork0_#t~post9] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,327 INFO L290 TraceCheckUtils]: 65: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [284] L702-17-->L702-18: Formula: (= |v_#pthreadsMutex_19| (store |v_#pthreadsMutex_20| |v_~#__global_lock~0.base_12| (store (select |v_#pthreadsMutex_20| |v_~#__global_lock~0.base_12|) |v_~#__global_lock~0.offset_12| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_20|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_12|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_12|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_19|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_12|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_12|} AuxVars[] AssignedVars[#pthreadsMutex] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,328 INFO L290 TraceCheckUtils]: 66: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [285] L702-18-->L702-20: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,328 INFO L290 TraceCheckUtils]: 67: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [269] L702-20-->L702-22: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,328 INFO L290 TraceCheckUtils]: 68: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [262] L702-22-->L704: Formula: (= |v_#pthreadsMutex_9| (store |v_#pthreadsMutex_10| |v_~#mutex1~0.base_9| (store (select |v_#pthreadsMutex_10| |v_~#mutex1~0.base_9|) |v_~#mutex1~0.offset_9| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_9|, ~#mutex1~0.base=|v_~#mutex1~0.base_9|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_9|, ~#mutex1~0.base=|v_~#mutex1~0.base_9|} AuxVars[] AssignedVars[#pthreadsMutex] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,329 INFO L290 TraceCheckUtils]: 69: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [194] L710-->L710-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,329 INFO L290 TraceCheckUtils]: 70: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [190] L710-1-->L711-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,329 INFO L290 TraceCheckUtils]: 71: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [199] L711-9-->L711-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= |v_ULTIMATE.start_main_#t~nondet13#1_2| 0) (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_2|, #pthreadsMutex=|v_#pthreadsMutex_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet13#1] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,330 INFO L290 TraceCheckUtils]: 72: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [229] L711-1-->L711-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet13#1] {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} is VALID [2022-02-20 20:42:44,330 INFO L290 TraceCheckUtils]: 73: Hoare triple {700#(= (select (select |#memory_int| |ULTIMATE.start_main_~#i~0#1.base|) |ULTIMATE.start_main_~#i~0#1.offset|) 0)} [191] L711-2-->L711-3: Formula: (= (select (select |v_#memory_int_16| |v_ULTIMATE.start_main_~#i~0#1.base_4|) |v_ULTIMATE.start_main_~#i~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem14#1_2|) InVars {#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_4|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_2|, ULTIMATE.start_main_~#i~0#1.offset=|v_ULTIMATE.start_main_~#i~0#1.offset_4|, ULTIMATE.start_main_~#i~0#1.base=|v_ULTIMATE.start_main_~#i~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem14#1] {709#(= |ULTIMATE.start_main_#t~mem14#1| 0)} is VALID [2022-02-20 20:42:44,330 INFO L290 TraceCheckUtils]: 74: Hoare triple {709#(= |ULTIMATE.start_main_#t~mem14#1| 0)} [167] L711-3-->L711-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {709#(= |ULTIMATE.start_main_#t~mem14#1| 0)} is VALID [2022-02-20 20:42:44,331 INFO L290 TraceCheckUtils]: 75: Hoare triple {709#(= |ULTIMATE.start_main_#t~mem14#1| 0)} [228] L711-4-->L711-5: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1| (ite (= |v_ULTIMATE.start_main_#t~mem14#1_3| 0) 1 0)) InVars {ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_3|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {710#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:42:44,331 INFO L290 TraceCheckUtils]: 76: Hoare triple {710#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} [147] L711-5-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {710#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:42:44,331 INFO L290 TraceCheckUtils]: 77: Hoare triple {710#(not (= |ULTIMATE.start___VERIFIER_assert_#in~cond#1| 0))} [174] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {711#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 20:42:44,332 INFO L290 TraceCheckUtils]: 78: Hoare triple {711#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} [252] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {696#false} is VALID [2022-02-20 20:42:44,332 INFO L290 TraceCheckUtils]: 79: Hoare triple {696#false} [170] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {696#false} is VALID [2022-02-20 20:42:44,332 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-20 20:42:44,332 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:42:44,332 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [539205554] [2022-02-20 20:42:44,333 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [539205554] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:42:44,333 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:42:44,333 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-02-20 20:42:44,334 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1291353093] [2022-02-20 20:42:44,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:42:44,334 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 4.705882352941177) internal successors, (80), 17 states have internal predecessors, (80), 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) Word has length 80 [2022-02-20 20:42:44,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:42:44,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 4.705882352941177) internal successors, (80), 17 states have internal predecessors, (80), 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-20 20:42:44,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:42:44,392 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 20:42:44,392 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:42:44,393 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 20:42:44,393 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=236, Unknown=0, NotChecked=0, Total=272 [2022-02-20 20:42:44,395 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 110 [2022-02-20 20:42:44,396 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 90 places, 82 transitions, 180 flow. Second operand has 17 states, 17 states have (on average 54.35294117647059) internal successors, (924), 17 states have internal predecessors, (924), 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-20 20:42:44,396 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:42:44,396 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 110 [2022-02-20 20:42:44,396 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:42:45,303 INFO L129 PetriNetUnfolder]: 0/84 cut-off events. [2022-02-20 20:42:45,304 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 20:42:45,304 INFO L84 FinitePrefix]: Finished finitePrefix Result has 137 conditions, 84 events. 0/84 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 13 event pairs, 0 based on Foata normal form. 1/85 useless extension candidates. Maximal degree in co-relation 0. Up to 19 conditions per place. [2022-02-20 20:42:45,304 INFO L132 encePairwiseOnDemand]: 90/110 looper letters, 0 selfloop transitions, 0 changer transitions 80/80 dead transitions. [2022-02-20 20:42:45,304 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 108 places, 80 transitions, 254 flow [2022-02-20 20:42:45,304 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-20 20:42:45,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2022-02-20 20:42:45,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 1132 transitions. [2022-02-20 20:42:45,316 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.49004329004329006 [2022-02-20 20:42:45,316 INFO L72 ComplementDD]: Start complementDD. Operand 21 states and 1132 transitions. [2022-02-20 20:42:45,316 INFO L73 IsDeterministic]: Start isDeterministic. Operand 21 states and 1132 transitions. [2022-02-20 20:42:45,317 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:42:45,317 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 21 states and 1132 transitions. [2022-02-20 20:42:45,319 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 22 states, 21 states have (on average 53.904761904761905) internal successors, (1132), 21 states have internal predecessors, (1132), 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-20 20:42:45,322 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 22 states, 22 states have (on average 110.0) internal successors, (2420), 22 states have internal predecessors, (2420), 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-20 20:42:45,325 INFO L81 ComplementDD]: Finished complementDD. Result has 22 states, 22 states have (on average 110.0) internal successors, (2420), 22 states have internal predecessors, (2420), 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-20 20:42:45,325 INFO L186 Difference]: Start difference. First operand has 90 places, 82 transitions, 180 flow. Second operand 21 states and 1132 transitions. [2022-02-20 20:42:45,325 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 108 places, 80 transitions, 254 flow [2022-02-20 20:42:45,333 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 105 places, 80 transitions, 248 flow, removed 0 selfloop flow, removed 3 redundant places. [2022-02-20 20:42:45,334 INFO L242 Difference]: Finished difference. Result has 105 places, 0 transitions, 0 flow [2022-02-20 20:42:45,334 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=110, PETRI_DIFFERENCE_MINUEND_FLOW=170, PETRI_DIFFERENCE_MINUEND_PLACES=85, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=80, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=80, PETRI_DIFFERENCE_SUBTRAHEND_STATES=21, PETRI_FLOW=0, PETRI_PLACES=105, PETRI_TRANSITIONS=0} [2022-02-20 20:42:45,338 INFO L334 CegarLoopForPetriNet]: 94 programPoint places, 11 predicate places. [2022-02-20 20:42:45,338 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 105 places, 0 transitions, 0 flow [2022-02-20 20:42:45,338 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 1 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 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-20 20:42:45,338 INFO L78 Accepts]: Start accepts. Automaton has has 1 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 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) Word has length 80 [2022-02-20 20:42:45,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:42:45,338 INFO L470 AbstractCegarLoop]: Abstraction has has 105 places, 0 transitions, 0 flow [2022-02-20 20:42:45,339 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 54.35294117647059) internal successors, (924), 17 states have internal predecessors, (924), 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-20 20:42:45,347 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 2 remaining) [2022-02-20 20:42:45,348 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0INUSE_VIOLATION (0 of 2 remaining) [2022-02-20 20:42:45,348 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:42:45,351 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2022-02-20 20:42:45,352 INFO L230 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2022-02-20 20:42:45,352 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 20:42:45,358 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 08:42:45 BasicIcfg [2022-02-20 20:42:45,358 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 20:42:45,359 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 20:42:45,359 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 20:42:45,359 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 20:42:45,359 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:42:42" (3/4) ... [2022-02-20 20:42:45,361 INFO L137 WitnessPrinter]: Generating witness for correct program [2022-02-20 20:42:45,365 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure t_fun [2022-02-20 20:42:45,370 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 14 nodes and edges [2022-02-20 20:42:45,370 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2022-02-20 20:42:45,370 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2022-02-20 20:42:45,370 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-20 20:42:45,406 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 20:42:45,407 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 20:42:45,408 INFO L158 Benchmark]: Toolchain (without parser) took 3871.01ms. Allocated memory was 121.6MB in the beginning and 165.7MB in the end (delta: 44.0MB). Free memory was 88.4MB in the beginning and 135.7MB in the end (delta: -47.3MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 20:42:45,408 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 92.3MB. Free memory is still 47.6MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 20:42:45,408 INFO L158 Benchmark]: CACSL2BoogieTranslator took 355.49ms. Allocated memory is still 121.6MB. Free memory was 88.4MB in the beginning and 84.9MB in the end (delta: 3.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 20:42:45,408 INFO L158 Benchmark]: Boogie Procedure Inliner took 57.97ms. Allocated memory is still 121.6MB. Free memory was 84.9MB in the beginning and 82.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 20:42:45,408 INFO L158 Benchmark]: Boogie Preprocessor took 33.88ms. Allocated memory is still 121.6MB. Free memory was 82.8MB in the beginning and 80.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 20:42:45,409 INFO L158 Benchmark]: RCFGBuilder took 376.70ms. Allocated memory is still 121.6MB. Free memory was 80.7MB in the beginning and 65.5MB in the end (delta: 15.2MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. [2022-02-20 20:42:45,409 INFO L158 Benchmark]: TraceAbstraction took 2992.15ms. Allocated memory was 121.6MB in the beginning and 165.7MB in the end (delta: 44.0MB). Free memory was 65.0MB in the beginning and 138.8MB in the end (delta: -73.9MB). Peak memory consumption was 59.4MB. Max. memory is 16.1GB. [2022-02-20 20:42:45,409 INFO L158 Benchmark]: Witness Printer took 47.84ms. Allocated memory is still 165.7MB. Free memory was 138.8MB in the beginning and 135.7MB in the end (delta: 3.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 20:42:45,411 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 92.3MB. Free memory is still 47.6MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 355.49ms. Allocated memory is still 121.6MB. Free memory was 88.4MB in the beginning and 84.9MB in the end (delta: 3.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 57.97ms. Allocated memory is still 121.6MB. Free memory was 84.9MB in the beginning and 82.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 33.88ms. Allocated memory is still 121.6MB. Free memory was 82.8MB in the beginning and 80.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 376.70ms. Allocated memory is still 121.6MB. Free memory was 80.7MB in the beginning and 65.5MB in the end (delta: 15.2MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. * TraceAbstraction took 2992.15ms. Allocated memory was 121.6MB in the beginning and 165.7MB in the end (delta: 44.0MB). Free memory was 65.0MB in the beginning and 138.8MB in the end (delta: -73.9MB). Peak memory consumption was 59.4MB. Max. memory is 16.1GB. * Witness Printer took 47.84ms. Allocated memory is still 165.7MB. Free memory was 138.8MB in the beginning and 135.7MB in the end (delta: 3.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - 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 - PositiveResult [Line: 691]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 3 procedures, 131 locations, 2 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 2.8s, OverallIterations: 3, TraceHistogramMax: 1, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 1.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 174 SdHoareTripleChecker+Valid, 0.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 174 mSDsluCounter, 391 SdHoareTripleChecker+Invalid, 0.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 337 mSDsCounter, 41 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 348 IncrementalHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 41 mSolverCounterUnsat, 57 mSDtfsCounter, 348 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 64 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 218 ImplicationChecksByTransitivity, 0.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=201occurred in iteration=0, InterpolantAutomatonStates: 40, 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.7s InterpolantComputationTime, 200 NumberOfCodeBlocks, 200 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 197 ConstructedInterpolants, 0 QuantifiedInterpolants, 908 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold RESULT: Ultimate proved your program to be correct! [2022-02-20 20:42:45,476 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... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE