./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/goblint-regression/13-privatized_67-pthread_cond_wait_unknown_1_pos.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/13-privatized_67-pthread_cond_wait_unknown_1_pos.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 1cd82b96c01a730247618eab1464d47c03eec9013c1d245312913e94981f2bce --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:40:59,747 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:40:59,749 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:40:59,788 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:40:59,789 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:40:59,792 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:40:59,793 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:40:59,796 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:40:59,797 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:40:59,801 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:40:59,802 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:40:59,803 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:40:59,803 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:40:59,805 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:40:59,806 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:40:59,809 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:40:59,810 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:40:59,811 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:40:59,813 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:40:59,818 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:40:59,819 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:40:59,820 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:40:59,821 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:40:59,822 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:40:59,827 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:40:59,828 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:40:59,828 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:40:59,829 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:40:59,830 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:40:59,831 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:40:59,831 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:40:59,832 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:40:59,833 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:40:59,834 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:40:59,835 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:40:59,835 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:40:59,835 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:40:59,836 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:40:59,836 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:40:59,837 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:40:59,838 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:40:59,839 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:40:59,879 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:40:59,879 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:40:59,880 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:40:59,880 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:40:59,880 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:40:59,880 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:40:59,881 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:40:59,881 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:40:59,881 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:40:59,881 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:40:59,882 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:40:59,882 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:40:59,882 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:40:59,882 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:40:59,883 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:40:59,883 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:40:59,883 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:40:59,883 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:40:59,883 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:40:59,883 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:40:59,884 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:40:59,884 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:40:59,884 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:40:59,884 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:40:59,884 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:40:59,884 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:40:59,884 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:40:59,885 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:40:59,885 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:40:59,885 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:40:59,885 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:40:59,885 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:40:59,885 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:40:59,886 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 -> 1cd82b96c01a730247618eab1464d47c03eec9013c1d245312913e94981f2bce [2022-02-20 20:41:00,107 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:41:00,125 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:41:00,127 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:41:00,128 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:41:00,128 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:41:00,129 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/goblint-regression/13-privatized_67-pthread_cond_wait_unknown_1_pos.i [2022-02-20 20:41:00,191 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ce965ae3c/5ec600d9f21d4c72b8f59079789231bd/FLAGe3ec3f0c3 [2022-02-20 20:41:00,666 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:41:00,667 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/goblint-regression/13-privatized_67-pthread_cond_wait_unknown_1_pos.i [2022-02-20 20:41:00,683 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ce965ae3c/5ec600d9f21d4c72b8f59079789231bd/FLAGe3ec3f0c3 [2022-02-20 20:41:00,982 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ce965ae3c/5ec600d9f21d4c72b8f59079789231bd [2022-02-20 20:41:00,984 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:41:00,985 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:41:00,988 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:41:00,988 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:41:00,990 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:41:00,991 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:41:00" (1/1) ... [2022-02-20 20:41:00,991 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@719f144 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:00, skipping insertion in model container [2022-02-20 20:41:00,992 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:41:00" (1/1) ... [2022-02-20 20:41:00,996 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:41:01,036 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:41:01,178 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/13-privatized_67-pthread_cond_wait_unknown_1_pos.i[1103,1116] [2022-02-20 20:41:01,412 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:41:01,425 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:41:01,435 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/13-privatized_67-pthread_cond_wait_unknown_1_pos.i[1103,1116] [2022-02-20 20:41:01,490 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:41:01,559 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:41:01,559 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01 WrapperNode [2022-02-20 20:41:01,560 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:41:01,561 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:41:01,561 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:41:01,561 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:41:01,566 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:41:01" (1/1) ... [2022-02-20 20:41:01,596 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:41:01" (1/1) ... [2022-02-20 20:41:01,634 INFO L137 Inliner]: procedures = 354, calls = 39, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 75 [2022-02-20 20:41:01,634 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:41:01,635 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:41:01,635 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:41:01,635 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:41:01,641 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,642 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,650 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,655 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,666 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,668 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,673 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,677 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:41:01,678 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:41:01,678 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:41:01,678 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:41:01,685 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (1/1) ... [2022-02-20 20:41:01,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:41:01,702 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:41:01,718 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:41:01,720 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:41:01,751 INFO L130 BoogieDeclarations]: Found specification of procedure sleep [2022-02-20 20:41:01,751 INFO L130 BoogieDeclarations]: Found specification of procedure f1 [2022-02-20 20:41:01,752 INFO L138 BoogieDeclarations]: Found implementation of procedure f1 [2022-02-20 20:41:01,752 INFO L130 BoogieDeclarations]: Found specification of procedure f2 [2022-02-20 20:41:01,752 INFO L138 BoogieDeclarations]: Found implementation of procedure f2 [2022-02-20 20:41:01,752 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:41:01,752 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:41:01,752 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:41:01,752 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:41:01,753 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2022-02-20 20:41:01,753 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:41:01,753 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:41:01,753 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:41:01,753 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:41:01,754 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:41:02,004 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:41:02,005 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:41:02,158 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:41:02,165 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:41:02,166 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 20:41:02,168 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:41:02 BoogieIcfgContainer [2022-02-20 20:41:02,168 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:41:02,169 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:41:02,170 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:41:02,172 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:41:02,173 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:41:00" (1/3) ... [2022-02-20 20:41:02,173 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@601a8e24 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:41:02, skipping insertion in model container [2022-02-20 20:41:02,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:01" (2/3) ... [2022-02-20 20:41:02,174 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@601a8e24 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:41:02, skipping insertion in model container [2022-02-20 20:41:02,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:41:02" (3/3) ... [2022-02-20 20:41:02,177 INFO L111 eAbstractionObserver]: Analyzing ICFG 13-privatized_67-pthread_cond_wait_unknown_1_pos.i [2022-02-20 20:41:02,181 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:41:02,181 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:41:02,182 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:41:02,182 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:41:02,236 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#in~ptr.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,236 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#in~ptr.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,237 WARN L322 ript$VariableManager]: TermVariabe f1Thread1of1ForFork1_~ptr.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,237 WARN L322 ript$VariableManager]: TermVariabe f1Thread1of1ForFork1_~ptr.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,237 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#in~ptr.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,237 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#in~ptr.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,237 WARN L322 ript$VariableManager]: TermVariabe f1Thread1of1ForFork1_~ptr.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,238 WARN L322 ript$VariableManager]: TermVariabe f1Thread1of1ForFork1_~ptr.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,238 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,238 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,239 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,239 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,239 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,239 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,240 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,240 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,240 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,240 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,241 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,241 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,241 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,242 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,242 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#in~ptr#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,243 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#in~ptr#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,243 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_~ptr#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,243 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_~ptr#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,243 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#in~ptr#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,243 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#in~ptr#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,244 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_~ptr#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,244 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_~ptr#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,244 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#t~nondet7#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,245 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#t~nondet7#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,245 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#t~nondet7#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,245 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#t~nondet7#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,245 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,246 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,246 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,246 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,246 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,246 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,246 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,246 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,247 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,247 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,247 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,247 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,248 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,248 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,248 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,248 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,252 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,252 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,252 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_~ptr#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,252 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,252 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_~ptr#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,252 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,253 WARN L322 ript$VariableManager]: TermVariabe |f2Thread1of1ForFork0_#t~nondet7#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,260 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,260 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,260 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,261 WARN L322 ript$VariableManager]: TermVariabe f1Thread1of1ForFork1_~ptr.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,261 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,261 WARN L322 ript$VariableManager]: TermVariabe |f1Thread1of1ForFork1_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,261 WARN L322 ript$VariableManager]: TermVariabe f1Thread1of1ForFork1_~ptr.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:02,279 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 20:41:02,317 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:41:02,323 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:41:02,323 INFO L340 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2022-02-20 20:41:02,333 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 101 places, 95 transitions, 206 flow [2022-02-20 20:41:02,367 INFO L129 PetriNetUnfolder]: 1/93 cut-off events. [2022-02-20 20:41:02,368 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:41:02,370 INFO L84 FinitePrefix]: Finished finitePrefix Result has 102 conditions, 93 events. 1/93 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 57 event pairs, 0 based on Foata normal form. 0/91 useless extension candidates. Maximal degree in co-relation 42. Up to 2 conditions per place. [2022-02-20 20:41:02,370 INFO L82 GeneralOperation]: Start removeDead. Operand has 101 places, 95 transitions, 206 flow [2022-02-20 20:41:02,373 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 82 places, 75 transitions, 159 flow [2022-02-20 20:41:02,387 INFO L129 PetriNetUnfolder]: 0/71 cut-off events. [2022-02-20 20:41:02,387 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 20:41:02,387 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:02,388 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] [2022-02-20 20:41:02,388 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting f2Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, f2Err0ASSERT_VIOLATIONERROR_FUNCTION, f2Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 20:41:02,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:02,393 INFO L85 PathProgramCache]: Analyzing trace with hash -1499020934, now seen corresponding path program 1 times [2022-02-20 20:41:02,399 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:02,401 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1935765227] [2022-02-20 20:41:02,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:02,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:02,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:02,823 INFO L290 TraceCheckUtils]: 0: Hoare triple {104#true} [169] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {104#true} is VALID [2022-02-20 20:41:02,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {104#true} [151] L-1-->L-1-1: 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] {104#true} is VALID [2022-02-20 20:41:02,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {104#true} [176] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {104#true} is VALID [2022-02-20 20:41:02,824 INFO L290 TraceCheckUtils]: 3: Hoare triple {104#true} [178] L-1-2-->L18: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {104#true} is VALID [2022-02-20 20:41:02,824 INFO L290 TraceCheckUtils]: 4: Hoare triple {104#true} [131] L18-->L18-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[] {104#true} is VALID [2022-02-20 20:41:02,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {104#true} [170] L18-1-->L18-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[] {104#true} is VALID [2022-02-20 20:41:02,827 INFO L290 TraceCheckUtils]: 6: Hoare triple {104#true} [158] L18-2-->L18-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[] {104#true} is VALID [2022-02-20 20:41:02,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {104#true} [162] L18-3-->L18-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= 51 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {104#true} is VALID [2022-02-20 20:41:02,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {104#true} [163] L18-4-->L1358: Formula: (and (= (select |v_#valid_4| 3) 1) (= 8 (select |v_#length_3| 3))) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {104#true} is VALID [2022-02-20 20:41:02,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {104#true} [154] L1358-->L1352: Formula: (= v_~g~0_1 0) InVars {} OutVars{~g~0=v_~g~0_1} AuxVars[] AssignedVars[~g~0] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,829 INFO L290 TraceCheckUtils]: 10: Hoare triple {106#(= ~g~0 0)} [152] L1352-->L1352-1: Formula: (and (= |v_~#mut~0.offset_1| 0) (= |v_~#mut~0.base_1| 4)) InVars {} OutVars{~#mut~0.offset=|v_~#mut~0.offset_1|, ~#mut~0.base=|v_~#mut~0.base_1|} AuxVars[] AssignedVars[~#mut~0.base, ~#mut~0.offset] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {106#(= ~g~0 0)} [149] L1352-1-->L1352-2: 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[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,830 INFO L290 TraceCheckUtils]: 12: Hoare triple {106#(= ~g~0 0)} [144] L1352-2-->L1352-3: Formula: (= (select (select |v_#memory_int_3| |v_~#mut~0.base_2|) |v_~#mut~0.offset_2|) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_2|, #memory_int=|v_#memory_int_3|, ~#mut~0.base=|v_~#mut~0.base_2|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_2|, #memory_int=|v_#memory_int_3|, ~#mut~0.base=|v_~#mut~0.base_2|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {106#(= ~g~0 0)} [180] L1352-3-->L1352-4: Formula: (= (select (select |v_#memory_int_4| |v_~#mut~0.base_3|) (+ |v_~#mut~0.offset_3| 4)) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_3|, #memory_int=|v_#memory_int_4|, ~#mut~0.base=|v_~#mut~0.base_3|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_3|, #memory_int=|v_#memory_int_4|, ~#mut~0.base=|v_~#mut~0.base_3|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {106#(= ~g~0 0)} [135] L1352-4-->L1352-5: Formula: (= (select (select |v_#memory_int_5| |v_~#mut~0.base_4|) (+ |v_~#mut~0.offset_4| 8)) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_4|, #memory_int=|v_#memory_int_5|, ~#mut~0.base=|v_~#mut~0.base_4|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_4|, #memory_int=|v_#memory_int_5|, ~#mut~0.base=|v_~#mut~0.base_4|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,831 INFO L290 TraceCheckUtils]: 15: Hoare triple {106#(= ~g~0 0)} [100] L1352-5-->L1352-6: Formula: (= ~unnamed1~0~PTHREAD_MUTEX_TIMED_NP (select (select |v_#memory_int_6| |v_~#mut~0.base_5|) (+ |v_~#mut~0.offset_5| 12))) InVars {~#mut~0.offset=|v_~#mut~0.offset_5|, #memory_int=|v_#memory_int_6|, ~#mut~0.base=|v_~#mut~0.base_5|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_5|, #memory_int=|v_#memory_int_6|, ~#mut~0.base=|v_~#mut~0.base_5|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {106#(= ~g~0 0)} [190] L1352-6-->L1352-7: Formula: (= (select (select |v_#memory_int_7| |v_~#mut~0.base_6|) (+ 16 |v_~#mut~0.offset_6|)) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_6|, #memory_int=|v_#memory_int_7|, ~#mut~0.base=|v_~#mut~0.base_6|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_6|, #memory_int=|v_#memory_int_7|, ~#mut~0.base=|v_~#mut~0.base_6|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,832 INFO L290 TraceCheckUtils]: 17: Hoare triple {106#(= ~g~0 0)} [172] L1352-7-->L1353: Formula: (and (= |v_~#cond~0.offset_1| 0) (= |v_~#cond~0.base_1| 5)) InVars {} OutVars{~#cond~0.base=|v_~#cond~0.base_1|, ~#cond~0.offset=|v_~#cond~0.offset_1|} AuxVars[] AssignedVars[~#cond~0.base, ~#cond~0.offset] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {106#(= ~g~0 0)} [156] L1353-->L1353-1: Formula: (and (= 48 (select |v_#length_5| 5)) (= (select |v_#valid_6| 5) 1)) InVars {#length=|v_#length_5|, #valid=|v_#valid_6|} OutVars{#length=|v_#length_5|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {106#(= ~g~0 0)} [174] L1353-1-->L1353-2: Formula: (= (select (select |v_#memory_int_8| |v_~#cond~0.base_2|) |v_~#cond~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#cond~0.base=|v_~#cond~0.base_2|, ~#cond~0.offset=|v_~#cond~0.offset_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#cond~0.base=|v_~#cond~0.base_2|, ~#cond~0.offset=|v_~#cond~0.offset_2|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {106#(= ~g~0 0)} [132] L1353-2-->L1353-3: Formula: (= (select (select |v_#memory_int_9| |v_~#cond~0.base_3|) (+ |v_~#cond~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#cond~0.base=|v_~#cond~0.base_3|, ~#cond~0.offset=|v_~#cond~0.offset_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#cond~0.base=|v_~#cond~0.base_3|, ~#cond~0.offset=|v_~#cond~0.offset_3|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {106#(= ~g~0 0)} [164] L1353-3-->L1353-4: Formula: (= (select (select |v_#memory_int_10| |v_~#cond~0.base_4|) (+ |v_~#cond~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#cond~0.base=|v_~#cond~0.base_4|, ~#cond~0.offset=|v_~#cond~0.offset_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#cond~0.base=|v_~#cond~0.base_4|, ~#cond~0.offset=|v_~#cond~0.offset_4|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,835 INFO L290 TraceCheckUtils]: 22: Hoare triple {106#(= ~g~0 0)} [155] L1353-4-->L1353-5: Formula: (= (select (select |v_#memory_int_11| |v_~#cond~0.base_5|) (+ |v_~#cond~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#cond~0.base=|v_~#cond~0.base_5|, ~#cond~0.offset=|v_~#cond~0.offset_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#cond~0.base=|v_~#cond~0.base_5|, ~#cond~0.offset=|v_~#cond~0.offset_5|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,836 INFO L290 TraceCheckUtils]: 23: Hoare triple {106#(= ~g~0 0)} [137] L1353-5-->L1353-6: Formula: (= (select (select |v_#memory_int_12| |v_~#cond~0.base_6|) (+ 16 |v_~#cond~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#cond~0.base=|v_~#cond~0.base_6|, ~#cond~0.offset=|v_~#cond~0.offset_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#cond~0.base=|v_~#cond~0.base_6|, ~#cond~0.offset=|v_~#cond~0.offset_6|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {106#(= ~g~0 0)} [168] L1353-6-->L1353-7: Formula: (= (select (select |v_#memory_int_13| |v_~#cond~0.base_7|) (+ |v_~#cond~0.offset_7| 20)) 0) InVars {#memory_int=|v_#memory_int_13|, ~#cond~0.base=|v_~#cond~0.base_7|, ~#cond~0.offset=|v_~#cond~0.offset_7|} OutVars{#memory_int=|v_#memory_int_13|, ~#cond~0.base=|v_~#cond~0.base_7|, ~#cond~0.offset=|v_~#cond~0.offset_7|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,837 INFO L290 TraceCheckUtils]: 25: Hoare triple {106#(= ~g~0 0)} [130] L1353-7-->L1353-8: Formula: (= (select (select |v_#memory_int_14| |v_~#cond~0.base_8|) (+ |v_~#cond~0.offset_8| 24)) 0) InVars {#memory_int=|v_#memory_int_14|, ~#cond~0.base=|v_~#cond~0.base_8|, ~#cond~0.offset=|v_~#cond~0.offset_8|} OutVars{#memory_int=|v_#memory_int_14|, ~#cond~0.base=|v_~#cond~0.base_8|, ~#cond~0.offset=|v_~#cond~0.offset_8|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,837 INFO L290 TraceCheckUtils]: 26: Hoare triple {106#(= ~g~0 0)} [106] L1353-8-->L1353-9: Formula: (= (select (select |v_#memory_int_15| |v_~#cond~0.base_9|) (+ |v_~#cond~0.offset_9| 28)) 0) InVars {#memory_int=|v_#memory_int_15|, ~#cond~0.base=|v_~#cond~0.base_9|, ~#cond~0.offset=|v_~#cond~0.offset_9|} OutVars{#memory_int=|v_#memory_int_15|, ~#cond~0.base=|v_~#cond~0.base_9|, ~#cond~0.offset=|v_~#cond~0.offset_9|} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,838 INFO L290 TraceCheckUtils]: 27: Hoare triple {106#(= ~g~0 0)} [189] L1353-9-->L-1-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,838 INFO L290 TraceCheckUtils]: 28: Hoare triple {106#(= ~g~0 0)} [184] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,839 INFO L290 TraceCheckUtils]: 29: Hoare triple {106#(= ~g~0 0)} [159] L-1-4-->L-1-5: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {106#(= ~g~0 0)} [118] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {106#(= ~g~0 0)} [157] L-1-6-->L1371: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~mem13#1=|v_ULTIMATE.start_main_#t~mem13#1_1|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~ret10#1=|v_ULTIMATE.start_main_#t~ret10#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~mem13#1, ULTIMATE.start_main_#t~pre11#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~nondet12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~ret10#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t2~0#1.base] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,841 INFO L290 TraceCheckUtils]: 32: Hoare triple {106#(= ~g~0 0)} [116] L1371-->L1371-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {106#(= ~g~0 0)} [150] L1371-1-->L1373: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,842 INFO L290 TraceCheckUtils]: 34: Hoare triple {106#(= ~g~0 0)} [191] L1373-->L1373-1: Formula: (and (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= |v_#length_6| (store |v_#length_7| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= |v_#valid_7| (store |v_#valid_8| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_7|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_7|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {106#(= ~g~0 0)} [146] L1373-1-->L1374: Formula: (and (= |v_#length_8| (store |v_#length_9| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (= (store |v_#valid_10| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_9|) (= (select |v_#valid_10| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_9|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,843 INFO L290 TraceCheckUtils]: 36: Hoare triple {106#(= ~g~0 0)} [166] L1374-->L1375: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,843 INFO L290 TraceCheckUtils]: 37: Hoare triple {106#(= ~g~0 0)} [104] L1375-->L1375-1: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,844 INFO L290 TraceCheckUtils]: 38: Hoare triple {106#(= ~g~0 0)} [113] L1375-1-->L1375-2: Formula: (= |v_#memory_int_16| (store |v_#memory_int_17| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_17| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|))) InVars {#memory_int=|v_#memory_int_17|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,844 INFO L290 TraceCheckUtils]: 39: Hoare triple {106#(= ~g~0 0)} [225] L1375-2-->f1ENTRY: Formula: (and (= 0 |v_f1Thread1of1ForFork1_#in~ptr.offset_4|) (= v_f1Thread1of1ForFork1_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_f1Thread1of1ForFork1_thidvar0_2) (= |v_f1Thread1of1ForFork1_#in~ptr.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{f1Thread1of1ForFork1_#res.base=|v_f1Thread1of1ForFork1_#res.base_4|, f1Thread1of1ForFork1_#t~nondet4=|v_f1Thread1of1ForFork1_#t~nondet4_6|, f1Thread1of1ForFork1_#res.offset=|v_f1Thread1of1ForFork1_#res.offset_4|, f1Thread1of1ForFork1_~ptr.base=v_f1Thread1of1ForFork1_~ptr.base_4, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, f1Thread1of1ForFork1_#in~ptr.offset=|v_f1Thread1of1ForFork1_#in~ptr.offset_4|, f1Thread1of1ForFork1_#in~ptr.base=|v_f1Thread1of1ForFork1_#in~ptr.base_4|, f1Thread1of1ForFork1_#t~nondet5=|v_f1Thread1of1ForFork1_#t~nondet5_6|, f1Thread1of1ForFork1_thidvar1=v_f1Thread1of1ForFork1_thidvar1_2, f1Thread1of1ForFork1_#t~nondet6=|v_f1Thread1of1ForFork1_#t~nondet6_4|, f1Thread1of1ForFork1_~ptr.offset=v_f1Thread1of1ForFork1_~ptr.offset_4, f1Thread1of1ForFork1_thidvar0=v_f1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[f1Thread1of1ForFork1_#res.base, f1Thread1of1ForFork1_#t~nondet4, f1Thread1of1ForFork1_#res.offset, f1Thread1of1ForFork1_~ptr.base, f1Thread1of1ForFork1_#in~ptr.offset, f1Thread1of1ForFork1_#in~ptr.base, f1Thread1of1ForFork1_#t~nondet5, f1Thread1of1ForFork1_thidvar1, f1Thread1of1ForFork1_#t~nondet6, f1Thread1of1ForFork1_~ptr.offset, f1Thread1of1ForFork1_thidvar0] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,844 INFO L290 TraceCheckUtils]: 40: Hoare triple {106#(= ~g~0 0)} [136] L1375-3-->L1375-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,845 INFO L290 TraceCheckUtils]: 41: Hoare triple {106#(= ~g~0 0)} [111] L1375-4-->L1376: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {106#(= ~g~0 0)} [141] L1376-->L1376-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret10#1=|v_ULTIMATE.start_main_#t~ret10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret10#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,846 INFO L290 TraceCheckUtils]: 43: Hoare triple {106#(= ~g~0 0)} [103] L1376-1-->L1377: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret10#1=|v_ULTIMATE.start_main_#t~ret10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret10#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,846 INFO L290 TraceCheckUtils]: 44: Hoare triple {106#(= ~g~0 0)} [139] L1377-->L1377-1: Formula: (= |v_ULTIMATE.start_main_#t~pre11#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre11#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,847 INFO L290 TraceCheckUtils]: 45: Hoare triple {106#(= ~g~0 0)} [181] L1377-1-->L1377-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,847 INFO L290 TraceCheckUtils]: 46: Hoare triple {106#(= ~g~0 0)} [179] L1377-2-->L1377-3: Formula: (= |v_#memory_int_18| (store |v_#memory_int_19| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_19| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre11#1_3|))) InVars {#memory_int=|v_#memory_int_19|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_18|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,848 INFO L290 TraceCheckUtils]: 47: Hoare triple {106#(= ~g~0 0)} [223] L1377-3-->f2ENTRY: Formula: (and (= v_f2Thread1of1ForFork0_thidvar2_2 0) (= v_f2Thread1of1ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre11#1_6|) (= |v_f2Thread1of1ForFork0_#in~ptr#1.base_4| 0) (= v_f2Thread1of1ForFork0_thidvar1_2 0) (= |v_f2Thread1of1ForFork0_#in~ptr#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_6|} OutVars{f2Thread1of1ForFork0_#in~ptr#1.base=|v_f2Thread1of1ForFork0_#in~ptr#1.base_4|, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_6|, f2Thread1of1ForFork0_~ptr#1.base=|v_f2Thread1of1ForFork0_~ptr#1.base_4|, f2Thread1of1ForFork0_~ptr#1.offset=|v_f2Thread1of1ForFork0_~ptr#1.offset_4|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_6|, f2Thread1of1ForFork0_#in~ptr#1.offset=|v_f2Thread1of1ForFork0_#in~ptr#1.offset_4|, f2Thread1of1ForFork0_thidvar2=v_f2Thread1of1ForFork0_thidvar2_2, f2Thread1of1ForFork0_thidvar1=v_f2Thread1of1ForFork0_thidvar1_2, f2Thread1of1ForFork0_#res#1.offset=|v_f2Thread1of1ForFork0_#res#1.offset_4|, f2Thread1of1ForFork0_thidvar0=v_f2Thread1of1ForFork0_thidvar0_2, f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_10|, f2Thread1of1ForFork0_#res#1.base=|v_f2Thread1of1ForFork0_#res#1.base_4|, f2Thread1of1ForFork0_#t~nondet7#1=|v_f2Thread1of1ForFork0_#t~nondet7#1_6|} AuxVars[] AssignedVars[f2Thread1of1ForFork0_#in~ptr#1.base, f2Thread1of1ForFork0_thidvar2, f2Thread1of1ForFork0_thidvar1, f2Thread1of1ForFork0_#res#1.offset, f2Thread1of1ForFork0_thidvar0, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1, f2Thread1of1ForFork0_~ptr#1.base, f2Thread1of1ForFork0_~ptr#1.offset, f2Thread1of1ForFork0___VERIFIER_assert_~cond#1, f2Thread1of1ForFork0_#in~ptr#1.offset, f2Thread1of1ForFork0_#res#1.base, f2Thread1of1ForFork0_#t~nondet7#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,848 INFO L290 TraceCheckUtils]: 48: Hoare triple {106#(= ~g~0 0)} [205] f2ENTRY-->L1364: Formula: (and (= |v_f2Thread1of1ForFork0_~ptr#1.offset_1| |v_f2Thread1of1ForFork0_#in~ptr#1.offset_1|) (= |v_f2Thread1of1ForFork0_#in~ptr#1.base_1| |v_f2Thread1of1ForFork0_~ptr#1.base_1|)) InVars {f2Thread1of1ForFork0_#in~ptr#1.base=|v_f2Thread1of1ForFork0_#in~ptr#1.base_1|, f2Thread1of1ForFork0_#in~ptr#1.offset=|v_f2Thread1of1ForFork0_#in~ptr#1.offset_1|} OutVars{f2Thread1of1ForFork0_#in~ptr#1.base=|v_f2Thread1of1ForFork0_#in~ptr#1.base_1|, f2Thread1of1ForFork0_#in~ptr#1.offset=|v_f2Thread1of1ForFork0_#in~ptr#1.offset_1|, f2Thread1of1ForFork0_~ptr#1.base=|v_f2Thread1of1ForFork0_~ptr#1.base_1|, f2Thread1of1ForFork0_~ptr#1.offset=|v_f2Thread1of1ForFork0_~ptr#1.offset_1|} AuxVars[] AssignedVars[f2Thread1of1ForFork0_~ptr#1.base, f2Thread1of1ForFork0_~ptr#1.offset] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,853 INFO L290 TraceCheckUtils]: 49: Hoare triple {106#(= ~g~0 0)} [206] L1364-->L1364-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_12| |v_~#mut~0.base_12|))) (and (= |v_f2Thread1of1ForFork0_#t~nondet7#1_1| 0) (= (select .cse0 |v_~#mut~0.offset_12|) 0) (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#mut~0.base_12| (store .cse0 |v_~#mut~0.offset_12| 1))))) InVars {~#mut~0.offset=|v_~#mut~0.offset_12|, #pthreadsMutex=|v_#pthreadsMutex_12|, ~#mut~0.base=|v_~#mut~0.base_12|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_12|, #pthreadsMutex=|v_#pthreadsMutex_11|, ~#mut~0.base=|v_~#mut~0.base_12|, f2Thread1of1ForFork0_#t~nondet7#1=|v_f2Thread1of1ForFork0_#t~nondet7#1_1|} AuxVars[] AssignedVars[#pthreadsMutex, f2Thread1of1ForFork0_#t~nondet7#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,854 INFO L290 TraceCheckUtils]: 50: Hoare triple {106#(= ~g~0 0)} [207] L1364-1-->L1365: Formula: true InVars {} OutVars{f2Thread1of1ForFork0_#t~nondet7#1=|v_f2Thread1of1ForFork0_#t~nondet7#1_3|} AuxVars[] AssignedVars[f2Thread1of1ForFork0_#t~nondet7#1] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,855 INFO L290 TraceCheckUtils]: 51: Hoare triple {106#(= ~g~0 0)} [208] L1365-->L1365-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {106#(= ~g~0 0)} is VALID [2022-02-20 20:41:02,855 INFO L290 TraceCheckUtils]: 52: Hoare triple {106#(= ~g~0 0)} [209] L1365-1-->L1365-2: Formula: (= |v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_1| (ite (= v_~g~0_5 0) 1 0)) InVars {~g~0=v_~g~0_5} OutVars{~g~0=v_~g~0_5, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_1|} AuxVars[] AssignedVars[f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1] {107#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:41:02,856 INFO L290 TraceCheckUtils]: 53: Hoare triple {107#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} [210] L1365-2-->L19: Formula: true InVars {} OutVars{f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[f2Thread1of1ForFork0___VERIFIER_assert_~cond#1] {107#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:41:02,856 INFO L290 TraceCheckUtils]: 54: Hoare triple {107#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} [211] L19-->L19-1: Formula: (= |v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_3| |v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_3|) InVars {f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_3|} OutVars{f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_3|, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_3|} AuxVars[] AssignedVars[f2Thread1of1ForFork0___VERIFIER_assert_~cond#1] {108#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 20:41:02,857 INFO L290 TraceCheckUtils]: 55: Hoare triple {108#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| 0))} [212] L19-1-->L19-2: Formula: (= |v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_5| 0) InVars {f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_5|} OutVars{f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_5|} AuxVars[] AssignedVars[] {105#false} is VALID [2022-02-20 20:41:02,857 INFO L290 TraceCheckUtils]: 56: Hoare triple {105#false} [214] L19-2-->f2Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {105#false} is VALID [2022-02-20 20:41:02,858 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:41:02,858 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:02,859 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1935765227] [2022-02-20 20:41:02,859 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1935765227] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:02,859 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:02,859 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 20:41:02,862 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [115648202] [2022-02-20 20:41:02,863 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:02,871 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 11.4) internal successors, (57), 5 states have internal predecessors, (57), 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 57 [2022-02-20 20:41:02,872 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:02,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 11.4) internal successors, (57), 5 states have internal predecessors, (57), 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:41:02,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:02,917 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 20:41:02,917 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:02,945 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 20:41:02,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 20:41:02,948 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 80 out of 95 [2022-02-20 20:41:02,950 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 82 places, 75 transitions, 159 flow. Second operand has 5 states, 5 states have (on average 81.4) internal successors, (407), 5 states have internal predecessors, (407), 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:41:02,950 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:02,950 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 80 of 95 [2022-02-20 20:41:02,951 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:03,055 INFO L129 PetriNetUnfolder]: 16/148 cut-off events. [2022-02-20 20:41:03,055 INFO L130 PetriNetUnfolder]: For 28/28 co-relation queries the response was YES. [2022-02-20 20:41:03,056 INFO L84 FinitePrefix]: Finished finitePrefix Result has 216 conditions, 148 events. 16/148 cut-off events. For 28/28 co-relation queries the response was YES. Maximal size of possible extension queue 9. Compared 392 event pairs, 1 based on Foata normal form. 4/152 useless extension candidates. Maximal degree in co-relation 138. Up to 21 conditions per place. [2022-02-20 20:41:03,057 INFO L132 encePairwiseOnDemand]: 89/95 looper letters, 11 selfloop transitions, 3 changer transitions 11/90 dead transitions. [2022-02-20 20:41:03,057 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 88 places, 90 transitions, 248 flow [2022-02-20 20:41:03,057 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:41:03,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:41:03,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 587 transitions. [2022-02-20 20:41:03,096 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8827067669172932 [2022-02-20 20:41:03,097 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 587 transitions. [2022-02-20 20:41:03,097 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 587 transitions. [2022-02-20 20:41:03,097 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:03,099 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 587 transitions. [2022-02-20 20:41:03,103 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 83.85714285714286) internal successors, (587), 7 states have internal predecessors, (587), 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:41:03,106 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 95.0) internal successors, (760), 8 states have internal predecessors, (760), 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:41:03,107 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 95.0) internal successors, (760), 8 states have internal predecessors, (760), 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:41:03,108 INFO L186 Difference]: Start difference. First operand has 82 places, 75 transitions, 159 flow. Second operand 7 states and 587 transitions. [2022-02-20 20:41:03,109 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 88 places, 90 transitions, 248 flow [2022-02-20 20:41:03,114 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 85 places, 90 transitions, 238 flow, removed 0 selfloop flow, removed 3 redundant places. [2022-02-20 20:41:03,116 INFO L242 Difference]: Finished difference. Result has 90 places, 75 transitions, 173 flow [2022-02-20 20:41:03,117 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=95, PETRI_DIFFERENCE_MINUEND_FLOW=154, PETRI_DIFFERENCE_MINUEND_PLACES=79, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=75, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=72, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=173, PETRI_PLACES=90, PETRI_TRANSITIONS=75} [2022-02-20 20:41:03,119 INFO L334 CegarLoopForPetriNet]: 82 programPoint places, 8 predicate places. [2022-02-20 20:41:03,120 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 90 places, 75 transitions, 173 flow [2022-02-20 20:41:03,148 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 614 states, 612 states have (on average 2.281045751633987) internal successors, (1396), 613 states have internal predecessors, (1396), 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:41:03,150 INFO L78 Accepts]: Start accepts. Automaton has has 614 states, 612 states have (on average 2.281045751633987) internal successors, (1396), 613 states have internal predecessors, (1396), 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 57 [2022-02-20 20:41:03,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:03,151 INFO L470 AbstractCegarLoop]: Abstraction has has 90 places, 75 transitions, 173 flow [2022-02-20 20:41:03,151 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 81.4) internal successors, (407), 5 states have internal predecessors, (407), 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:41:03,151 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:03,151 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] [2022-02-20 20:41:03,152 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:41:03,152 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting f2Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, f2Err0ASSERT_VIOLATIONERROR_FUNCTION, f2Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 20:41:03,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:03,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1579592568, now seen corresponding path program 1 times [2022-02-20 20:41:03,153 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:03,153 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [258857613] [2022-02-20 20:41:03,153 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:03,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:03,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:03,233 INFO L290 TraceCheckUtils]: 0: Hoare triple {736#true} [169] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {736#true} [151] L-1-->L-1-1: 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] {736#true} is VALID [2022-02-20 20:41:03,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {736#true} [176] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,234 INFO L290 TraceCheckUtils]: 3: Hoare triple {736#true} [178] L-1-2-->L18: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,234 INFO L290 TraceCheckUtils]: 4: Hoare triple {736#true} [131] L18-->L18-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[] {736#true} is VALID [2022-02-20 20:41:03,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {736#true} [170] L18-1-->L18-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[] {736#true} is VALID [2022-02-20 20:41:03,234 INFO L290 TraceCheckUtils]: 6: Hoare triple {736#true} [158] L18-2-->L18-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[] {736#true} is VALID [2022-02-20 20:41:03,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {736#true} [162] L18-3-->L18-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= 51 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {736#true} [163] L18-4-->L1358: Formula: (and (= (select |v_#valid_4| 3) 1) (= 8 (select |v_#length_3| 3))) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {736#true} [154] L1358-->L1352: Formula: (= v_~g~0_1 0) InVars {} OutVars{~g~0=v_~g~0_1} AuxVars[] AssignedVars[~g~0] {736#true} is VALID [2022-02-20 20:41:03,235 INFO L290 TraceCheckUtils]: 10: Hoare triple {736#true} [152] L1352-->L1352-1: Formula: (and (= |v_~#mut~0.offset_1| 0) (= |v_~#mut~0.base_1| 4)) InVars {} OutVars{~#mut~0.offset=|v_~#mut~0.offset_1|, ~#mut~0.base=|v_~#mut~0.base_1|} AuxVars[] AssignedVars[~#mut~0.base, ~#mut~0.offset] {736#true} is VALID [2022-02-20 20:41:03,235 INFO L290 TraceCheckUtils]: 11: Hoare triple {736#true} [149] L1352-1-->L1352-2: 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[] {736#true} is VALID [2022-02-20 20:41:03,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {736#true} [144] L1352-2-->L1352-3: Formula: (= (select (select |v_#memory_int_3| |v_~#mut~0.base_2|) |v_~#mut~0.offset_2|) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_2|, #memory_int=|v_#memory_int_3|, ~#mut~0.base=|v_~#mut~0.base_2|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_2|, #memory_int=|v_#memory_int_3|, ~#mut~0.base=|v_~#mut~0.base_2|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {736#true} [180] L1352-3-->L1352-4: Formula: (= (select (select |v_#memory_int_4| |v_~#mut~0.base_3|) (+ |v_~#mut~0.offset_3| 4)) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_3|, #memory_int=|v_#memory_int_4|, ~#mut~0.base=|v_~#mut~0.base_3|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_3|, #memory_int=|v_#memory_int_4|, ~#mut~0.base=|v_~#mut~0.base_3|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {736#true} [135] L1352-4-->L1352-5: Formula: (= (select (select |v_#memory_int_5| |v_~#mut~0.base_4|) (+ |v_~#mut~0.offset_4| 8)) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_4|, #memory_int=|v_#memory_int_5|, ~#mut~0.base=|v_~#mut~0.base_4|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_4|, #memory_int=|v_#memory_int_5|, ~#mut~0.base=|v_~#mut~0.base_4|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,236 INFO L290 TraceCheckUtils]: 15: Hoare triple {736#true} [100] L1352-5-->L1352-6: Formula: (= ~unnamed1~0~PTHREAD_MUTEX_TIMED_NP (select (select |v_#memory_int_6| |v_~#mut~0.base_5|) (+ |v_~#mut~0.offset_5| 12))) InVars {~#mut~0.offset=|v_~#mut~0.offset_5|, #memory_int=|v_#memory_int_6|, ~#mut~0.base=|v_~#mut~0.base_5|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_5|, #memory_int=|v_#memory_int_6|, ~#mut~0.base=|v_~#mut~0.base_5|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {736#true} [190] L1352-6-->L1352-7: Formula: (= (select (select |v_#memory_int_7| |v_~#mut~0.base_6|) (+ 16 |v_~#mut~0.offset_6|)) 0) InVars {~#mut~0.offset=|v_~#mut~0.offset_6|, #memory_int=|v_#memory_int_7|, ~#mut~0.base=|v_~#mut~0.base_6|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_6|, #memory_int=|v_#memory_int_7|, ~#mut~0.base=|v_~#mut~0.base_6|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,237 INFO L290 TraceCheckUtils]: 17: Hoare triple {736#true} [172] L1352-7-->L1353: Formula: (and (= |v_~#cond~0.offset_1| 0) (= |v_~#cond~0.base_1| 5)) InVars {} OutVars{~#cond~0.base=|v_~#cond~0.base_1|, ~#cond~0.offset=|v_~#cond~0.offset_1|} AuxVars[] AssignedVars[~#cond~0.base, ~#cond~0.offset] {736#true} is VALID [2022-02-20 20:41:03,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {736#true} [156] L1353-->L1353-1: Formula: (and (= 48 (select |v_#length_5| 5)) (= (select |v_#valid_6| 5) 1)) InVars {#length=|v_#length_5|, #valid=|v_#valid_6|} OutVars{#length=|v_#length_5|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {736#true} [174] L1353-1-->L1353-2: Formula: (= (select (select |v_#memory_int_8| |v_~#cond~0.base_2|) |v_~#cond~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#cond~0.base=|v_~#cond~0.base_2|, ~#cond~0.offset=|v_~#cond~0.offset_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#cond~0.base=|v_~#cond~0.base_2|, ~#cond~0.offset=|v_~#cond~0.offset_2|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {736#true} [132] L1353-2-->L1353-3: Formula: (= (select (select |v_#memory_int_9| |v_~#cond~0.base_3|) (+ |v_~#cond~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#cond~0.base=|v_~#cond~0.base_3|, ~#cond~0.offset=|v_~#cond~0.offset_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#cond~0.base=|v_~#cond~0.base_3|, ~#cond~0.offset=|v_~#cond~0.offset_3|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {736#true} [164] L1353-3-->L1353-4: Formula: (= (select (select |v_#memory_int_10| |v_~#cond~0.base_4|) (+ |v_~#cond~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#cond~0.base=|v_~#cond~0.base_4|, ~#cond~0.offset=|v_~#cond~0.offset_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#cond~0.base=|v_~#cond~0.base_4|, ~#cond~0.offset=|v_~#cond~0.offset_4|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,238 INFO L290 TraceCheckUtils]: 22: Hoare triple {736#true} [155] L1353-4-->L1353-5: Formula: (= (select (select |v_#memory_int_11| |v_~#cond~0.base_5|) (+ |v_~#cond~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#cond~0.base=|v_~#cond~0.base_5|, ~#cond~0.offset=|v_~#cond~0.offset_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#cond~0.base=|v_~#cond~0.base_5|, ~#cond~0.offset=|v_~#cond~0.offset_5|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,238 INFO L290 TraceCheckUtils]: 23: Hoare triple {736#true} [137] L1353-5-->L1353-6: Formula: (= (select (select |v_#memory_int_12| |v_~#cond~0.base_6|) (+ 16 |v_~#cond~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#cond~0.base=|v_~#cond~0.base_6|, ~#cond~0.offset=|v_~#cond~0.offset_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#cond~0.base=|v_~#cond~0.base_6|, ~#cond~0.offset=|v_~#cond~0.offset_6|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,238 INFO L290 TraceCheckUtils]: 24: Hoare triple {736#true} [168] L1353-6-->L1353-7: Formula: (= (select (select |v_#memory_int_13| |v_~#cond~0.base_7|) (+ |v_~#cond~0.offset_7| 20)) 0) InVars {#memory_int=|v_#memory_int_13|, ~#cond~0.base=|v_~#cond~0.base_7|, ~#cond~0.offset=|v_~#cond~0.offset_7|} OutVars{#memory_int=|v_#memory_int_13|, ~#cond~0.base=|v_~#cond~0.base_7|, ~#cond~0.offset=|v_~#cond~0.offset_7|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {736#true} [130] L1353-7-->L1353-8: Formula: (= (select (select |v_#memory_int_14| |v_~#cond~0.base_8|) (+ |v_~#cond~0.offset_8| 24)) 0) InVars {#memory_int=|v_#memory_int_14|, ~#cond~0.base=|v_~#cond~0.base_8|, ~#cond~0.offset=|v_~#cond~0.offset_8|} OutVars{#memory_int=|v_#memory_int_14|, ~#cond~0.base=|v_~#cond~0.base_8|, ~#cond~0.offset=|v_~#cond~0.offset_8|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,238 INFO L290 TraceCheckUtils]: 26: Hoare triple {736#true} [106] L1353-8-->L1353-9: Formula: (= (select (select |v_#memory_int_15| |v_~#cond~0.base_9|) (+ |v_~#cond~0.offset_9| 28)) 0) InVars {#memory_int=|v_#memory_int_15|, ~#cond~0.base=|v_~#cond~0.base_9|, ~#cond~0.offset=|v_~#cond~0.offset_9|} OutVars{#memory_int=|v_#memory_int_15|, ~#cond~0.base=|v_~#cond~0.base_9|, ~#cond~0.offset=|v_~#cond~0.offset_9|} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {736#true} [189] L1353-9-->L-1-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,239 INFO L290 TraceCheckUtils]: 28: Hoare triple {736#true} [184] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {736#true} is VALID [2022-02-20 20:41:03,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {736#true} [159] L-1-4-->L-1-5: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {736#true} is VALID [2022-02-20 20:41:03,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {736#true} [118] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {736#true} is VALID [2022-02-20 20:41:03,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {736#true} [157] L-1-6-->L1371: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~mem13#1=|v_ULTIMATE.start_main_#t~mem13#1_1|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~ret10#1=|v_ULTIMATE.start_main_#t~ret10#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~mem13#1, ULTIMATE.start_main_#t~pre11#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~nondet12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~ret10#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t2~0#1.base] {736#true} is VALID [2022-02-20 20:41:03,239 INFO L290 TraceCheckUtils]: 32: Hoare triple {736#true} [116] L1371-->L1371-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {736#true} is VALID [2022-02-20 20:41:03,240 INFO L290 TraceCheckUtils]: 33: Hoare triple {736#true} [150] L1371-1-->L1373: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {736#true} is VALID [2022-02-20 20:41:03,240 INFO L290 TraceCheckUtils]: 34: Hoare triple {736#true} [191] L1373-->L1373-1: Formula: (and (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= |v_#length_6| (store |v_#length_7| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= |v_#valid_7| (store |v_#valid_8| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_7|, #valid=|v_#valid_8|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_7|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {736#true} is VALID [2022-02-20 20:41:03,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {736#true} [146] L1373-1-->L1374: Formula: (and (= |v_#length_8| (store |v_#length_9| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (= (store |v_#valid_10| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_9|) (= (select |v_#valid_10| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_9|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {736#true} is VALID [2022-02-20 20:41:03,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {736#true} [166] L1374-->L1375: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {736#true} is VALID [2022-02-20 20:41:03,240 INFO L290 TraceCheckUtils]: 37: Hoare triple {736#true} [104] L1375-->L1375-1: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {736#true} is VALID [2022-02-20 20:41:03,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {736#true} [113] L1375-1-->L1375-2: Formula: (= |v_#memory_int_16| (store |v_#memory_int_17| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_17| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|))) InVars {#memory_int=|v_#memory_int_17|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {736#true} is VALID [2022-02-20 20:41:03,241 INFO L290 TraceCheckUtils]: 39: Hoare triple {736#true} [225] L1375-2-->f1ENTRY: Formula: (and (= 0 |v_f1Thread1of1ForFork1_#in~ptr.offset_4|) (= v_f1Thread1of1ForFork1_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_f1Thread1of1ForFork1_thidvar0_2) (= |v_f1Thread1of1ForFork1_#in~ptr.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{f1Thread1of1ForFork1_#res.base=|v_f1Thread1of1ForFork1_#res.base_4|, f1Thread1of1ForFork1_#t~nondet4=|v_f1Thread1of1ForFork1_#t~nondet4_6|, f1Thread1of1ForFork1_#res.offset=|v_f1Thread1of1ForFork1_#res.offset_4|, f1Thread1of1ForFork1_~ptr.base=v_f1Thread1of1ForFork1_~ptr.base_4, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, f1Thread1of1ForFork1_#in~ptr.offset=|v_f1Thread1of1ForFork1_#in~ptr.offset_4|, f1Thread1of1ForFork1_#in~ptr.base=|v_f1Thread1of1ForFork1_#in~ptr.base_4|, f1Thread1of1ForFork1_#t~nondet5=|v_f1Thread1of1ForFork1_#t~nondet5_6|, f1Thread1of1ForFork1_thidvar1=v_f1Thread1of1ForFork1_thidvar1_2, f1Thread1of1ForFork1_#t~nondet6=|v_f1Thread1of1ForFork1_#t~nondet6_4|, f1Thread1of1ForFork1_~ptr.offset=v_f1Thread1of1ForFork1_~ptr.offset_4, f1Thread1of1ForFork1_thidvar0=v_f1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[f1Thread1of1ForFork1_#res.base, f1Thread1of1ForFork1_#t~nondet4, f1Thread1of1ForFork1_#res.offset, f1Thread1of1ForFork1_~ptr.base, f1Thread1of1ForFork1_#in~ptr.offset, f1Thread1of1ForFork1_#in~ptr.base, f1Thread1of1ForFork1_#t~nondet5, f1Thread1of1ForFork1_thidvar1, f1Thread1of1ForFork1_#t~nondet6, f1Thread1of1ForFork1_~ptr.offset, f1Thread1of1ForFork1_thidvar0] {736#true} is VALID [2022-02-20 20:41:03,241 INFO L290 TraceCheckUtils]: 40: Hoare triple {736#true} [136] L1375-3-->L1375-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {736#true} is VALID [2022-02-20 20:41:03,241 INFO L290 TraceCheckUtils]: 41: Hoare triple {736#true} [111] L1375-4-->L1376: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {736#true} is VALID [2022-02-20 20:41:03,241 INFO L290 TraceCheckUtils]: 42: Hoare triple {736#true} [141] L1376-->L1376-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret10#1=|v_ULTIMATE.start_main_#t~ret10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret10#1] {736#true} is VALID [2022-02-20 20:41:03,242 INFO L290 TraceCheckUtils]: 43: Hoare triple {736#true} [103] L1376-1-->L1377: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret10#1=|v_ULTIMATE.start_main_#t~ret10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret10#1] {736#true} is VALID [2022-02-20 20:41:03,242 INFO L290 TraceCheckUtils]: 44: Hoare triple {736#true} [139] L1377-->L1377-1: Formula: (= |v_ULTIMATE.start_main_#t~pre11#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre11#1] {736#true} is VALID [2022-02-20 20:41:03,242 INFO L290 TraceCheckUtils]: 45: Hoare triple {736#true} [181] L1377-1-->L1377-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {736#true} is VALID [2022-02-20 20:41:03,242 INFO L290 TraceCheckUtils]: 46: Hoare triple {736#true} [179] L1377-2-->L1377-3: Formula: (= |v_#memory_int_18| (store |v_#memory_int_19| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_19| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre11#1_3|))) InVars {#memory_int=|v_#memory_int_19|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_18|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {736#true} is VALID [2022-02-20 20:41:03,242 INFO L290 TraceCheckUtils]: 47: Hoare triple {736#true} [223] L1377-3-->f2ENTRY: Formula: (and (= v_f2Thread1of1ForFork0_thidvar2_2 0) (= v_f2Thread1of1ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre11#1_6|) (= |v_f2Thread1of1ForFork0_#in~ptr#1.base_4| 0) (= v_f2Thread1of1ForFork0_thidvar1_2 0) (= |v_f2Thread1of1ForFork0_#in~ptr#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_6|} OutVars{f2Thread1of1ForFork0_#in~ptr#1.base=|v_f2Thread1of1ForFork0_#in~ptr#1.base_4|, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_6|, f2Thread1of1ForFork0_~ptr#1.base=|v_f2Thread1of1ForFork0_~ptr#1.base_4|, f2Thread1of1ForFork0_~ptr#1.offset=|v_f2Thread1of1ForFork0_~ptr#1.offset_4|, ULTIMATE.start_main_#t~pre11#1=|v_ULTIMATE.start_main_#t~pre11#1_6|, f2Thread1of1ForFork0_#in~ptr#1.offset=|v_f2Thread1of1ForFork0_#in~ptr#1.offset_4|, f2Thread1of1ForFork0_thidvar2=v_f2Thread1of1ForFork0_thidvar2_2, f2Thread1of1ForFork0_thidvar1=v_f2Thread1of1ForFork0_thidvar1_2, f2Thread1of1ForFork0_#res#1.offset=|v_f2Thread1of1ForFork0_#res#1.offset_4|, f2Thread1of1ForFork0_thidvar0=v_f2Thread1of1ForFork0_thidvar0_2, f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_10|, f2Thread1of1ForFork0_#res#1.base=|v_f2Thread1of1ForFork0_#res#1.base_4|, f2Thread1of1ForFork0_#t~nondet7#1=|v_f2Thread1of1ForFork0_#t~nondet7#1_6|} AuxVars[] AssignedVars[f2Thread1of1ForFork0_#in~ptr#1.base, f2Thread1of1ForFork0_thidvar2, f2Thread1of1ForFork0_thidvar1, f2Thread1of1ForFork0_#res#1.offset, f2Thread1of1ForFork0_thidvar0, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1, f2Thread1of1ForFork0_~ptr#1.base, f2Thread1of1ForFork0_~ptr#1.offset, f2Thread1of1ForFork0___VERIFIER_assert_~cond#1, f2Thread1of1ForFork0_#in~ptr#1.offset, f2Thread1of1ForFork0_#res#1.base, f2Thread1of1ForFork0_#t~nondet7#1] {736#true} is VALID [2022-02-20 20:41:03,243 INFO L290 TraceCheckUtils]: 48: Hoare triple {736#true} [205] f2ENTRY-->L1364: Formula: (and (= |v_f2Thread1of1ForFork0_~ptr#1.offset_1| |v_f2Thread1of1ForFork0_#in~ptr#1.offset_1|) (= |v_f2Thread1of1ForFork0_#in~ptr#1.base_1| |v_f2Thread1of1ForFork0_~ptr#1.base_1|)) InVars {f2Thread1of1ForFork0_#in~ptr#1.base=|v_f2Thread1of1ForFork0_#in~ptr#1.base_1|, f2Thread1of1ForFork0_#in~ptr#1.offset=|v_f2Thread1of1ForFork0_#in~ptr#1.offset_1|} OutVars{f2Thread1of1ForFork0_#in~ptr#1.base=|v_f2Thread1of1ForFork0_#in~ptr#1.base_1|, f2Thread1of1ForFork0_#in~ptr#1.offset=|v_f2Thread1of1ForFork0_#in~ptr#1.offset_1|, f2Thread1of1ForFork0_~ptr#1.base=|v_f2Thread1of1ForFork0_~ptr#1.base_1|, f2Thread1of1ForFork0_~ptr#1.offset=|v_f2Thread1of1ForFork0_~ptr#1.offset_1|} AuxVars[] AssignedVars[f2Thread1of1ForFork0_~ptr#1.base, f2Thread1of1ForFork0_~ptr#1.offset] {736#true} is VALID [2022-02-20 20:41:03,243 INFO L290 TraceCheckUtils]: 49: Hoare triple {736#true} [206] L1364-->L1364-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_12| |v_~#mut~0.base_12|))) (and (= |v_f2Thread1of1ForFork0_#t~nondet7#1_1| 0) (= (select .cse0 |v_~#mut~0.offset_12|) 0) (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#mut~0.base_12| (store .cse0 |v_~#mut~0.offset_12| 1))))) InVars {~#mut~0.offset=|v_~#mut~0.offset_12|, #pthreadsMutex=|v_#pthreadsMutex_12|, ~#mut~0.base=|v_~#mut~0.base_12|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_12|, #pthreadsMutex=|v_#pthreadsMutex_11|, ~#mut~0.base=|v_~#mut~0.base_12|, f2Thread1of1ForFork0_#t~nondet7#1=|v_f2Thread1of1ForFork0_#t~nondet7#1_1|} AuxVars[] AssignedVars[#pthreadsMutex, f2Thread1of1ForFork0_#t~nondet7#1] {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} is VALID [2022-02-20 20:41:03,244 INFO L290 TraceCheckUtils]: 50: Hoare triple {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} [207] L1364-1-->L1365: Formula: true InVars {} OutVars{f2Thread1of1ForFork0_#t~nondet7#1=|v_f2Thread1of1ForFork0_#t~nondet7#1_3|} AuxVars[] AssignedVars[f2Thread1of1ForFork0_#t~nondet7#1] {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} is VALID [2022-02-20 20:41:03,244 INFO L290 TraceCheckUtils]: 51: Hoare triple {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} [208] L1365-->L1365-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} is VALID [2022-02-20 20:41:03,245 INFO L290 TraceCheckUtils]: 52: Hoare triple {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} [193] f1ENTRY-->L1355: Formula: (and (= v_f1Thread1of1ForFork1_~ptr.offset_1 |v_f1Thread1of1ForFork1_#in~ptr.offset_1|) (= |v_f1Thread1of1ForFork1_#in~ptr.base_1| v_f1Thread1of1ForFork1_~ptr.base_1)) InVars {f1Thread1of1ForFork1_#in~ptr.offset=|v_f1Thread1of1ForFork1_#in~ptr.offset_1|, f1Thread1of1ForFork1_#in~ptr.base=|v_f1Thread1of1ForFork1_#in~ptr.base_1|} OutVars{f1Thread1of1ForFork1_#in~ptr.offset=|v_f1Thread1of1ForFork1_#in~ptr.offset_1|, f1Thread1of1ForFork1_#in~ptr.base=|v_f1Thread1of1ForFork1_#in~ptr.base_1|, f1Thread1of1ForFork1_~ptr.offset=v_f1Thread1of1ForFork1_~ptr.offset_1, f1Thread1of1ForFork1_~ptr.base=v_f1Thread1of1ForFork1_~ptr.base_1} AuxVars[] AssignedVars[f1Thread1of1ForFork1_~ptr.base, f1Thread1of1ForFork1_~ptr.offset] {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} is VALID [2022-02-20 20:41:03,245 INFO L290 TraceCheckUtils]: 53: Hoare triple {738#(= (select (select |#pthreadsMutex| |~#mut~0.base|) |~#mut~0.offset|) 1)} [194] L1355-->L1355-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mut~0.base_7|))) (and (= (select .cse0 |v_~#mut~0.offset_7|) 0) (= |v_f1Thread1of1ForFork1_#t~nondet4_1| 0) (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mut~0.base_7| (store .cse0 |v_~#mut~0.offset_7| 1))))) InVars {~#mut~0.offset=|v_~#mut~0.offset_7|, #pthreadsMutex=|v_#pthreadsMutex_2|, ~#mut~0.base=|v_~#mut~0.base_7|} OutVars{~#mut~0.offset=|v_~#mut~0.offset_7|, #pthreadsMutex=|v_#pthreadsMutex_1|, ~#mut~0.base=|v_~#mut~0.base_7|, f1Thread1of1ForFork1_#t~nondet4=|v_f1Thread1of1ForFork1_#t~nondet4_1|} AuxVars[] AssignedVars[#pthreadsMutex, f1Thread1of1ForFork1_#t~nondet4] {737#false} is VALID [2022-02-20 20:41:03,245 INFO L290 TraceCheckUtils]: 54: Hoare triple {737#false} [195] L1355-1-->L1356: Formula: true InVars {} OutVars{f1Thread1of1ForFork1_#t~nondet4=|v_f1Thread1of1ForFork1_#t~nondet4_3|} AuxVars[] AssignedVars[f1Thread1of1ForFork1_#t~nondet4] {737#false} is VALID [2022-02-20 20:41:03,246 INFO L290 TraceCheckUtils]: 55: Hoare triple {737#false} [196] L1356-->L1357: Formula: (= v_~g~0_2 1) InVars {} OutVars{~g~0=v_~g~0_2} AuxVars[] AssignedVars[~g~0] {739#(= ~g~0 0)} is VALID [2022-02-20 20:41:03,246 INFO L290 TraceCheckUtils]: 56: Hoare triple {739#(= ~g~0 0)} [209] L1365-1-->L1365-2: Formula: (= |v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_1| (ite (= v_~g~0_5 0) 1 0)) InVars {~g~0=v_~g~0_5} OutVars{~g~0=v_~g~0_5, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_1|} AuxVars[] AssignedVars[f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1] {740#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:41:03,246 INFO L290 TraceCheckUtils]: 57: Hoare triple {740#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} [210] L1365-2-->L19: Formula: true InVars {} OutVars{f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[f2Thread1of1ForFork0___VERIFIER_assert_~cond#1] {740#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} is VALID [2022-02-20 20:41:03,247 INFO L290 TraceCheckUtils]: 58: Hoare triple {740#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1| 0))} [211] L19-->L19-1: Formula: (= |v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_3| |v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_3|) InVars {f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_3|} OutVars{f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_3|, f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_#in~cond#1_3|} AuxVars[] AssignedVars[f2Thread1of1ForFork0___VERIFIER_assert_~cond#1] {741#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 20:41:03,247 INFO L290 TraceCheckUtils]: 59: Hoare triple {741#(not (= |f2Thread1of1ForFork0___VERIFIER_assert_~cond#1| 0))} [212] L19-1-->L19-2: Formula: (= |v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_5| 0) InVars {f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_5|} OutVars{f2Thread1of1ForFork0___VERIFIER_assert_~cond#1=|v_f2Thread1of1ForFork0___VERIFIER_assert_~cond#1_5|} AuxVars[] AssignedVars[] {737#false} is VALID [2022-02-20 20:41:03,247 INFO L290 TraceCheckUtils]: 60: Hoare triple {737#false} [214] L19-2-->f2Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {737#false} is VALID [2022-02-20 20:41:03,248 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:41:03,248 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:03,248 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [258857613] [2022-02-20 20:41:03,248 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [258857613] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:03,248 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:03,249 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:41:03,249 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [415340107] [2022-02-20 20:41:03,249 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:03,250 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.166666666666666) internal successors, (61), 6 states have internal predecessors, (61), 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 61 [2022-02-20 20:41:03,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:03,250 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.166666666666666) internal successors, (61), 6 states have internal predecessors, (61), 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:41:03,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:03,287 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:41:03,287 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:03,288 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:41:03,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:41:03,289 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 68 out of 95 [2022-02-20 20:41:03,289 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 90 places, 75 transitions, 173 flow. Second operand has 6 states, 6 states have (on average 70.66666666666667) internal successors, (424), 6 states have internal predecessors, (424), 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:41:03,290 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:03,290 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 68 of 95 [2022-02-20 20:41:03,290 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:03,386 INFO L129 PetriNetUnfolder]: 7/102 cut-off events. [2022-02-20 20:41:03,386 INFO L130 PetriNetUnfolder]: For 16/16 co-relation queries the response was YES. [2022-02-20 20:41:03,387 INFO L84 FinitePrefix]: Finished finitePrefix Result has 174 conditions, 102 events. 7/102 cut-off events. For 16/16 co-relation queries the response was YES. Maximal size of possible extension queue 9. Compared 170 event pairs, 1 based on Foata normal form. 10/111 useless extension candidates. Maximal degree in co-relation 161. Up to 13 conditions per place. [2022-02-20 20:41:03,387 INFO L132 encePairwiseOnDemand]: 87/95 looper letters, 15 selfloop transitions, 5 changer transitions 12/80 dead transitions. [2022-02-20 20:41:03,387 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 90 places, 80 transitions, 242 flow [2022-02-20 20:41:03,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 20:41:03,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2022-02-20 20:41:03,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 370 transitions. [2022-02-20 20:41:03,392 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7789473684210526 [2022-02-20 20:41:03,392 INFO L72 ComplementDD]: Start complementDD. Operand 5 states and 370 transitions. [2022-02-20 20:41:03,392 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5 states and 370 transitions. [2022-02-20 20:41:03,392 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:03,393 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 5 states and 370 transitions. [2022-02-20 20:41:03,393 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 6 states, 5 states have (on average 74.0) internal successors, (370), 5 states have internal predecessors, (370), 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:41:03,394 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 6 states, 6 states have (on average 95.0) internal successors, (570), 6 states have internal predecessors, (570), 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:41:03,395 INFO L81 ComplementDD]: Finished complementDD. Result has 6 states, 6 states have (on average 95.0) internal successors, (570), 6 states have internal predecessors, (570), 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:41:03,395 INFO L186 Difference]: Start difference. First operand has 90 places, 75 transitions, 173 flow. Second operand 5 states and 370 transitions. [2022-02-20 20:41:03,395 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 90 places, 80 transitions, 242 flow [2022-02-20 20:41:03,396 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 84 places, 80 transitions, 228 flow, removed 4 selfloop flow, removed 6 redundant places. [2022-02-20 20:41:03,397 INFO L242 Difference]: Finished difference. Result has 84 places, 65 transitions, 147 flow [2022-02-20 20:41:03,398 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=95, PETRI_DIFFERENCE_MINUEND_FLOW=159, PETRI_DIFFERENCE_MINUEND_PLACES=80, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=75, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=70, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=147, PETRI_PLACES=84, PETRI_TRANSITIONS=65} [2022-02-20 20:41:03,398 INFO L334 CegarLoopForPetriNet]: 82 programPoint places, 2 predicate places. [2022-02-20 20:41:03,398 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 84 places, 65 transitions, 147 flow [2022-02-20 20:41:03,400 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 168 states, 167 states have (on average 1.7005988023952097) internal successors, (284), 167 states have internal predecessors, (284), 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:41:03,401 INFO L78 Accepts]: Start accepts. Automaton has has 168 states, 167 states have (on average 1.7005988023952097) internal successors, (284), 167 states have internal predecessors, (284), 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 61 [2022-02-20 20:41:03,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:03,401 INFO L470 AbstractCegarLoop]: Abstraction has has 84 places, 65 transitions, 147 flow [2022-02-20 20:41:03,402 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 70.66666666666667) internal successors, (424), 6 states have internal predecessors, (424), 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:41:03,402 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:03,402 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] [2022-02-20 20:41:03,402 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:41:03,402 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting f2Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, f2Err0ASSERT_VIOLATIONERROR_FUNCTION, f2Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 20:41:03,403 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:03,403 INFO L85 PathProgramCache]: Analyzing trace with hash 905804743, now seen corresponding path program 1 times [2022-02-20 20:41:03,403 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:03,403 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [35358552] [2022-02-20 20:41:03,403 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:03,403 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:03,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:03,428 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 20:41:03,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:03,458 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 20:41:03,459 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 20:41:03,459 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location f2Err0ASSERT_VIOLATIONERROR_FUNCTION (3 of 4 remaining) [2022-02-20 20:41:03,460 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (2 of 4 remaining) [2022-02-20 20:41:03,461 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION (1 of 4 remaining) [2022-02-20 20:41:03,461 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location f2Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 4 remaining) [2022-02-20 20:41:03,461 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:41:03,463 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2022-02-20 20:41:03,466 INFO L230 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2022-02-20 20:41:03,466 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 20:41:03,498 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 08:41:03 BasicIcfg [2022-02-20 20:41:03,498 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 20:41:03,498 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 20:41:03,498 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 20:41:03,499 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 20:41:03,499 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:41:02" (3/4) ... [2022-02-20 20:41:03,500 INFO L131 WitnessPrinter]: Generating witness for reachability counterexample [2022-02-20 20:41:03,552 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 20:41:03,552 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 20:41:03,553 INFO L158 Benchmark]: Toolchain (without parser) took 2567.71ms. Allocated memory was 115.3MB in the beginning and 176.2MB in the end (delta: 60.8MB). Free memory was 83.0MB in the beginning and 144.2MB in the end (delta: -61.2MB). Peak memory consumption was 96.0MB. Max. memory is 16.1GB. [2022-02-20 20:41:03,554 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 115.3MB. Free memory was 72.8MB in the beginning and 72.7MB in the end (delta: 84.1kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 20:41:03,554 INFO L158 Benchmark]: CACSL2BoogieTranslator took 571.97ms. Allocated memory was 115.3MB in the beginning and 176.2MB in the end (delta: 60.8MB). Free memory was 82.9MB in the beginning and 119.4MB in the end (delta: -36.5MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2022-02-20 20:41:03,554 INFO L158 Benchmark]: Boogie Procedure Inliner took 74.08ms. Allocated memory is still 176.2MB. Free memory was 119.4MB in the beginning and 116.0MB in the end (delta: 3.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 20:41:03,555 INFO L158 Benchmark]: Boogie Preprocessor took 42.21ms. Allocated memory is still 176.2MB. Free memory was 116.0MB in the beginning and 113.9MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 20:41:03,555 INFO L158 Benchmark]: RCFGBuilder took 490.28ms. Allocated memory is still 176.2MB. Free memory was 113.1MB in the beginning and 95.0MB in the end (delta: 18.1MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. [2022-02-20 20:41:03,555 INFO L158 Benchmark]: TraceAbstraction took 1328.53ms. Allocated memory is still 176.2MB. Free memory was 95.0MB in the beginning and 59.3MB in the end (delta: 35.7MB). Peak memory consumption was 36.5MB. Max. memory is 16.1GB. [2022-02-20 20:41:03,555 INFO L158 Benchmark]: Witness Printer took 54.16ms. Allocated memory is still 176.2MB. Free memory was 59.3MB in the beginning and 144.2MB in the end (delta: -84.9MB). Peak memory consumption was 11.6MB. Max. memory is 16.1GB. [2022-02-20 20:41:03,557 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.16ms. Allocated memory is still 115.3MB. Free memory was 72.8MB in the beginning and 72.7MB in the end (delta: 84.1kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 571.97ms. Allocated memory was 115.3MB in the beginning and 176.2MB in the end (delta: 60.8MB). Free memory was 82.9MB in the beginning and 119.4MB in the end (delta: -36.5MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 74.08ms. Allocated memory is still 176.2MB. Free memory was 119.4MB in the beginning and 116.0MB in the end (delta: 3.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 42.21ms. Allocated memory is still 176.2MB. Free memory was 116.0MB in the beginning and 113.9MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 490.28ms. Allocated memory is still 176.2MB. Free memory was 113.1MB in the beginning and 95.0MB in the end (delta: 18.1MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. * TraceAbstraction took 1328.53ms. Allocated memory is still 176.2MB. Free memory was 95.0MB in the beginning and 59.3MB in the end (delta: 35.7MB). Peak memory consumption was 36.5MB. Max. memory is 16.1GB. * Witness Printer took 54.16ms. Allocated memory is still 176.2MB. Free memory was 59.3MB in the beginning and 144.2MB in the end (delta: -84.9MB). Peak memory consumption was 11.6MB. 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 - CounterExampleResult [Line: 19]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L1351] 0 int g; VAL [g=0] [L1352] 0 pthread_mutex_t mut = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { { 0, 0 } } } }; VAL [g=0, mut={4:0}] [L1353] 0 pthread_cond_t cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } }; VAL [cond={5:0}, g=0, mut={4:0}] [L1373] 0 pthread_t t1; VAL [\old(argc)=1150, argc=1150, argv={1151:1152}, argv={1151:1152}, cond={5:0}, g=0, mut={4:0}, t1={7:0}] [L1374] 0 pthread_t t2; VAL [\old(argc)=1150, argc=1150, argv={1151:1152}, argv={1151:1152}, cond={5:0}, g=0, mut={4:0}, t1={7:0}, t2={6:0}] [L1375] FCALL, FORK 0 pthread_create(&t1,((void *)0),f1,((void *)0)) VAL [\old(argc)=1150, argc=1150, argv={1151:1152}, argv={1151:1152}, cond={5:0}, g=0, mut={4:0}, pthread_create(&t1,((void *)0),f1,((void *)0))=-1, ptr={0:0}, t1={7:0}, t2={6:0}] [L1377] FCALL, FORK 0 pthread_create(&t2,((void *)0),f2,((void *)0)) VAL [\old(argc)=1150, argc=1150, argv={1151:1152}, argv={1151:1152}, cond={5:0}, g=0, mut={4:0}, pthread_create(&t2,((void *)0),f2,((void *)0))=0, ptr={0:0}, t1={7:0}, t2={6:0}] [L1356] 1 g = 1 VAL [cond={5:0}, g=1, mut={4:0}, ptr={0:0}, ptr={0:0}] [L1365] CALL 2 __VERIFIER_assert(g == 0) [L19] COND TRUE 2 !(cond) VAL [\old(cond)=0, cond={5:0}, cond=0, g=1, mut={4:0}, ptr={0:0}, ptr={0:0}] [L19] 2 reach_error() VAL [\old(cond)=0, cond=0, cond={5:0}, g=1, mut={4:0}, ptr={0:0}, ptr={0:0}] - UnprovableResult [Line: 1375]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 1377]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 5 procedures, 127 locations, 4 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: 1.1s, OverallIterations: 3, TraceHistogramMax: 1, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 34 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 34 mSDsluCounter, 75 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 77 mSDsCounter, 9 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 74 IncrementalHoareTripleChecker+Invalid, 83 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 9 mSolverCounterUnsat, 26 mSDtfsCounter, 74 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 17 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=173occurred in iteration=1, InterpolantAutomatonStates: 12, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.4s InterpolantComputationTime, 180 NumberOfCodeBlocks, 180 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 116 ConstructedInterpolants, 0 QuantifiedInterpolants, 246 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 2 InterpolantComputations, 2 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 RESULT: Ultimate proved your program to be incorrect! [2022-02-20 20:41:03,580 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE