./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-races/race-1_3-join.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/ldv-races/race-1_3-join.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 8c7f2059024755e8d2127555397365a96bb56530f6a4795548fd916204307c42 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:36:24,678 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:36:24,680 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:36:24,709 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:36:24,710 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:36:24,711 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:36:24,712 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:36:24,713 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:36:24,715 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:36:24,716 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:36:24,717 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:36:24,718 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:36:24,718 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:36:24,719 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:36:24,720 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:36:24,721 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:36:24,722 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:36:24,722 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:36:24,724 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:36:24,726 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:36:24,731 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:36:24,732 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:36:24,733 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:36:24,734 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:36:24,736 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:36:24,742 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:36:24,743 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:36:24,743 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:36:24,744 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:36:24,744 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:36:24,745 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:36:24,745 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:36:24,746 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:36:24,747 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:36:24,747 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:36:24,748 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:36:24,748 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:36:24,749 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:36:24,749 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:36:24,750 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:36:24,750 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:36:24,751 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:36:24,786 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:36:24,786 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:36:24,787 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:36:24,787 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:36:24,788 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:36:24,788 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:36:24,788 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:36:24,789 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:36:24,789 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:36:24,789 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:36:24,789 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:36:24,790 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:36:24,790 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:36:24,790 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:36:24,790 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:36:24,791 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:36:24,791 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:36:24,791 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:36:24,791 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:36:24,792 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:36:24,792 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:36:24,792 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:36:24,792 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:36:24,793 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:36:24,793 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:36:24,793 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:36:24,793 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:36:24,793 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:36:24,794 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:36:24,794 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:36:24,794 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:36:24,794 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:36:24,795 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:36:24,795 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 -> 8c7f2059024755e8d2127555397365a96bb56530f6a4795548fd916204307c42 [2022-02-20 20:36:24,990 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:36:25,007 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:36:25,009 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:36:25,010 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:36:25,011 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:36:25,012 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-races/race-1_3-join.i [2022-02-20 20:36:25,075 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/59efbd98c/58e126bb6b434be8b3c82562c46b93f1/FLAG1d69dbfed [2022-02-20 20:36:25,534 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:36:25,535 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-races/race-1_3-join.i [2022-02-20 20:36:25,548 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/59efbd98c/58e126bb6b434be8b3c82562c46b93f1/FLAG1d69dbfed [2022-02-20 20:36:25,841 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/59efbd98c/58e126bb6b434be8b3c82562c46b93f1 [2022-02-20 20:36:25,845 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:36:25,848 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:36:25,851 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:36:25,852 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:36:25,855 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:36:25,855 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:36:25" (1/1) ... [2022-02-20 20:36:25,856 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15478208 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:25, skipping insertion in model container [2022-02-20 20:36:25,856 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:36:25" (1/1) ... [2022-02-20 20:36:25,862 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:36:25,914 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:36:26,503 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/ldv-races/race-1_3-join.i[76153,76166] [2022-02-20 20:36:26,539 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:36:26,550 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:36:26,611 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/ldv-races/race-1_3-join.i[76153,76166] [2022-02-20 20:36:26,625 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:36:26,725 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:36:26,726 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26 WrapperNode [2022-02-20 20:36:26,726 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:36:26,728 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:36:26,729 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:36:26,729 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:36:26,737 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:36:26" (1/1) ... [2022-02-20 20:36:26,764 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:36:26" (1/1) ... [2022-02-20 20:36:26,789 INFO L137 Inliner]: procedures = 482, calls = 33, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 89 [2022-02-20 20:36:26,789 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:36:26,790 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:36:26,790 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:36:26,790 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:36:26,797 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,797 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,802 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,802 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,819 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,820 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,824 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,829 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:36:26,830 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:36:26,830 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:36:26,830 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:36:26,831 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (1/1) ... [2022-02-20 20:36:26,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:36:26,856 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:36:26,867 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:36:26,868 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:36:26,892 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 20:36:26,893 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:36:26,893 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 20:36:26,893 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:36:26,893 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2022-02-20 20:36:26,893 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:36:26,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 20:36:26,894 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:36:26,894 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:36:26,894 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:36:26,894 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2022-02-20 20:36:26,894 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2022-02-20 20:36:26,894 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:36:26,894 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:36:26,896 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:36:27,160 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:36:27,162 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:36:27,289 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:36:27,306 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:36:27,306 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 20:36:27,308 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:36:27 BoogieIcfgContainer [2022-02-20 20:36:27,308 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:36:27,310 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:36:27,310 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:36:27,316 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:36:27,317 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:36:25" (1/3) ... [2022-02-20 20:36:27,319 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2be6068a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:36:27, skipping insertion in model container [2022-02-20 20:36:27,319 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:36:26" (2/3) ... [2022-02-20 20:36:27,319 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2be6068a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:36:27, skipping insertion in model container [2022-02-20 20:36:27,319 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:36:27" (3/3) ... [2022-02-20 20:36:27,321 INFO L111 eAbstractionObserver]: Analyzing ICFG race-1_3-join.i [2022-02-20 20:36:27,325 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:36:27,329 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:36:27,330 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2022-02-20 20:36:27,330 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:36:27,392 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,393 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,393 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,394 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,394 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,394 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,401 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,401 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,402 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet31| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,404 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet31| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,404 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet31| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,404 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet31| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,405 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,405 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,405 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,406 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,409 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,409 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,410 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,410 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,411 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet31| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:36:27,416 INFO L148 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-02-20 20:36:27,463 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:36:27,473 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:36:27,474 INFO L340 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2022-02-20 20:36:27,487 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 105 places, 106 transitions, 220 flow [2022-02-20 20:36:27,537 INFO L129 PetriNetUnfolder]: 4/123 cut-off events. [2022-02-20 20:36:27,537 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 20:36:27,539 INFO L84 FinitePrefix]: Finished finitePrefix Result has 128 conditions, 123 events. 4/123 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 171 event pairs, 0 based on Foata normal form. 0/112 useless extension candidates. Maximal degree in co-relation 76. Up to 3 conditions per place. [2022-02-20 20:36:27,539 INFO L82 GeneralOperation]: Start removeDead. Operand has 105 places, 106 transitions, 220 flow [2022-02-20 20:36:27,544 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 93 places, 92 transitions, 190 flow [2022-02-20 20:36:27,555 INFO L129 PetriNetUnfolder]: 0/35 cut-off events. [2022-02-20 20:36:27,555 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:36:27,555 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:36:27,556 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] [2022-02-20 20:36:27,556 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:36:27,561 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:36:27,561 INFO L85 PathProgramCache]: Analyzing trace with hash 262582575, now seen corresponding path program 1 times [2022-02-20 20:36:27,570 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:36:27,570 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [471696456] [2022-02-20 20:36:27,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:36:27,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:36:27,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:36:27,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} [247] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:27,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {108#true} [186] 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] {108#true} is VALID [2022-02-20 20:36:27,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {108#true} [252] 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[] {108#true} is VALID [2022-02-20 20:36:27,998 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} [255] L-1-2-->L1693: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:27,999 INFO L290 TraceCheckUtils]: 4: Hoare triple {108#true} [238] L1693-->L1693-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:27,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {108#true} [251] L1693-1-->L1693-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:27,999 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} [224] L1693-2-->L1693-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {108#true} [197] L1693-3-->L1693-4: Formula: (and (= 16 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {108#true} [248] L1693-4-->L1696: Formula: (and (= |v_~#t1~0.offset_1| 0) (= |v_~#t1~0.base_1| 3)) InVars {} OutVars{~#t1~0.offset=|v_~#t1~0.offset_1|, ~#t1~0.base=|v_~#t1~0.base_1|} AuxVars[] AssignedVars[~#t1~0.base, ~#t1~0.offset] {108#true} is VALID [2022-02-20 20:36:28,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {108#true} [183] L1696-->L1696-1: Formula: (and (= (select |v_#valid_4| 3) 1) (= 4 (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[] {108#true} is VALID [2022-02-20 20:36:28,000 INFO L290 TraceCheckUtils]: 10: Hoare triple {108#true} [184] L1696-1-->L1696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#t1~0.base_2|) |v_~#t1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#t1~0.offset=|v_~#t1~0.offset_2|, ~#t1~0.base=|v_~#t1~0.base_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#t1~0.offset=|v_~#t1~0.offset_2|, ~#t1~0.base=|v_~#t1~0.base_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,001 INFO L290 TraceCheckUtils]: 11: Hoare triple {108#true} [168] L1696-2-->L1697: Formula: (and (= 4 |v_~#mutex~0.base_3|) (= |v_~#mutex~0.offset_3| 0)) InVars {} OutVars{~#mutex~0.base=|v_~#mutex~0.base_3|, ~#mutex~0.offset=|v_~#mutex~0.offset_3|} AuxVars[] AssignedVars[~#mutex~0.base, ~#mutex~0.offset] {108#true} is VALID [2022-02-20 20:36:28,001 INFO L290 TraceCheckUtils]: 12: Hoare triple {108#true} [185] L1697-->L1697-1: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,001 INFO L290 TraceCheckUtils]: 13: Hoare triple {108#true} [192] L1697-1-->L1697-2: Formula: (= (select (select |v_#memory_int_4| |v_~#mutex~0.base_4|) |v_~#mutex~0.offset_4|) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_4|, #memory_int=|v_#memory_int_4|, ~#mutex~0.base=|v_~#mutex~0.base_4|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_4|, #memory_int=|v_#memory_int_4|, ~#mutex~0.base=|v_~#mutex~0.base_4|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,001 INFO L290 TraceCheckUtils]: 14: Hoare triple {108#true} [169] L1697-2-->L1697-3: Formula: (= (select (select |v_#memory_int_5| |v_~#mutex~0.base_5|) (+ |v_~#mutex~0.offset_5| 4)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_5|, #memory_int=|v_#memory_int_5|, ~#mutex~0.base=|v_~#mutex~0.base_5|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_5|, #memory_int=|v_#memory_int_5|, ~#mutex~0.base=|v_~#mutex~0.base_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {108#true} [195] L1697-3-->L1697-4: Formula: (= (select (select |v_#memory_int_6| |v_~#mutex~0.base_6|) (+ |v_~#mutex~0.offset_6| 8)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_6|, #memory_int=|v_#memory_int_6|, ~#mutex~0.base=|v_~#mutex~0.base_6|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_6|, #memory_int=|v_#memory_int_6|, ~#mutex~0.base=|v_~#mutex~0.base_6|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {108#true} [176] L1697-4-->L1697-5: Formula: (= (select (select |v_#memory_int_7| |v_~#mutex~0.base_7|) (+ |v_~#mutex~0.offset_7| 12)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_7|, #memory_int=|v_#memory_int_7|, ~#mutex~0.base=|v_~#mutex~0.base_7|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_7|, #memory_int=|v_#memory_int_7|, ~#mutex~0.base=|v_~#mutex~0.base_7|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {108#true} [235] L1697-5-->L1697-6: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex~0.base_8|) (+ |v_~#mutex~0.offset_8| 16)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_8|, #memory_int=|v_#memory_int_8|, ~#mutex~0.base=|v_~#mutex~0.base_8|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_8|, #memory_int=|v_#memory_int_8|, ~#mutex~0.base=|v_~#mutex~0.base_8|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,003 INFO L290 TraceCheckUtils]: 18: Hoare triple {108#true} [172] L1697-6-->L-1-3: Formula: (= v_~pdev~0_2 0) InVars {} OutVars{~pdev~0=v_~pdev~0_2} AuxVars[] AssignedVars[~pdev~0] {108#true} is VALID [2022-02-20 20:36:28,003 INFO L290 TraceCheckUtils]: 19: Hoare triple {108#true} [257] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {108#true} [189] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,004 INFO L290 TraceCheckUtils]: 21: Hoare triple {108#true} [170] 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] {108#true} is VALID [2022-02-20 20:36:28,005 INFO L290 TraceCheckUtils]: 22: Hoare triple {108#true} [241] L-1-6-->L1734: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret37#1] {108#true} is VALID [2022-02-20 20:36:28,005 INFO L290 TraceCheckUtils]: 23: Hoare triple {108#true} [234] L1734-->L1734-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:36:28,005 INFO L290 TraceCheckUtils]: 24: Hoare triple {108#true} [222] L1734-1-->L1734-2: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#res#1=|v_ULTIMATE.start_module_init_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#res#1] {108#true} is VALID [2022-02-20 20:36:28,005 INFO L290 TraceCheckUtils]: 25: Hoare triple {108#true} [160] L1734-2-->L1708: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#t~nondet34#1=|v_ULTIMATE.start_module_init_#t~nondet34#1_1|, ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_1|, ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~nondet32#1, ULTIMATE.start_module_init_#t~pre33#1, ULTIMATE.start_module_init_#t~nondet34#1] {108#true} is VALID [2022-02-20 20:36:28,006 INFO L290 TraceCheckUtils]: 26: Hoare triple {108#true} [175] L1708-->L1709: Formula: (= |v_#pthreadsMutex_5| (store |v_#pthreadsMutex_6| |v_~#mutex~0.base_9| (store (select |v_#pthreadsMutex_6| |v_~#mutex~0.base_9|) |v_~#mutex~0.offset_9| 0))) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_9|, #pthreadsMutex=|v_#pthreadsMutex_6|, ~#mutex~0.base=|v_~#mutex~0.base_9|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_9|, #pthreadsMutex=|v_#pthreadsMutex_5|, ~#mutex~0.base=|v_~#mutex~0.base_9|} AuxVars[] AssignedVars[#pthreadsMutex] {108#true} is VALID [2022-02-20 20:36:28,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {108#true} [230] L1709-->L1710: Formula: (= v_~pdev~0_3 1) InVars {} OutVars{~pdev~0=v_~pdev~0_3} AuxVars[] AssignedVars[~pdev~0] {110#(= ~pdev~0 1)} is VALID [2022-02-20 20:36:28,007 INFO L290 TraceCheckUtils]: 28: Hoare triple {110#(= ~pdev~0 1)} [232] L1710-->L1710-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {110#(= ~pdev~0 1)} is VALID [2022-02-20 20:36:28,009 INFO L290 TraceCheckUtils]: 29: Hoare triple {110#(= ~pdev~0 1)} [202] L1710-1-->L1710-2: Formula: (= (ite (= v_~pdev~0_4 1) 1 0) |v_ULTIMATE.start_ldv_assert_#in~expression#1_1|) InVars {~pdev~0=v_~pdev~0_4} OutVars{~pdev~0=v_~pdev~0_4, ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_#in~expression#1] {111#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} is VALID [2022-02-20 20:36:28,010 INFO L290 TraceCheckUtils]: 30: Hoare triple {111#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} [220] L1710-2-->L1695: Formula: true InVars {} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {111#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} is VALID [2022-02-20 20:36:28,011 INFO L290 TraceCheckUtils]: 31: Hoare triple {111#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} [237] L1695-->L1695-1: Formula: (= |v_ULTIMATE.start_ldv_assert_~expression#1_2| |v_ULTIMATE.start_ldv_assert_#in~expression#1_2|) InVars {ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_2|} OutVars{ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_2|, ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {112#(not (= |ULTIMATE.start_ldv_assert_~expression#1| 0))} is VALID [2022-02-20 20:36:28,012 INFO L290 TraceCheckUtils]: 32: Hoare triple {112#(not (= |ULTIMATE.start_ldv_assert_~expression#1| 0))} [158] L1695-1-->L1695-2: Formula: (= |v_ULTIMATE.start_ldv_assert_~expression#1_3| 0) InVars {ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_3|} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_3|} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:36:28,012 INFO L290 TraceCheckUtils]: 33: Hoare triple {109#false} [162] L1695-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:36:28,014 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:36:28,014 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:36:28,014 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [471696456] [2022-02-20 20:36:28,015 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [471696456] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:36:28,016 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:36:28,018 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 20:36:28,020 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [442000847] [2022-02-20 20:36:28,021 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:36:28,032 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 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 34 [2022-02-20 20:36:28,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:36:28,037 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 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:36:28,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:36:28,075 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 20:36:28,075 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:36:28,106 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 20:36:28,107 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 20:36:28,111 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 75 out of 106 [2022-02-20 20:36:28,121 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 93 places, 92 transitions, 190 flow. Second operand has 5 states, 5 states have (on average 76.2) internal successors, (381), 5 states have internal predecessors, (381), 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:36:28,121 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:36:28,121 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 75 of 106 [2022-02-20 20:36:28,122 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:36:28,275 INFO L129 PetriNetUnfolder]: 3/105 cut-off events. [2022-02-20 20:36:28,275 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2022-02-20 20:36:28,276 INFO L84 FinitePrefix]: Finished finitePrefix Result has 143 conditions, 105 events. 3/105 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 114 event pairs, 0 based on Foata normal form. 1/101 useless extension candidates. Maximal degree in co-relation 39. Up to 12 conditions per place. [2022-02-20 20:36:28,278 INFO L132 encePairwiseOnDemand]: 91/106 looper letters, 15 selfloop transitions, 13 changer transitions 1/92 dead transitions. [2022-02-20 20:36:28,278 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 95 places, 92 transitions, 248 flow [2022-02-20 20:36:28,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:36:28,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:36:28,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 556 transitions. [2022-02-20 20:36:28,304 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7493261455525606 [2022-02-20 20:36:28,305 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 556 transitions. [2022-02-20 20:36:28,305 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 556 transitions. [2022-02-20 20:36:28,306 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:36:28,308 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 556 transitions. [2022-02-20 20:36:28,312 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 79.42857142857143) internal successors, (556), 7 states have internal predecessors, (556), 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:36:28,317 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 106.0) internal successors, (848), 8 states have internal predecessors, (848), 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:36:28,318 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 106.0) internal successors, (848), 8 states have internal predecessors, (848), 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:36:28,319 INFO L186 Difference]: Start difference. First operand has 93 places, 92 transitions, 190 flow. Second operand 7 states and 556 transitions. [2022-02-20 20:36:28,320 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 95 places, 92 transitions, 248 flow [2022-02-20 20:36:28,322 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 93 places, 92 transitions, 244 flow, removed 0 selfloop flow, removed 2 redundant places. [2022-02-20 20:36:28,325 INFO L242 Difference]: Finished difference. Result has 95 places, 89 transitions, 222 flow [2022-02-20 20:36:28,327 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=106, PETRI_DIFFERENCE_MINUEND_FLOW=174, PETRI_DIFFERENCE_MINUEND_PLACES=87, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=86, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=10, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=74, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=222, PETRI_PLACES=95, PETRI_TRANSITIONS=89} [2022-02-20 20:36:28,329 INFO L334 CegarLoopForPetriNet]: 93 programPoint places, 2 predicate places. [2022-02-20 20:36:28,330 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 95 places, 89 transitions, 222 flow [2022-02-20 20:36:28,355 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 202 states, 198 states have (on average 1.5454545454545454) internal successors, (306), 201 states have internal predecessors, (306), 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:36:28,359 INFO L78 Accepts]: Start accepts. Automaton has has 202 states, 198 states have (on average 1.5454545454545454) internal successors, (306), 201 states have internal predecessors, (306), 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 34 [2022-02-20 20:36:28,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:36:28,361 INFO L470 AbstractCegarLoop]: Abstraction has has 95 places, 89 transitions, 222 flow [2022-02-20 20:36:28,362 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 76.2) internal successors, (381), 5 states have internal predecessors, (381), 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:36:28,362 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:36:28,362 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] [2022-02-20 20:36:28,362 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:36:28,363 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:36:28,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:36:28,363 INFO L85 PathProgramCache]: Analyzing trace with hash -1110563530, now seen corresponding path program 1 times [2022-02-20 20:36:28,363 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:36:28,364 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1562257352] [2022-02-20 20:36:28,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:36:28,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:36:28,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:36:28,488 INFO L290 TraceCheckUtils]: 0: Hoare triple {325#true} [247] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {325#true} [186] 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] {325#true} is VALID [2022-02-20 20:36:28,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {325#true} [252] 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[] {325#true} is VALID [2022-02-20 20:36:28,489 INFO L290 TraceCheckUtils]: 3: Hoare triple {325#true} [255] L-1-2-->L1693: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,489 INFO L290 TraceCheckUtils]: 4: Hoare triple {325#true} [238] L1693-->L1693-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[] {325#true} is VALID [2022-02-20 20:36:28,489 INFO L290 TraceCheckUtils]: 5: Hoare triple {325#true} [251] L1693-1-->L1693-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[] {325#true} is VALID [2022-02-20 20:36:28,489 INFO L290 TraceCheckUtils]: 6: Hoare triple {325#true} [224] L1693-2-->L1693-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[] {325#true} is VALID [2022-02-20 20:36:28,490 INFO L290 TraceCheckUtils]: 7: Hoare triple {325#true} [197] L1693-3-->L1693-4: Formula: (and (= 16 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,491 INFO L290 TraceCheckUtils]: 8: Hoare triple {325#true} [248] L1693-4-->L1696: Formula: (and (= |v_~#t1~0.offset_1| 0) (= |v_~#t1~0.base_1| 3)) InVars {} OutVars{~#t1~0.offset=|v_~#t1~0.offset_1|, ~#t1~0.base=|v_~#t1~0.base_1|} AuxVars[] AssignedVars[~#t1~0.base, ~#t1~0.offset] {325#true} is VALID [2022-02-20 20:36:28,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {325#true} [183] L1696-->L1696-1: Formula: (and (= (select |v_#valid_4| 3) 1) (= 4 (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[] {325#true} is VALID [2022-02-20 20:36:28,492 INFO L290 TraceCheckUtils]: 10: Hoare triple {325#true} [184] L1696-1-->L1696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#t1~0.base_2|) |v_~#t1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#t1~0.offset=|v_~#t1~0.offset_2|, ~#t1~0.base=|v_~#t1~0.base_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#t1~0.offset=|v_~#t1~0.offset_2|, ~#t1~0.base=|v_~#t1~0.base_2|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {325#true} [168] L1696-2-->L1697: Formula: (and (= 4 |v_~#mutex~0.base_3|) (= |v_~#mutex~0.offset_3| 0)) InVars {} OutVars{~#mutex~0.base=|v_~#mutex~0.base_3|, ~#mutex~0.offset=|v_~#mutex~0.offset_3|} AuxVars[] AssignedVars[~#mutex~0.base, ~#mutex~0.offset] {325#true} is VALID [2022-02-20 20:36:28,492 INFO L290 TraceCheckUtils]: 12: Hoare triple {325#true} [185] L1697-->L1697-1: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,493 INFO L290 TraceCheckUtils]: 13: Hoare triple {325#true} [192] L1697-1-->L1697-2: Formula: (= (select (select |v_#memory_int_4| |v_~#mutex~0.base_4|) |v_~#mutex~0.offset_4|) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_4|, #memory_int=|v_#memory_int_4|, ~#mutex~0.base=|v_~#mutex~0.base_4|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_4|, #memory_int=|v_#memory_int_4|, ~#mutex~0.base=|v_~#mutex~0.base_4|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {325#true} [169] L1697-2-->L1697-3: Formula: (= (select (select |v_#memory_int_5| |v_~#mutex~0.base_5|) (+ |v_~#mutex~0.offset_5| 4)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_5|, #memory_int=|v_#memory_int_5|, ~#mutex~0.base=|v_~#mutex~0.base_5|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_5|, #memory_int=|v_#memory_int_5|, ~#mutex~0.base=|v_~#mutex~0.base_5|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {325#true} [195] L1697-3-->L1697-4: Formula: (= (select (select |v_#memory_int_6| |v_~#mutex~0.base_6|) (+ |v_~#mutex~0.offset_6| 8)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_6|, #memory_int=|v_#memory_int_6|, ~#mutex~0.base=|v_~#mutex~0.base_6|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_6|, #memory_int=|v_#memory_int_6|, ~#mutex~0.base=|v_~#mutex~0.base_6|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,496 INFO L290 TraceCheckUtils]: 16: Hoare triple {325#true} [176] L1697-4-->L1697-5: Formula: (= (select (select |v_#memory_int_7| |v_~#mutex~0.base_7|) (+ |v_~#mutex~0.offset_7| 12)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_7|, #memory_int=|v_#memory_int_7|, ~#mutex~0.base=|v_~#mutex~0.base_7|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_7|, #memory_int=|v_#memory_int_7|, ~#mutex~0.base=|v_~#mutex~0.base_7|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,497 INFO L290 TraceCheckUtils]: 17: Hoare triple {325#true} [235] L1697-5-->L1697-6: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex~0.base_8|) (+ |v_~#mutex~0.offset_8| 16)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_8|, #memory_int=|v_#memory_int_8|, ~#mutex~0.base=|v_~#mutex~0.base_8|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_8|, #memory_int=|v_#memory_int_8|, ~#mutex~0.base=|v_~#mutex~0.base_8|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,498 INFO L290 TraceCheckUtils]: 18: Hoare triple {325#true} [172] L1697-6-->L-1-3: Formula: (= v_~pdev~0_2 0) InVars {} OutVars{~pdev~0=v_~pdev~0_2} AuxVars[] AssignedVars[~pdev~0] {325#true} is VALID [2022-02-20 20:36:28,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {325#true} [257] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {325#true} [189] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,499 INFO L290 TraceCheckUtils]: 21: Hoare triple {325#true} [170] 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] {325#true} is VALID [2022-02-20 20:36:28,499 INFO L290 TraceCheckUtils]: 22: Hoare triple {325#true} [241] L-1-6-->L1734: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret37#1] {325#true} is VALID [2022-02-20 20:36:28,500 INFO L290 TraceCheckUtils]: 23: Hoare triple {325#true} [234] L1734-->L1734-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,500 INFO L290 TraceCheckUtils]: 24: Hoare triple {325#true} [222] L1734-1-->L1734-2: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#res#1=|v_ULTIMATE.start_module_init_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#res#1] {325#true} is VALID [2022-02-20 20:36:28,500 INFO L290 TraceCheckUtils]: 25: Hoare triple {325#true} [160] L1734-2-->L1708: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#t~nondet34#1=|v_ULTIMATE.start_module_init_#t~nondet34#1_1|, ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_1|, ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~nondet32#1, ULTIMATE.start_module_init_#t~pre33#1, ULTIMATE.start_module_init_#t~nondet34#1] {325#true} is VALID [2022-02-20 20:36:28,500 INFO L290 TraceCheckUtils]: 26: Hoare triple {325#true} [175] L1708-->L1709: Formula: (= |v_#pthreadsMutex_5| (store |v_#pthreadsMutex_6| |v_~#mutex~0.base_9| (store (select |v_#pthreadsMutex_6| |v_~#mutex~0.base_9|) |v_~#mutex~0.offset_9| 0))) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_9|, #pthreadsMutex=|v_#pthreadsMutex_6|, ~#mutex~0.base=|v_~#mutex~0.base_9|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_9|, #pthreadsMutex=|v_#pthreadsMutex_5|, ~#mutex~0.base=|v_~#mutex~0.base_9|} AuxVars[] AssignedVars[#pthreadsMutex] {325#true} is VALID [2022-02-20 20:36:28,501 INFO L290 TraceCheckUtils]: 27: Hoare triple {325#true} [230] L1709-->L1710: Formula: (= v_~pdev~0_3 1) InVars {} OutVars{~pdev~0=v_~pdev~0_3} AuxVars[] AssignedVars[~pdev~0] {325#true} is VALID [2022-02-20 20:36:28,501 INFO L290 TraceCheckUtils]: 28: Hoare triple {325#true} [232] L1710-->L1710-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,501 INFO L290 TraceCheckUtils]: 29: Hoare triple {325#true} [202] L1710-1-->L1710-2: Formula: (= (ite (= v_~pdev~0_4 1) 1 0) |v_ULTIMATE.start_ldv_assert_#in~expression#1_1|) InVars {~pdev~0=v_~pdev~0_4} OutVars{~pdev~0=v_~pdev~0_4, ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_#in~expression#1] {325#true} is VALID [2022-02-20 20:36:28,501 INFO L290 TraceCheckUtils]: 30: Hoare triple {325#true} [220] L1710-2-->L1695: Formula: true InVars {} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {325#true} is VALID [2022-02-20 20:36:28,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {325#true} [237] L1695-->L1695-1: Formula: (= |v_ULTIMATE.start_ldv_assert_~expression#1_2| |v_ULTIMATE.start_ldv_assert_#in~expression#1_2|) InVars {ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_2|} OutVars{ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_2|, ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {325#true} is VALID [2022-02-20 20:36:28,502 INFO L290 TraceCheckUtils]: 32: Hoare triple {325#true} [159] L1695-1-->L1695-5: Formula: (not (= |v_ULTIMATE.start_ldv_assert_~expression#1_4| 0)) InVars {ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_4|} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_4|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,502 INFO L290 TraceCheckUtils]: 33: Hoare triple {325#true} [182] L1695-5-->L1711: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,502 INFO L290 TraceCheckUtils]: 34: Hoare triple {325#true} [246] L1711-->L1711-1: Formula: (and (<= |v_ULTIMATE.start_module_init_#t~nondet32#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_module_init_#t~nondet32#1_2| 2147483648))) InVars {ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_2|} OutVars{ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_2|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,503 INFO L290 TraceCheckUtils]: 35: Hoare triple {325#true} [188] L1711-1-->L1711-3: Formula: (= |v_ULTIMATE.start_module_init_#t~nondet32#1_5| 0) InVars {ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_5|} OutVars{ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_5|} AuxVars[] AssignedVars[] {325#true} is VALID [2022-02-20 20:36:28,503 INFO L290 TraceCheckUtils]: 36: Hoare triple {325#true} [233] L1711-3-->L1715: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~nondet32#1] {325#true} is VALID [2022-02-20 20:36:28,503 INFO L290 TraceCheckUtils]: 37: Hoare triple {325#true} [178] L1715-->L1716: Formula: (= 3 v_~pdev~0_5) InVars {} OutVars{~pdev~0=v_~pdev~0_5} AuxVars[] AssignedVars[~pdev~0] {327#(= ~pdev~0 3)} is VALID [2022-02-20 20:36:28,504 INFO L290 TraceCheckUtils]: 38: Hoare triple {327#(= ~pdev~0 3)} [208] L1716-->L1716-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {327#(= ~pdev~0 3)} is VALID [2022-02-20 20:36:28,504 INFO L290 TraceCheckUtils]: 39: Hoare triple {327#(= ~pdev~0 3)} [260] L1716-1-->L1716-2: Formula: (= (ite (= 3 v_~pdev~0_6) 1 0) |v_ULTIMATE.start_ldv_assert_#in~expression#1_3|) InVars {~pdev~0=v_~pdev~0_6} OutVars{~pdev~0=v_~pdev~0_6, ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_#in~expression#1] {328#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} is VALID [2022-02-20 20:36:28,505 INFO L290 TraceCheckUtils]: 40: Hoare triple {328#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} [223] L1716-2-->L1695-6: Formula: true InVars {} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {328#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} is VALID [2022-02-20 20:36:28,505 INFO L290 TraceCheckUtils]: 41: Hoare triple {328#(not (= |ULTIMATE.start_ldv_assert_#in~expression#1| 0))} [250] L1695-6-->L1695-7: Formula: (= |v_ULTIMATE.start_ldv_assert_~expression#1_6| |v_ULTIMATE.start_ldv_assert_#in~expression#1_4|) InVars {ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_4|} OutVars{ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_4|, ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {329#(not (= |ULTIMATE.start_ldv_assert_~expression#1| 0))} is VALID [2022-02-20 20:36:28,506 INFO L290 TraceCheckUtils]: 42: Hoare triple {329#(not (= |ULTIMATE.start_ldv_assert_~expression#1| 0))} [210] L1695-7-->L1695-8: Formula: (= |v_ULTIMATE.start_ldv_assert_~expression#1_7| 0) InVars {ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_7|} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_7|} AuxVars[] AssignedVars[] {326#false} is VALID [2022-02-20 20:36:28,506 INFO L290 TraceCheckUtils]: 43: Hoare triple {326#false} [200] L1695-8-->ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {326#false} is VALID [2022-02-20 20:36:28,508 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:36:28,508 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:36:28,508 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1562257352] [2022-02-20 20:36:28,508 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1562257352] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:36:28,509 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:36:28,509 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 20:36:28,509 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [936382853] [2022-02-20 20:36:28,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:36:28,510 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 8.8) internal successors, (44), 5 states have internal predecessors, (44), 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 44 [2022-02-20 20:36:28,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:36:28,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 8.8) internal successors, (44), 5 states have internal predecessors, (44), 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:36:28,544 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:36:28,544 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 20:36:28,544 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:36:28,545 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 20:36:28,546 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 20:36:28,547 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 75 out of 106 [2022-02-20 20:36:28,548 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 95 places, 89 transitions, 222 flow. Second operand has 5 states, 5 states have (on average 77.2) internal successors, (386), 5 states have internal predecessors, (386), 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:36:28,548 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:36:28,548 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 75 of 106 [2022-02-20 20:36:28,548 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:36:28,679 INFO L129 PetriNetUnfolder]: 3/101 cut-off events. [2022-02-20 20:36:28,680 INFO L130 PetriNetUnfolder]: For 18/20 co-relation queries the response was YES. [2022-02-20 20:36:28,681 INFO L84 FinitePrefix]: Finished finitePrefix Result has 164 conditions, 101 events. 3/101 cut-off events. For 18/20 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 92 event pairs, 0 based on Foata normal form. 1/101 useless extension candidates. Maximal degree in co-relation 99. Up to 13 conditions per place. [2022-02-20 20:36:28,683 INFO L132 encePairwiseOnDemand]: 95/106 looper letters, 17 selfloop transitions, 11 changer transitions 0/90 dead transitions. [2022-02-20 20:36:28,683 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 99 places, 90 transitions, 286 flow [2022-02-20 20:36:28,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:36:28,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:36:28,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 552 transitions. [2022-02-20 20:36:28,696 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7439353099730458 [2022-02-20 20:36:28,697 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 552 transitions. [2022-02-20 20:36:28,697 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 552 transitions. [2022-02-20 20:36:28,697 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:36:28,698 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 552 transitions. [2022-02-20 20:36:28,699 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 78.85714285714286) internal successors, (552), 7 states have internal predecessors, (552), 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:36:28,701 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 106.0) internal successors, (848), 8 states have internal predecessors, (848), 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:36:28,702 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 106.0) internal successors, (848), 8 states have internal predecessors, (848), 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:36:28,703 INFO L186 Difference]: Start difference. First operand has 95 places, 89 transitions, 222 flow. Second operand 7 states and 552 transitions. [2022-02-20 20:36:28,703 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 99 places, 90 transitions, 286 flow [2022-02-20 20:36:28,726 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 96 places, 90 transitions, 276 flow, removed 0 selfloop flow, removed 3 redundant places. [2022-02-20 20:36:28,729 INFO L242 Difference]: Finished difference. Result has 97 places, 88 transitions, 240 flow [2022-02-20 20:36:28,729 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=106, PETRI_DIFFERENCE_MINUEND_FLOW=208, PETRI_DIFFERENCE_MINUEND_PLACES=90, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=87, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=10, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=76, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=240, PETRI_PLACES=97, PETRI_TRANSITIONS=88} [2022-02-20 20:36:28,730 INFO L334 CegarLoopForPetriNet]: 93 programPoint places, 4 predicate places. [2022-02-20 20:36:28,730 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 97 places, 88 transitions, 240 flow [2022-02-20 20:36:28,741 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 200 states, 197 states have (on average 1.5431472081218274) internal successors, (304), 199 states have internal predecessors, (304), 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:36:28,741 INFO L78 Accepts]: Start accepts. Automaton has has 200 states, 197 states have (on average 1.5431472081218274) internal successors, (304), 199 states have internal predecessors, (304), 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 44 [2022-02-20 20:36:28,742 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:36:28,742 INFO L470 AbstractCegarLoop]: Abstraction has has 97 places, 88 transitions, 240 flow [2022-02-20 20:36:28,742 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 77.2) internal successors, (386), 5 states have internal predecessors, (386), 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:36:28,743 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:36:28,743 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] [2022-02-20 20:36:28,743 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:36:28,744 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:36:28,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:36:28,744 INFO L85 PathProgramCache]: Analyzing trace with hash -367857545, now seen corresponding path program 1 times [2022-02-20 20:36:28,744 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:36:28,745 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1361848922] [2022-02-20 20:36:28,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:36:28,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:36:28,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:36:28,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {541#true} [247] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {541#true} [186] 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] {541#true} is VALID [2022-02-20 20:36:28,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {541#true} [252] 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[] {541#true} is VALID [2022-02-20 20:36:28,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {541#true} [255] L-1-2-->L1693: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,814 INFO L290 TraceCheckUtils]: 4: Hoare triple {541#true} [238] L1693-->L1693-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[] {541#true} is VALID [2022-02-20 20:36:28,814 INFO L290 TraceCheckUtils]: 5: Hoare triple {541#true} [251] L1693-1-->L1693-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[] {541#true} is VALID [2022-02-20 20:36:28,814 INFO L290 TraceCheckUtils]: 6: Hoare triple {541#true} [224] L1693-2-->L1693-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[] {541#true} is VALID [2022-02-20 20:36:28,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {541#true} [197] L1693-3-->L1693-4: Formula: (and (= 16 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {541#true} [248] L1693-4-->L1696: Formula: (and (= |v_~#t1~0.offset_1| 0) (= |v_~#t1~0.base_1| 3)) InVars {} OutVars{~#t1~0.offset=|v_~#t1~0.offset_1|, ~#t1~0.base=|v_~#t1~0.base_1|} AuxVars[] AssignedVars[~#t1~0.base, ~#t1~0.offset] {541#true} is VALID [2022-02-20 20:36:28,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {541#true} [183] L1696-->L1696-1: Formula: (and (= (select |v_#valid_4| 3) 1) (= 4 (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[] {541#true} is VALID [2022-02-20 20:36:28,815 INFO L290 TraceCheckUtils]: 10: Hoare triple {541#true} [184] L1696-1-->L1696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#t1~0.base_2|) |v_~#t1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#t1~0.offset=|v_~#t1~0.offset_2|, ~#t1~0.base=|v_~#t1~0.base_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#t1~0.offset=|v_~#t1~0.offset_2|, ~#t1~0.base=|v_~#t1~0.base_2|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,816 INFO L290 TraceCheckUtils]: 11: Hoare triple {541#true} [168] L1696-2-->L1697: Formula: (and (= 4 |v_~#mutex~0.base_3|) (= |v_~#mutex~0.offset_3| 0)) InVars {} OutVars{~#mutex~0.base=|v_~#mutex~0.base_3|, ~#mutex~0.offset=|v_~#mutex~0.offset_3|} AuxVars[] AssignedVars[~#mutex~0.base, ~#mutex~0.offset] {541#true} is VALID [2022-02-20 20:36:28,816 INFO L290 TraceCheckUtils]: 12: Hoare triple {541#true} [185] L1697-->L1697-1: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,816 INFO L290 TraceCheckUtils]: 13: Hoare triple {541#true} [192] L1697-1-->L1697-2: Formula: (= (select (select |v_#memory_int_4| |v_~#mutex~0.base_4|) |v_~#mutex~0.offset_4|) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_4|, #memory_int=|v_#memory_int_4|, ~#mutex~0.base=|v_~#mutex~0.base_4|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_4|, #memory_int=|v_#memory_int_4|, ~#mutex~0.base=|v_~#mutex~0.base_4|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {541#true} [169] L1697-2-->L1697-3: Formula: (= (select (select |v_#memory_int_5| |v_~#mutex~0.base_5|) (+ |v_~#mutex~0.offset_5| 4)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_5|, #memory_int=|v_#memory_int_5|, ~#mutex~0.base=|v_~#mutex~0.base_5|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_5|, #memory_int=|v_#memory_int_5|, ~#mutex~0.base=|v_~#mutex~0.base_5|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,817 INFO L290 TraceCheckUtils]: 15: Hoare triple {541#true} [195] L1697-3-->L1697-4: Formula: (= (select (select |v_#memory_int_6| |v_~#mutex~0.base_6|) (+ |v_~#mutex~0.offset_6| 8)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_6|, #memory_int=|v_#memory_int_6|, ~#mutex~0.base=|v_~#mutex~0.base_6|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_6|, #memory_int=|v_#memory_int_6|, ~#mutex~0.base=|v_~#mutex~0.base_6|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,817 INFO L290 TraceCheckUtils]: 16: Hoare triple {541#true} [176] L1697-4-->L1697-5: Formula: (= (select (select |v_#memory_int_7| |v_~#mutex~0.base_7|) (+ |v_~#mutex~0.offset_7| 12)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_7|, #memory_int=|v_#memory_int_7|, ~#mutex~0.base=|v_~#mutex~0.base_7|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_7|, #memory_int=|v_#memory_int_7|, ~#mutex~0.base=|v_~#mutex~0.base_7|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,817 INFO L290 TraceCheckUtils]: 17: Hoare triple {541#true} [235] L1697-5-->L1697-6: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex~0.base_8|) (+ |v_~#mutex~0.offset_8| 16)) 0) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_8|, #memory_int=|v_#memory_int_8|, ~#mutex~0.base=|v_~#mutex~0.base_8|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_8|, #memory_int=|v_#memory_int_8|, ~#mutex~0.base=|v_~#mutex~0.base_8|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,817 INFO L290 TraceCheckUtils]: 18: Hoare triple {541#true} [172] L1697-6-->L-1-3: Formula: (= v_~pdev~0_2 0) InVars {} OutVars{~pdev~0=v_~pdev~0_2} AuxVars[] AssignedVars[~pdev~0] {541#true} is VALID [2022-02-20 20:36:28,818 INFO L290 TraceCheckUtils]: 19: Hoare triple {541#true} [257] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {541#true} [189] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,818 INFO L290 TraceCheckUtils]: 21: Hoare triple {541#true} [170] 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] {541#true} is VALID [2022-02-20 20:36:28,818 INFO L290 TraceCheckUtils]: 22: Hoare triple {541#true} [241] L-1-6-->L1734: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret37#1] {541#true} is VALID [2022-02-20 20:36:28,818 INFO L290 TraceCheckUtils]: 23: Hoare triple {541#true} [234] L1734-->L1734-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {541#true} [222] L1734-1-->L1734-2: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#res#1=|v_ULTIMATE.start_module_init_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#res#1] {541#true} is VALID [2022-02-20 20:36:28,819 INFO L290 TraceCheckUtils]: 25: Hoare triple {541#true} [160] L1734-2-->L1708: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#t~nondet34#1=|v_ULTIMATE.start_module_init_#t~nondet34#1_1|, ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_1|, ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~nondet32#1, ULTIMATE.start_module_init_#t~pre33#1, ULTIMATE.start_module_init_#t~nondet34#1] {541#true} is VALID [2022-02-20 20:36:28,819 INFO L290 TraceCheckUtils]: 26: Hoare triple {541#true} [175] L1708-->L1709: Formula: (= |v_#pthreadsMutex_5| (store |v_#pthreadsMutex_6| |v_~#mutex~0.base_9| (store (select |v_#pthreadsMutex_6| |v_~#mutex~0.base_9|) |v_~#mutex~0.offset_9| 0))) InVars {~#mutex~0.offset=|v_~#mutex~0.offset_9|, #pthreadsMutex=|v_#pthreadsMutex_6|, ~#mutex~0.base=|v_~#mutex~0.base_9|} OutVars{~#mutex~0.offset=|v_~#mutex~0.offset_9|, #pthreadsMutex=|v_#pthreadsMutex_5|, ~#mutex~0.base=|v_~#mutex~0.base_9|} AuxVars[] AssignedVars[#pthreadsMutex] {541#true} is VALID [2022-02-20 20:36:28,819 INFO L290 TraceCheckUtils]: 27: Hoare triple {541#true} [230] L1709-->L1710: Formula: (= v_~pdev~0_3 1) InVars {} OutVars{~pdev~0=v_~pdev~0_3} AuxVars[] AssignedVars[~pdev~0] {541#true} is VALID [2022-02-20 20:36:28,820 INFO L290 TraceCheckUtils]: 28: Hoare triple {541#true} [232] L1710-->L1710-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,820 INFO L290 TraceCheckUtils]: 29: Hoare triple {541#true} [202] L1710-1-->L1710-2: Formula: (= (ite (= v_~pdev~0_4 1) 1 0) |v_ULTIMATE.start_ldv_assert_#in~expression#1_1|) InVars {~pdev~0=v_~pdev~0_4} OutVars{~pdev~0=v_~pdev~0_4, ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_#in~expression#1] {541#true} is VALID [2022-02-20 20:36:28,820 INFO L290 TraceCheckUtils]: 30: Hoare triple {541#true} [220] L1710-2-->L1695: Formula: true InVars {} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {541#true} is VALID [2022-02-20 20:36:28,820 INFO L290 TraceCheckUtils]: 31: Hoare triple {541#true} [237] L1695-->L1695-1: Formula: (= |v_ULTIMATE.start_ldv_assert_~expression#1_2| |v_ULTIMATE.start_ldv_assert_#in~expression#1_2|) InVars {ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_2|} OutVars{ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_2|, ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1] {541#true} is VALID [2022-02-20 20:36:28,821 INFO L290 TraceCheckUtils]: 32: Hoare triple {541#true} [159] L1695-1-->L1695-5: Formula: (not (= |v_ULTIMATE.start_ldv_assert_~expression#1_4| 0)) InVars {ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_4|} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_4|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,821 INFO L290 TraceCheckUtils]: 33: Hoare triple {541#true} [182] L1695-5-->L1711: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,821 INFO L290 TraceCheckUtils]: 34: Hoare triple {541#true} [246] L1711-->L1711-1: Formula: (and (<= |v_ULTIMATE.start_module_init_#t~nondet32#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_module_init_#t~nondet32#1_2| 2147483648))) InVars {ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_2|} OutVars{ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_2|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,821 INFO L290 TraceCheckUtils]: 35: Hoare triple {541#true} [187] L1711-1-->L1711-2: Formula: (not (= |v_ULTIMATE.start_module_init_#t~nondet32#1_3| 0)) InVars {ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_3|} OutVars{ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_3|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,821 INFO L290 TraceCheckUtils]: 36: Hoare triple {541#true} [205] L1711-2-->L1712: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#t~nondet32#1=|v_ULTIMATE.start_module_init_#t~nondet32#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~nondet32#1] {541#true} is VALID [2022-02-20 20:36:28,822 INFO L290 TraceCheckUtils]: 37: Hoare triple {541#true} [166] L1712-->L1712-1: Formula: (= |v_ULTIMATE.start_module_init_#t~pre33#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~pre33#1] {541#true} is VALID [2022-02-20 20:36:28,822 INFO L290 TraceCheckUtils]: 38: Hoare triple {541#true} [161] L1712-1-->L1712-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {541#true} is VALID [2022-02-20 20:36:28,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {541#true} [225] L1712-2-->L1712-3: Formula: (and (= |v_#memory_$Pointer$.offset_1| (store |v_#memory_$Pointer$.offset_2| |v_~#t1~0.base_3| (store (select |v_#memory_$Pointer$.offset_2| |v_~#t1~0.base_3|) |v_~#t1~0.offset_3| (select (select |v_#memory_$Pointer$.offset_1| |v_~#t1~0.base_3|) |v_~#t1~0.offset_3|)))) (= (store |v_#memory_int_10| |v_~#t1~0.base_3| (store (select |v_#memory_int_10| |v_~#t1~0.base_3|) |v_~#t1~0.offset_3| |v_ULTIMATE.start_module_init_#t~pre33#1_3|)) |v_#memory_int_9|) (= (store |v_#memory_$Pointer$.base_2| |v_~#t1~0.base_3| (store (select |v_#memory_$Pointer$.base_2| |v_~#t1~0.base_3|) |v_~#t1~0.offset_3| (select (select |v_#memory_$Pointer$.base_1| |v_~#t1~0.base_3|) |v_~#t1~0.offset_3|))) |v_#memory_$Pointer$.base_1|)) InVars {~#t1~0.base=|v_~#t1~0.base_3|, #memory_$Pointer$.base=|v_#memory_$Pointer$.base_2|, ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_3|, #memory_int=|v_#memory_int_10|, ~#t1~0.offset=|v_~#t1~0.offset_3|, #memory_$Pointer$.offset=|v_#memory_$Pointer$.offset_2|} OutVars{~#t1~0.base=|v_~#t1~0.base_3|, #memory_$Pointer$.base=|v_#memory_$Pointer$.base_1|, ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_3|, #memory_int=|v_#memory_int_9|, ~#t1~0.offset=|v_~#t1~0.offset_3|, #memory_$Pointer$.offset=|v_#memory_$Pointer$.offset_1|} AuxVars[] AssignedVars[#memory_$Pointer$.base, #memory_int, #memory_$Pointer$.offset] {541#true} is VALID [2022-02-20 20:36:28,823 INFO L290 TraceCheckUtils]: 40: Hoare triple {541#true} [271] L1712-3-->thread1ENTRY: Formula: (and (= |v_thread1Thread1of1ForFork0_#in~arg.offset_4| 0) (= |v_thread1Thread1of1ForFork0_#in~arg.base_4| 0) (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_module_init_#t~pre33#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_6|} OutVars{thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_4, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_4, ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_6|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, thread1Thread1of1ForFork0_#t~nondet31=|v_thread1Thread1of1ForFork0_#t~nondet31_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#in~arg.base, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1, thread1Thread1of1ForFork0_#in~arg.offset, thread1Thread1of1ForFork0_#t~nondet31] {541#true} is VALID [2022-02-20 20:36:28,823 INFO L290 TraceCheckUtils]: 41: Hoare triple {541#true} [165] L1712-4-->L1712-5: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#t~pre33#1=|v_ULTIMATE.start_module_init_#t~pre33#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~pre33#1] {541#true} is VALID [2022-02-20 20:36:28,823 INFO L290 TraceCheckUtils]: 42: Hoare triple {541#true} [173] L1712-5-->L1713: Formula: true InVars {} OutVars{ULTIMATE.start_module_init_#t~nondet34#1=|v_ULTIMATE.start_module_init_#t~nondet34#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#t~nondet34#1] {541#true} is VALID [2022-02-20 20:36:28,823 INFO L290 TraceCheckUtils]: 43: Hoare triple {541#true} [190] L1713-->L1718-1: Formula: (= |v_ULTIMATE.start_module_init_#res#1_2| 0) InVars {} OutVars{ULTIMATE.start_module_init_#res#1=|v_ULTIMATE.start_module_init_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_module_init_#res#1] {541#true} is VALID [2022-02-20 20:36:28,824 INFO L290 TraceCheckUtils]: 44: Hoare triple {541#true} [203] L1718-1-->L1734-3: Formula: (= |v_ULTIMATE.start_module_init_#res#1_4| |v_ULTIMATE.start_main_#t~ret37#1_2|) InVars {ULTIMATE.start_module_init_#res#1=|v_ULTIMATE.start_module_init_#res#1_4|} OutVars{ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_2|, ULTIMATE.start_module_init_#res#1=|v_ULTIMATE.start_module_init_#res#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret37#1] {541#true} is VALID [2022-02-20 20:36:28,824 INFO L290 TraceCheckUtils]: 45: Hoare triple {541#true} [249] L1734-3-->L1734-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,824 INFO L290 TraceCheckUtils]: 46: Hoare triple {541#true} [221] L1734-4-->L1734-5: Formula: (and (<= 0 (+ 2147483648 |v_ULTIMATE.start_main_#t~ret37#1_3|)) (<= |v_ULTIMATE.start_main_#t~ret37#1_3| 2147483647)) InVars {ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_3|} OutVars{ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_3|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,824 INFO L290 TraceCheckUtils]: 47: Hoare triple {541#true} [181] L1734-5-->L1734-8: Formula: (= 0 |v_ULTIMATE.start_main_#t~ret37#1_6|) InVars {ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_6|} OutVars{ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_6|} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,825 INFO L290 TraceCheckUtils]: 48: Hoare triple {541#true} [244] L1734-8-->L1735: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret37#1=|v_ULTIMATE.start_main_#t~ret37#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret37#1] {541#true} is VALID [2022-02-20 20:36:28,825 INFO L290 TraceCheckUtils]: 49: Hoare triple {541#true} [214] L1735-->L1735-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {541#true} is VALID [2022-02-20 20:36:28,825 INFO L290 TraceCheckUtils]: 50: Hoare triple {541#true} [254] L1735-1-->L1721: Formula: true InVars {} OutVars{ULTIMATE.start_module_exit_#t~nondet36#1.offset=|v_ULTIMATE.start_module_exit_#t~nondet36#1.offset_1|, ULTIMATE.start_module_exit_~#status~0#1.base=|v_ULTIMATE.start_module_exit_~#status~0#1.base_1|, ULTIMATE.start_module_exit_#t~mem35#1=|v_ULTIMATE.start_module_exit_#t~mem35#1_1|, ULTIMATE.start_module_exit_#t~nondet36#1.base=|v_ULTIMATE.start_module_exit_#t~nondet36#1.base_1|, ULTIMATE.start_module_exit_~#status~0#1.offset=|v_ULTIMATE.start_module_exit_~#status~0#1.offset_1|} AuxVars[] AssignedVars[ULTIMATE.start_module_exit_#t~mem35#1, ULTIMATE.start_module_exit_#t~nondet36#1.base, ULTIMATE.start_module_exit_#t~nondet36#1.offset, ULTIMATE.start_module_exit_~#status~0#1.base, ULTIMATE.start_module_exit_~#status~0#1.offset] {541#true} is VALID [2022-02-20 20:36:28,825 INFO L290 TraceCheckUtils]: 51: Hoare triple {541#true} [229] L1721-->L1721-1: Formula: (and (= (select |v_#valid_7| |v_ULTIMATE.start_module_exit_~#status~0#1.base_2|) 0) (= (store |v_#length_6| |v_ULTIMATE.start_module_exit_~#status~0#1.base_2| 4) |v_#length_5|) (= |v_ULTIMATE.start_module_exit_~#status~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_module_exit_~#status~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_module_exit_~#status~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_module_exit_~#status~0#1.base_2| 1))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_module_exit_~#status~0#1.base=|v_ULTIMATE.start_module_exit_~#status~0#1.base_2|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, ULTIMATE.start_module_exit_~#status~0#1.offset=|v_ULTIMATE.start_module_exit_~#status~0#1.offset_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_module_exit_~#status~0#1.base, #length, ULTIMATE.start_module_exit_~#status~0#1.offset] {541#true} is VALID [2022-02-20 20:36:28,826 INFO L290 TraceCheckUtils]: 52: Hoare triple {541#true} [256] L1721-1-->L1724: Formula: (= v_~pdev~0_7 4) InVars {} OutVars{~pdev~0=v_~pdev~0_7} AuxVars[] AssignedVars[~pdev~0] {543#(= ~pdev~0 4)} is VALID [2022-02-20 20:36:28,827 INFO L290 TraceCheckUtils]: 53: Hoare triple {543#(= ~pdev~0 4)} [193] L1724-->ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION: Formula: (and (= |v_ULTIMATE.start_ldv_assert_~expression#1_31| 0) (= |v_ULTIMATE.start_ldv_assert_~expression#1_31| |v_ULTIMATE.start_ldv_assert_#in~expression#1_15|) (= (ite (= v_~pdev~0_15 4) 1 0) |v_ULTIMATE.start_ldv_assert_#in~expression#1_15|)) InVars {~pdev~0=v_~pdev~0_15} OutVars{ULTIMATE.start_ldv_assert_~expression#1=|v_ULTIMATE.start_ldv_assert_~expression#1_31|, ~pdev~0=v_~pdev~0_15, ULTIMATE.start_ldv_assert_#in~expression#1=|v_ULTIMATE.start_ldv_assert_#in~expression#1_15|} AuxVars[] AssignedVars[ULTIMATE.start_ldv_assert_~expression#1, ULTIMATE.start_ldv_assert_#in~expression#1] {542#false} is VALID [2022-02-20 20:36:28,827 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:36:28,827 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:36:28,827 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1361848922] [2022-02-20 20:36:28,828 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1361848922] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:36:28,828 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:36:28,828 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 20:36:28,828 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [908949772] [2022-02-20 20:36:28,828 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:36:28,829 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 27.0) internal successors, (54), 3 states have internal predecessors, (54), 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 54 [2022-02-20 20:36:28,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:36:28,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 27.0) internal successors, (54), 3 states have internal predecessors, (54), 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:36:28,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:36:28,865 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 20:36:28,865 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:36:28,866 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 20:36:28,866 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 20:36:28,867 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 87 out of 106 [2022-02-20 20:36:28,868 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 97 places, 88 transitions, 240 flow. Second operand has 3 states, 3 states have (on average 89.0) internal successors, (267), 3 states have internal predecessors, (267), 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:36:28,868 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:36:28,868 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 87 of 106 [2022-02-20 20:36:28,868 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:36:28,907 INFO L129 PetriNetUnfolder]: 2/110 cut-off events. [2022-02-20 20:36:28,908 INFO L130 PetriNetUnfolder]: For 39/41 co-relation queries the response was YES. [2022-02-20 20:36:28,908 INFO L84 FinitePrefix]: Finished finitePrefix Result has 172 conditions, 110 events. 2/110 cut-off events. For 39/41 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 111 event pairs, 0 based on Foata normal form. 3/112 useless extension candidates. Maximal degree in co-relation 112. Up to 15 conditions per place. [2022-02-20 20:36:28,909 INFO L132 encePairwiseOnDemand]: 101/106 looper letters, 11 selfloop transitions, 5 changer transitions 11/90 dead transitions. [2022-02-20 20:36:28,909 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 99 places, 90 transitions, 283 flow [2022-02-20 20:36:28,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 20:36:28,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 20:36:28,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 279 transitions. [2022-02-20 20:36:28,913 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8773584905660378 [2022-02-20 20:36:28,914 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 279 transitions. [2022-02-20 20:36:28,914 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 279 transitions. [2022-02-20 20:36:28,914 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:36:28,914 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 279 transitions. [2022-02-20 20:36:28,915 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 93.0) internal successors, (279), 3 states have internal predecessors, (279), 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:36:28,916 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 106.0) internal successors, (424), 4 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:36:28,917 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 106.0) internal successors, (424), 4 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:36:28,917 INFO L186 Difference]: Start difference. First operand has 97 places, 88 transitions, 240 flow. Second operand 3 states and 279 transitions. [2022-02-20 20:36:28,917 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 99 places, 90 transitions, 283 flow [2022-02-20 20:36:28,920 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 94 places, 90 transitions, 265 flow, removed 1 selfloop flow, removed 5 redundant places. [2022-02-20 20:36:28,921 INFO L242 Difference]: Finished difference. Result has 96 places, 78 transitions, 212 flow [2022-02-20 20:36:28,922 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=106, PETRI_DIFFERENCE_MINUEND_FLOW=217, PETRI_DIFFERENCE_MINUEND_PLACES=92, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=87, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=82, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=212, PETRI_PLACES=96, PETRI_TRANSITIONS=78} [2022-02-20 20:36:28,922 INFO L334 CegarLoopForPetriNet]: 93 programPoint places, 3 predicate places. [2022-02-20 20:36:28,923 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 96 places, 78 transitions, 212 flow [2022-02-20 20:36:28,927 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 192 states, 190 states have (on average 1.568421052631579) internal successors, (298), 191 states have internal predecessors, (298), 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:36:28,928 INFO L78 Accepts]: Start accepts. Automaton has has 192 states, 190 states have (on average 1.568421052631579) internal successors, (298), 191 states have internal predecessors, (298), 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 54 [2022-02-20 20:36:28,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:36:28,928 INFO L470 AbstractCegarLoop]: Abstraction has has 96 places, 78 transitions, 212 flow [2022-02-20 20:36:28,929 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 89.0) internal successors, (267), 3 states have internal predecessors, (267), 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:36:28,929 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:36:28,929 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] [2022-02-20 20:36:28,929 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:36:28,929 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:36:28,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:36:28,930 INFO L85 PathProgramCache]: Analyzing trace with hash -771862539, now seen corresponding path program 1 times [2022-02-20 20:36:28,930 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:36:28,930 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [461999467] [2022-02-20 20:36:28,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:36:28,931 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:36:28,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:36:28,959 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 20:36:28,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:36:28,992 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 20:36:28,993 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 20:36:28,994 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION (4 of 5 remaining) [2022-02-20 20:36:28,995 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (3 of 5 remaining) [2022-02-20 20:36:28,995 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION (2 of 5 remaining) [2022-02-20 20:36:28,996 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION (1 of 5 remaining) [2022-02-20 20:36:28,996 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (0 of 5 remaining) [2022-02-20 20:36:28,996 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 20:36:28,999 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 20:36:29,003 INFO L230 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2022-02-20 20:36:29,003 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 20:36:29,041 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 08:36:29 BasicIcfg [2022-02-20 20:36:29,041 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 20:36:29,042 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 20:36:29,042 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 20:36:29,042 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 20:36:29,042 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:36:27" (3/4) ... [2022-02-20 20:36:29,044 INFO L131 WitnessPrinter]: Generating witness for reachability counterexample [2022-02-20 20:36:29,086 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 20:36:29,086 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 20:36:29,087 INFO L158 Benchmark]: Toolchain (without parser) took 3238.88ms. Allocated memory was 94.4MB in the beginning and 144.7MB in the end (delta: 50.3MB). Free memory was 71.1MB in the beginning and 102.3MB in the end (delta: -31.2MB). Peak memory consumption was 18.3MB. Max. memory is 16.1GB. [2022-02-20 20:36:29,090 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 94.4MB. Free memory was 70.4MB in the beginning and 70.3MB in the end (delta: 49.5kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 20:36:29,091 INFO L158 Benchmark]: CACSL2BoogieTranslator took 876.21ms. Allocated memory was 94.4MB in the beginning and 119.5MB in the end (delta: 25.2MB). Free memory was 70.8MB in the beginning and 78.1MB in the end (delta: -7.3MB). Peak memory consumption was 42.6MB. Max. memory is 16.1GB. [2022-02-20 20:36:29,092 INFO L158 Benchmark]: Boogie Procedure Inliner took 61.55ms. Allocated memory is still 119.5MB. Free memory was 78.1MB in the beginning and 75.1MB in the end (delta: 3.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 20:36:29,093 INFO L158 Benchmark]: Boogie Preprocessor took 38.97ms. Allocated memory is still 119.5MB. Free memory was 75.1MB in the beginning and 72.4MB in the end (delta: 2.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 20:36:29,093 INFO L158 Benchmark]: RCFGBuilder took 478.63ms. Allocated memory is still 119.5MB. Free memory was 72.4MB in the beginning and 52.3MB in the end (delta: 20.1MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. [2022-02-20 20:36:29,093 INFO L158 Benchmark]: TraceAbstraction took 1731.73ms. Allocated memory was 119.5MB in the beginning and 144.7MB in the end (delta: 25.2MB). Free memory was 52.1MB in the beginning and 108.9MB in the end (delta: -56.8MB). Peak memory consumption was 34.4MB. Max. memory is 16.1GB. [2022-02-20 20:36:29,095 INFO L158 Benchmark]: Witness Printer took 44.72ms. Allocated memory is still 144.7MB. Free memory was 108.9MB in the beginning and 102.3MB in the end (delta: 6.6MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 20:36:29,096 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 94.4MB. Free memory was 70.4MB in the beginning and 70.3MB in the end (delta: 49.5kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 876.21ms. Allocated memory was 94.4MB in the beginning and 119.5MB in the end (delta: 25.2MB). Free memory was 70.8MB in the beginning and 78.1MB in the end (delta: -7.3MB). Peak memory consumption was 42.6MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 61.55ms. Allocated memory is still 119.5MB. Free memory was 78.1MB in the beginning and 75.1MB in the end (delta: 3.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 38.97ms. Allocated memory is still 119.5MB. Free memory was 75.1MB in the beginning and 72.4MB in the end (delta: 2.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 478.63ms. Allocated memory is still 119.5MB. Free memory was 72.4MB in the beginning and 52.3MB in the end (delta: 20.1MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. * TraceAbstraction took 1731.73ms. Allocated memory was 119.5MB in the beginning and 144.7MB in the end (delta: 25.2MB). Free memory was 52.1MB in the beginning and 108.9MB in the end (delta: -56.8MB). Peak memory consumption was 34.4MB. Max. memory is 16.1GB. * Witness Printer took 44.72ms. Allocated memory is still 144.7MB. Free memory was 108.9MB in the beginning and 102.3MB in the end (delta: 6.6MB). Peak memory consumption was 6.3MB. 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: 1695]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L1696] 0 pthread_t t1; VAL [t1={3:0}] [L1697] 0 pthread_mutex_t mutex; VAL [mutex={4:0}, t1={3:0}] [L1698] 0 int pdev; VAL [mutex={4:0}, pdev=0, t1={3:0}] [L1734] CALL, EXPR 0 module_init() [L1709] 0 pdev = 1 VAL [mutex={4:0}, pdev=1, t1={3:0}] [L1710] CALL 0 ldv_assert(pdev==1) [L1695] COND FALSE 0 !(!expression) VAL [\old(expression)=1, expression=1, mutex={4:0}, pdev=1, t1={3:0}] [L1710] RET 0 ldv_assert(pdev==1) [L1711] COND TRUE 0 __VERIFIER_nondet_int() VAL [__VERIFIER_nondet_int()=1, mutex={4:0}, pdev=1, t1={3:0}] [L1712] FCALL, FORK 0 pthread_create(&t1, ((void *)0), thread1, ((void *)0)) VAL [arg={0:0}, mutex={4:0}, pdev=1, pthread_create(&t1, ((void *)0), thread1, ((void *)0))=-1, t1={3:0}] [L1713] 0 return 0; VAL [\result=0, arg={0:0}, mutex={4:0}, pdev=1, t1={3:0}] [L1734] RET, EXPR 0 module_init() [L1734] COND FALSE 0 !(module_init()!=0) VAL [arg={0:0}, module_init()=0, mutex={4:0}, pdev=1, t1={3:0}] [L1735] CALL 0 module_exit() [L1721] 0 void *status; VAL [arg={0:0}, mutex={4:0}, pdev=1, status={5:0}, t1={3:0}] [L1723] 0 pdev = 4 VAL [arg={0:0}, mutex={4:0}, pdev=4, status={5:0}, t1={3:0}] [L1702] 1 pdev = 6 VAL [arg={0:0}, arg={0:0}, mutex={4:0}, pdev=6, t1={3:0}] [L1726] CALL 0 ldv_assert(pdev==4) [L1695] COND TRUE 0 !expression [L1695] 0 reach_error() VAL [\old(expression)=0, arg={0:0}, arg={0:0}, expression=0, mutex={4:0}, pdev=6, t1={3:0}] - UnprovableResult [Line: 1695]: Unable to prove that call to reach_error is unreachable Unable to prove that call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 1695]: Unable to prove that call to reach_error is unreachable Unable to prove that call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 1695]: Unable to prove that call to reach_error is unreachable Unable to prove that call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 1712]: 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 3 procedures, 111 locations, 5 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.5s, OverallIterations: 4, TraceHistogramMax: 1, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 48 SdHoareTripleChecker+Valid, 0.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 48 mSDsluCounter, 81 SdHoareTripleChecker+Invalid, 0.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 56 mSDsCounter, 9 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 84 IncrementalHoareTripleChecker+Invalid, 93 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 9 mSolverCounterUnsat, 43 mSDtfsCounter, 84 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 19 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=240occurred in iteration=2, InterpolantAutomatonStates: 17, 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, 190 NumberOfCodeBlocks, 190 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 129 ConstructedInterpolants, 0 QuantifiedInterpolants, 157 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-02-20 20:36:29,140 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE