./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread/stateful01-2.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 8bd4bc60 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.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/pthread/stateful01-2.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(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a4a47048478df3e0b96f55978373f0c6fcefc18a ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 20:17:20,758 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 20:17:20,762 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 20:17:20,774 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 20:17:20,775 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 20:17:20,776 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 20:17:20,778 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 20:17:20,780 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 20:17:20,781 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 20:17:20,782 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 20:17:20,784 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 20:17:20,785 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 20:17:20,785 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 20:17:20,786 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 20:17:20,787 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 20:17:20,789 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 20:17:20,789 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 20:17:20,791 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 20:17:20,792 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 20:17:20,795 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 20:17:20,796 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 20:17:20,797 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 20:17:20,799 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 20:17:20,799 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 20:17:20,802 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 20:17:20,802 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 20:17:20,803 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 20:17:20,804 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 20:17:20,804 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 20:17:20,805 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 20:17:20,805 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 20:17:20,806 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 20:17:20,807 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 20:17:20,808 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 20:17:20,809 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 20:17:20,809 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 20:17:20,810 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 20:17:20,810 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 20:17:20,811 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 20:17:20,812 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 20:17:20,812 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 20:17:20,813 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-28 20:17:20,828 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 20:17:20,828 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 20:17:20,829 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 20:17:20,830 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 20:17:20,830 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 20:17:20,830 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 20:17:20,831 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 20:17:20,831 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 20:17:20,831 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 20:17:20,831 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 20:17:20,832 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 20:17:20,832 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 20:17:20,832 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 20:17:20,833 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 20:17:20,833 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 20:17:20,833 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 20:17:20,833 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 20:17:20,834 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 20:17:20,834 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 20:17:20,834 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 20:17:20,835 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 20:17:20,835 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 20:17:20,835 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 20:17:20,835 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 20:17:20,836 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 20:17:20,836 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 20:17:20,836 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 20:17:20,836 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 20:17:20,837 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 20:17:20,837 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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(__VERIFIER_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 -> a4a47048478df3e0b96f55978373f0c6fcefc18a [2020-07-28 20:17:21,132 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 20:17:21,149 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 20:17:21,153 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 20:17:21,155 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 20:17:21,155 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 20:17:21,156 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread/stateful01-2.i [2020-07-28 20:17:21,228 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ca45f1a10/c8b986d839d14a2f8946540ffc241f8b/FLAG59bf2e6d8 [2020-07-28 20:17:21,769 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 20:17:21,770 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread/stateful01-2.i [2020-07-28 20:17:21,786 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ca45f1a10/c8b986d839d14a2f8946540ffc241f8b/FLAG59bf2e6d8 [2020-07-28 20:17:22,075 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ca45f1a10/c8b986d839d14a2f8946540ffc241f8b [2020-07-28 20:17:22,079 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 20:17:22,082 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 20:17:22,083 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 20:17:22,084 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 20:17:22,088 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 20:17:22,091 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,095 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@17def24 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22, skipping insertion in model container [2020-07-28 20:17:22,095 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,105 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 20:17:22,164 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 20:17:22,586 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 20:17:22,723 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 20:17:22,810 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 20:17:22,898 INFO L208 MainTranslator]: Completed translation [2020-07-28 20:17:22,898 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22 WrapperNode [2020-07-28 20:17:22,899 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 20:17:22,899 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 20:17:22,900 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 20:17:22,900 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 20:17:22,909 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,927 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,955 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 20:17:22,955 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 20:17:22,956 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 20:17:22,956 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 20:17:22,965 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,966 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,969 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,969 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,978 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,980 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,983 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... [2020-07-28 20:17:22,986 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 20:17:22,986 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 20:17:22,987 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 20:17:22,987 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 20:17:22,988 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 20:17:23,062 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-28 20:17:23,062 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2020-07-28 20:17:23,063 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2020-07-28 20:17:23,064 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2020-07-28 20:17:23,064 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2020-07-28 20:17:23,064 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-28 20:17:23,064 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2020-07-28 20:17:23,064 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-28 20:17:23,065 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-28 20:17:23,065 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2020-07-28 20:17:23,066 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 20:17:23,066 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 20:17:23,068 WARN L205 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2020-07-28 20:17:23,586 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 20:17:23,587 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-28 20:17:23,590 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 08:17:23 BoogieIcfgContainer [2020-07-28 20:17:23,591 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 20:17:23,592 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 20:17:23,592 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 20:17:23,595 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 20:17:23,595 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 08:17:22" (1/3) ... [2020-07-28 20:17:23,596 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38c20f56 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 08:17:23, skipping insertion in model container [2020-07-28 20:17:23,596 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 08:17:22" (2/3) ... [2020-07-28 20:17:23,597 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38c20f56 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 08:17:23, skipping insertion in model container [2020-07-28 20:17:23,597 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 08:17:23" (3/3) ... [2020-07-28 20:17:23,599 INFO L109 eAbstractionObserver]: Analyzing ICFG stateful01-2.i [2020-07-28 20:17:23,609 WARN L146 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2020-07-28 20:17:23,609 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 20:17:23,617 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 20:17:23,618 INFO L340 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2020-07-28 20:17:23,655 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,656 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,656 WARN L313 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,657 WARN L313 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,658 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,658 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,659 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,659 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,660 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,661 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,661 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,661 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,662 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,662 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,663 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,665 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,666 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,666 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,666 WARN L313 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,667 WARN L313 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,667 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,668 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,669 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,670 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,671 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,671 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,679 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,679 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~nondet2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,679 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,680 WARN L313 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,680 WARN L313 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,681 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,681 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,681 WARN L313 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,689 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,689 WARN L313 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,690 WARN L313 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,690 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,690 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~nondet7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,690 WARN L313 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2020-07-28 20:17:23,723 INFO L251 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2020-07-28 20:17:23,747 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 20:17:23,747 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 20:17:23,747 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 20:17:23,748 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 20:17:23,748 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 20:17:23,749 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 20:17:23,749 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 20:17:23,749 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 20:17:23,773 INFO L152 etLargeBlockEncoding]: Starting large block encoding on Petri net that has 82 places, 78 transitions, 178 flow [2020-07-28 20:17:23,775 INFO L71 FinitePrefix]: Start finitePrefix. Operand has 82 places, 78 transitions, 178 flow [2020-07-28 20:17:23,825 INFO L129 PetriNetUnfolder]: 2/78 cut-off events. [2020-07-28 20:17:23,826 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2020-07-28 20:17:23,830 INFO L80 FinitePrefix]: Finished finitePrefix Result has 89 conditions, 78 events. 2/78 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 48 event pairs, 0 based on Foata normal form. 0/76 useless extension candidates. Maximal degree in co-relation 27. Up to 3 conditions per place. [2020-07-28 20:17:23,833 INFO L71 FinitePrefix]: Start finitePrefix. Operand has 82 places, 78 transitions, 178 flow [2020-07-28 20:17:23,863 INFO L129 PetriNetUnfolder]: 2/78 cut-off events. [2020-07-28 20:17:23,863 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2020-07-28 20:17:23,864 INFO L80 FinitePrefix]: Finished finitePrefix Result has 89 conditions, 78 events. 2/78 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 48 event pairs, 0 based on Foata normal form. 0/76 useless extension candidates. Maximal degree in co-relation 27. Up to 3 conditions per place. [2020-07-28 20:17:23,866 INFO L158 etLargeBlockEncoding]: Number of co-enabled transitions 680 [2020-07-28 20:17:23,867 INFO L170 etLargeBlockEncoding]: Semantic Check. [2020-07-28 20:17:26,061 WARN L193 SmtUtils]: Spent 144.00 ms on a formula simplification. DAG size of input: 68 DAG size of output: 66 [2020-07-28 20:17:26,633 WARN L193 SmtUtils]: Spent 455.00 ms on a formula simplification. DAG size of input: 111 DAG size of output: 107 [2020-07-28 20:17:26,832 WARN L193 SmtUtils]: Spent 173.00 ms on a formula simplification that was a NOOP. DAG size: 103 [2020-07-28 20:17:26,855 INFO L206 etLargeBlockEncoding]: Checked pairs total: 1930 [2020-07-28 20:17:26,855 INFO L214 etLargeBlockEncoding]: Total number of compositions: 52 [2020-07-28 20:17:26,859 INFO L100 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 35 places, 30 transitions, 82 flow [2020-07-28 20:17:26,878 INFO L122 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result 198 states. [2020-07-28 20:17:26,881 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states. [2020-07-28 20:17:26,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-28 20:17:26,893 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 20:17:26,894 INFO L422 BasicCegarLoop]: 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] [2020-07-28 20:17:26,894 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 20:17:26,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 20:17:26,901 INFO L82 PathProgramCache]: Analyzing trace with hash 535203952, now seen corresponding path program 1 times [2020-07-28 20:17:26,911 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 20:17:26,912 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2131828064] [2020-07-28 20:17:26,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 20:17:27,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 20:17:27,155 INFO L280 TraceCheckUtils]: 0: Hoare triple {481#true} [239] ULTIMATE.startENTRY-->L702-1: Formula: (let ((.cse4 (store |v_#valid_60| 0 0))) (let ((.cse3 (store .cse4 |v_~#ma~0.base_100| 1))) (let ((.cse5 (store .cse3 |v_~#mb~0.base_21| 1))) (let ((.cse1 (store .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25| 1)) (.cse2 (select |v_#memory_int_42| |v_~#ma~0.base_100|)) (.cse0 (select |v_#memory_int_42| |v_~#mb~0.base_21|))) (and (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 4))) (= 0 (select .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21|)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 4))) (= 0 (select .cse3 |v_~#mb~0.base_21|)) (= 0 (select .cse4 |v_~#ma~0.base_100|)) (= 0 |v_ULTIMATE.start_main_~#t2~0.offset_17|) (= 0 (select .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25|)) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 8))) (= 0 |v_#NULL.base_6|) (= 10 v_~data2~0_52) (= (let ((.cse6 (store |v_#pthreadsMutex_247| |v_~#ma~0.base_100| (store (select |v_#pthreadsMutex_247| |v_~#ma~0.base_100|) |v_~#ma~0.offset_100| 0)))) (store .cse6 |v_~#mb~0.base_21| (store (select .cse6 |v_~#mb~0.base_21|) |v_~#mb~0.offset_21| 0))) |v_#pthreadsMutex_246|) (= 0 |v_#NULL.offset_6|) (= 0 |v_~#mb~0.offset_21|) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 12))) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t2~0.base_21|) (< |v_#StackHeapBarrier_18| |v_~#mb~0.base_21|) (< 0 |v_#StackHeapBarrier_18|) (= |v_#valid_58| (store .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21| 1)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 16))) (= (store (store (store (store |v_#length_35| |v_~#ma~0.base_100| 24) |v_~#mb~0.base_21| 24) |v_ULTIMATE.start_main_~#t1~0.base_25| 4) |v_ULTIMATE.start_main_~#t2~0.base_21| 4) |v_#length_33|) (= 0 (select .cse0 |v_~#mb~0.offset_21|)) (= 10 v_~data1~0_52) (= 0 |v_ULTIMATE.start_main_~#t1~0.offset_21|) (= (store |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25| (store (select |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25|) |v_ULTIMATE.start_main_~#t1~0.offset_21| 0)) |v_#memory_int_41|) (< |v_#StackHeapBarrier_18| |v_~#ma~0.base_100|) (= |v_~#ma~0.offset_100| 0) (= (select .cse2 (+ |v_~#ma~0.offset_100| 12)) 0) (= 0 (select .cse2 |v_~#ma~0.offset_100|)) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t1~0.base_25|) (= (select .cse2 (+ |v_~#ma~0.offset_100| 8)) 0) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 16)))))))) InVars {#pthreadsMutex=|v_#pthreadsMutex_247|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, #valid=|v_#valid_60|, #memory_int=|v_#memory_int_42|, #length=|v_#length_35|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_13|, #pthreadsMutex=|v_#pthreadsMutex_246|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_12|, ~#mb~0.offset=|v_~#mb~0.offset_21|, ~data2~0=v_~data2~0_52, ~data1~0=v_~data1~0_52, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_17|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_8|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_8|, #NULL.offset=|v_#NULL.offset_6|, #NULL.base=|v_#NULL.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_100|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_25|, ~#mb~0.base=|v_~#mb~0.base_21|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, ~#ma~0.base=|v_~#ma~0.base_100|, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_18|, #valid=|v_#valid_58|, #memory_int=|v_#memory_int_41|, #length=|v_#length_33|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_21|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_21|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, #pthreadsMutex, ULTIMATE.start_main_#t~mem11, ~#mb~0.offset, ~data2~0, ~data1~0, ULTIMATE.start_main_~#t2~0.offset, ULTIMATE.start_main_#t~nondet8, ULTIMATE.start_main_#t~nondet9, #NULL.offset, #NULL.base, ~#ma~0.offset, ULTIMATE.start_main_~#t1~0.base, ~#mb~0.base, ~#ma~0.base, ULTIMATE.start_main_#res, #valid, #memory_int, #length, ULTIMATE.start_main_~#t1~0.offset, ULTIMATE.start_main_~#t2~0.base] {481#true} is VALID [2020-07-28 20:17:27,156 INFO L280 TraceCheckUtils]: 1: Hoare triple {481#true} [182] L702-1-->thread1ENTRY: Formula: (and (= 0 v_thread1Thread1of1ForFork0_thidvar0_2) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.offset_3|) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.base_3|)) InVars {} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_4|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_4|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_3|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_3|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_3, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_3, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_5|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_3|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#in~arg.base, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base, thread1Thread1of1ForFork0_#t~post3, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#t~post5, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_#in~arg.offset] {481#true} is VALID [2020-07-28 20:17:27,156 INFO L280 TraceCheckUtils]: 2: Hoare triple {481#true} [215] L702-2-->L703-1: Formula: (= (store |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11| (store (select |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11|) |v_ULTIMATE.start_main_~#t2~0.offset_10| 1)) |v_#memory_int_25|) InVars {#memory_int=|v_#memory_int_26|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} OutVars{#memory_int=|v_#memory_int_25|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_4|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} AuxVars[] AssignedVars[#memory_int, ULTIMATE.start_main_#t~nondet8] {481#true} is VALID [2020-07-28 20:17:27,157 INFO L280 TraceCheckUtils]: 3: Hoare triple {481#true} [184] L703-1-->thread2ENTRY: Formula: (and (= 1 v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.offset_3|) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.base_3|)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_3|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_3, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_3|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_3, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_3|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_4|, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_4|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_3|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_#in~arg.offset, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_#t~nondet7, thread2Thread1of1ForFork1_#t~nondet6, thread2Thread1of1ForFork1_#in~arg.base, thread2Thread1of1ForFork1_thidvar0] {481#true} is VALID [2020-07-28 20:17:27,159 INFO L280 TraceCheckUtils]: 4: Hoare triple {481#true} [225] thread2ENTRY-->L688: Formula: (let ((.cse0 (select |v_#pthreadsMutex_148| |v_~#ma~0.base_63|))) (and (= |v_thread2Thread1of1ForFork1_#in~arg.base_4| v_thread2Thread1of1ForFork1_~arg.base_4) (= |v_#pthreadsMutex_147| (store |v_#pthreadsMutex_148| |v_~#ma~0.base_63| (store .cse0 |v_~#ma~0.offset_63| 1))) (= v_thread2Thread1of1ForFork1_~arg.offset_4 |v_thread2Thread1of1ForFork1_#in~arg.offset_4|) (= 0 (select .cse0 |v_~#ma~0.offset_63|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_148|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_147|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_4, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_4, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_15|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#t~nondet6] {483#(= 1 (select (select |#pthreadsMutex| |~#ma~0.base|) |~#ma~0.offset|))} is VALID [2020-07-28 20:17:27,160 INFO L280 TraceCheckUtils]: 5: Hoare triple {483#(= 1 (select (select |#pthreadsMutex| |~#ma~0.base|) |~#ma~0.offset|))} [173] L688-->L689: Formula: (= v_~data1~0_3 (+ v_~data1~0_4 5)) InVars {~data1~0=v_~data1~0_4} OutVars{~data1~0=v_~data1~0_3} AuxVars[] AssignedVars[~data1~0] {483#(= 1 (select (select |#pthreadsMutex| |~#ma~0.base|) |~#ma~0.offset|))} is VALID [2020-07-28 20:17:27,161 INFO L280 TraceCheckUtils]: 6: Hoare triple {483#(= 1 (select (select |#pthreadsMutex| |~#ma~0.base|) |~#ma~0.offset|))} [189] thread1ENTRY-->L677-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_22| |v_~#ma~0.base_16|))) (and (= (store |v_#pthreadsMutex_22| |v_~#ma~0.base_16| (store .cse0 |v_~#ma~0.offset_16| 1)) |v_#pthreadsMutex_21|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet2_5|) (= |v_thread1Thread1of1ForFork0_#in~arg.offset_4| v_thread1Thread1of1ForFork0_~arg.offset_4) (= |v_thread1Thread1of1ForFork0_#in~arg.base_4| v_thread1Thread1of1ForFork0_~arg.base_4) (= (select .cse0 |v_~#ma~0.offset_16|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_22|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_21|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_5|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_4, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_4, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base] {482#false} is VALID [2020-07-28 20:17:27,161 INFO L280 TraceCheckUtils]: 7: Hoare triple {482#false} [213] L677-1-->L678-1: Formula: (= v_~data1~0_23 |v_thread1Thread1of1ForFork0_#t~post3_12|) InVars {~data1~0=v_~data1~0_23} OutVars{thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_6|, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_12|, ~data1~0=v_~data1~0_23} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#t~post3] {482#false} is VALID [2020-07-28 20:17:27,162 INFO L280 TraceCheckUtils]: 8: Hoare triple {482#false} [206] L703-2-->L704-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10_8| (select (select |v_#memory_int_20| |v_ULTIMATE.start_main_~#t1~0.base_9|) |v_ULTIMATE.start_main_~#t1~0.offset_9|)) InVars {ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_8|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_3|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, ULTIMATE.start_main_#t~nondet9] {482#false} is VALID [2020-07-28 20:17:27,162 INFO L280 TraceCheckUtils]: 9: Hoare triple {482#false} [174] L689-->L690: Formula: (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#ma~0.base_6| (store (select |v_#pthreadsMutex_12| |v_~#ma~0.base_6|) |v_~#ma~0.offset_6| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_12|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_11|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} AuxVars[] AssignedVars[#pthreadsMutex] {482#false} is VALID [2020-07-28 20:17:27,163 INFO L280 TraceCheckUtils]: 10: Hoare triple {482#false} [194] L690-->L691: Formula: (let ((.cse0 (select |v_#pthreadsMutex_32| |v_~#ma~0.base_19|))) (and (= |v_#pthreadsMutex_31| (store |v_#pthreadsMutex_32| |v_~#ma~0.base_19| (store .cse0 |v_~#ma~0.offset_19| 1))) (= 0 (select .cse0 |v_~#ma~0.offset_19|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_32|, ~#ma~0.base=|v_~#ma~0.base_19|, ~#ma~0.offset=|v_~#ma~0.offset_19|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_31|, ~#ma~0.base=|v_~#ma~0.base_19|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_7|, ~#ma~0.offset=|v_~#ma~0.offset_19|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_#t~nondet7] {482#false} is VALID [2020-07-28 20:17:27,163 INFO L280 TraceCheckUtils]: 11: Hoare triple {482#false} [177] L691-->L692: Formula: (= v_~data2~0_3 (+ v_~data2~0_4 (- 6))) InVars {~data2~0=v_~data2~0_4} OutVars{~data2~0=v_~data2~0_3} AuxVars[] AssignedVars[~data2~0] {482#false} is VALID [2020-07-28 20:17:27,163 INFO L280 TraceCheckUtils]: 12: Hoare triple {482#false} [224] L692-->thread2EXIT: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.offset_5| 0) (= 0 |v_thread2Thread1of1ForFork1_#res.base_5|) (= |v_#pthreadsMutex_145| (store |v_#pthreadsMutex_146| |v_~#ma~0.base_62| (store (select |v_#pthreadsMutex_146| |v_~#ma~0.base_62|) |v_~#ma~0.offset_62| 0)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_146|, ~#ma~0.base=|v_~#ma~0.base_62|, ~#ma~0.offset=|v_~#ma~0.offset_62|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_5|, #pthreadsMutex=|v_#pthreadsMutex_145|, ~#ma~0.base=|v_~#ma~0.base_62|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_5|, ~#ma~0.offset=|v_~#ma~0.offset_62|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, #pthreadsMutex, thread2Thread1of1ForFork1_#res.base] {482#false} is VALID [2020-07-28 20:17:27,164 INFO L280 TraceCheckUtils]: 13: Hoare triple {482#false} [186] thread2EXIT-->L704-2: Formula: (= |v_ULTIMATE.start_main_#t~mem10_7| v_thread2Thread1of1ForFork1_thidvar0_4) InVars {ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4} AuxVars[] AssignedVars[] {482#false} is VALID [2020-07-28 20:17:27,164 INFO L280 TraceCheckUtils]: 14: Hoare triple {482#false} [128] L704-2-->L705: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10] {482#false} is VALID [2020-07-28 20:17:27,164 INFO L280 TraceCheckUtils]: 15: Hoare triple {482#false} [85] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11_2| (select (select |v_#memory_int_16| |v_ULTIMATE.start_main_~#t2~0.base_6|) |v_ULTIMATE.start_main_~#t2~0.offset_6|)) InVars {ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_2|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {482#false} is VALID [2020-07-28 20:17:27,165 INFO L280 TraceCheckUtils]: 16: Hoare triple {482#false} [190] L678-1-->L679: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post3_9| 1) v_~data1~0_14) InVars {thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_9|} OutVars{thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_8|, ~data1~0=v_~data1~0_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post3, ~data1~0] {482#false} is VALID [2020-07-28 20:17:27,165 INFO L280 TraceCheckUtils]: 17: Hoare triple {482#false} [161] L679-->L680: Formula: (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#ma~0.base_2| (store (select |v_#pthreadsMutex_4| |v_~#ma~0.base_2|) |v_~#ma~0.offset_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} AuxVars[] AssignedVars[#pthreadsMutex] {482#false} is VALID [2020-07-28 20:17:27,166 INFO L280 TraceCheckUtils]: 18: Hoare triple {482#false} [162] L680-->L680-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_6| |v_~#ma~0.base_3|))) (and (= (store |v_#pthreadsMutex_6| |v_~#ma~0.base_3| (store .cse0 |v_~#ma~0.offset_3| 1)) |v_#pthreadsMutex_5|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet4_1|) (= 0 (select .cse0 |v_~#ma~0.offset_3|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_6|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_1|, #pthreadsMutex=|v_#pthreadsMutex_5|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, #pthreadsMutex] {482#false} is VALID [2020-07-28 20:17:27,166 INFO L280 TraceCheckUtils]: 19: Hoare triple {482#false} [199] L680-1-->L681-1: Formula: (= v_~data2~0_9 |v_thread1Thread1of1ForFork0_#t~post5_6|) InVars {~data2~0=v_~data2~0_9} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_5|, ~data2~0=v_~data2~0_9, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~post5] {482#false} is VALID [2020-07-28 20:17:27,166 INFO L280 TraceCheckUtils]: 20: Hoare triple {482#false} [202] L681-1-->L682: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post5_10| 1) v_~data2~0_15) InVars {thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_10|} OutVars{~data2~0=v_~data2~0_15, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_9|} AuxVars[] AssignedVars[~data2~0, thread1Thread1of1ForFork0_#t~post5] {482#false} is VALID [2020-07-28 20:17:27,167 INFO L280 TraceCheckUtils]: 21: Hoare triple {482#false} [220] L682-->thread1EXIT: Formula: (and (= (store |v_#pthreadsMutex_102| |v_~#ma~0.base_47| (store (select |v_#pthreadsMutex_102| |v_~#ma~0.base_47|) |v_~#ma~0.offset_47| 0)) |v_#pthreadsMutex_101|) (= 0 |v_thread1Thread1of1ForFork0_#res.offset_5|) (= 0 |v_thread1Thread1of1ForFork0_#res.base_5|)) InVars {#pthreadsMutex=|v_#pthreadsMutex_102|, ~#ma~0.base=|v_~#ma~0.base_47|, ~#ma~0.offset=|v_~#ma~0.offset_47|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_101|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_5|, ~#ma~0.base=|v_~#ma~0.base_47|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_5|, ~#ma~0.offset=|v_~#ma~0.offset_47|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {482#false} is VALID [2020-07-28 20:17:27,167 INFO L280 TraceCheckUtils]: 22: Hoare triple {482#false} [187] thread1EXIT-->L705-2: Formula: (= |v_ULTIMATE.start_main_#t~mem11_5| v_thread1Thread1of1ForFork0_thidvar0_6) InVars {ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_6} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_6} AuxVars[] AssignedVars[] {482#false} is VALID [2020-07-28 20:17:27,168 INFO L280 TraceCheckUtils]: 23: Hoare triple {482#false} [90] L705-2-->L706: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {482#false} is VALID [2020-07-28 20:17:27,168 INFO L280 TraceCheckUtils]: 24: Hoare triple {482#false} [212] L706-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: (and (not (= 16 v_~data1~0_22)) (not (= 5 v_~data2~0_19))) InVars {~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} OutVars{~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} AuxVars[] AssignedVars[] {482#false} is VALID [2020-07-28 20:17:27,172 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 20:17:27,173 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2131828064] [2020-07-28 20:17:27,174 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 20:17:27,174 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-28 20:17:27,175 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [749591707] [2020-07-28 20:17:27,181 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 25 [2020-07-28 20:17:27,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 20:17:27,187 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-28 20:17:27,232 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:27,232 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-28 20:17:27,233 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 20:17:27,240 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-28 20:17:27,241 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 20:17:27,243 INFO L87 Difference]: Start difference. First operand 198 states. Second operand 3 states. [2020-07-28 20:17:27,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:27,388 INFO L93 Difference]: Finished difference Result 150 states and 254 transitions. [2020-07-28 20:17:27,388 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-28 20:17:27,388 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 25 [2020-07-28 20:17:27,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 20:17:27,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 20:17:27,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2020-07-28 20:17:27,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 20:17:27,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2020-07-28 20:17:27,398 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 39 transitions. [2020-07-28 20:17:27,446 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:27,465 INFO L225 Difference]: With dead ends: 150 [2020-07-28 20:17:27,465 INFO L226 Difference]: Without dead ends: 149 [2020-07-28 20:17:27,469 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 20:17:27,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2020-07-28 20:17:27,504 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,506 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,506 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,506 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,507 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,507 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,507 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,508 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,508 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,508 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,509 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,509 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,509 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,510 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,510 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,510 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,510 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,511 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,511 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,511 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,512 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,512 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,512 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,513 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,513 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,513 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,514 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,514 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,514 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,515 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,515 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,515 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,516 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,516 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,516 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,517 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,517 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,517 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,517 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,518 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,518 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,518 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,519 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,519 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,519 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,520 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,520 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,520 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,521 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,521 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,521 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,521 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,522 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,522 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,522 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,523 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,523 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,523 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,524 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,524 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,524 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,525 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,525 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,525 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,526 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,526 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,526 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,527 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,527 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,527 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,528 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,528 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,528 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,528 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,529 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,529 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,529 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,530 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,530 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,530 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,531 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,531 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,531 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,532 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,532 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,532 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,533 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,533 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,533 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,534 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,534 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,534 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,535 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,535 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,535 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,536 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,536 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,536 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,537 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,537 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,537 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,538 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,538 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,538 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,539 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,539 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,539 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,540 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,540 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,540 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,541 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,541 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,541 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,541 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,542 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,542 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,542 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,543 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,543 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,543 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,544 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,544 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,544 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,545 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,545 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,545 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,545 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,546 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,546 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,547 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,547 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,547 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,547 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,548 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,548 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,548 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,549 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,549 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,550 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,550 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,550 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,550 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,551 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,551 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,551 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,552 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,552 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,552 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,553 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:27,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 149. [2020-07-28 20:17:27,554 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 20:17:27,555 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand 149 states. [2020-07-28 20:17:27,555 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand 149 states. [2020-07-28 20:17:27,556 INFO L87 Difference]: Start difference. First operand 149 states. Second operand 149 states. [2020-07-28 20:17:27,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:27,567 INFO L93 Difference]: Finished difference Result 149 states and 253 transitions. [2020-07-28 20:17:27,568 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 253 transitions. [2020-07-28 20:17:27,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:27,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:27,570 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand 149 states. [2020-07-28 20:17:27,570 INFO L87 Difference]: Start difference. First operand 149 states. Second operand 149 states. [2020-07-28 20:17:27,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:27,581 INFO L93 Difference]: Finished difference Result 149 states and 253 transitions. [2020-07-28 20:17:27,581 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 253 transitions. [2020-07-28 20:17:27,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:27,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:27,584 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 20:17:27,584 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 20:17:27,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 149 states. [2020-07-28 20:17:27,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 253 transitions. [2020-07-28 20:17:27,594 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 253 transitions. Word has length 25 [2020-07-28 20:17:27,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 20:17:27,595 INFO L479 AbstractCegarLoop]: Abstraction has 149 states and 253 transitions. [2020-07-28 20:17:27,595 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-28 20:17:27,595 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 253 transitions. [2020-07-28 20:17:27,597 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-28 20:17:27,597 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 20:17:27,597 INFO L422 BasicCegarLoop]: 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] [2020-07-28 20:17:27,597 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 20:17:27,598 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 20:17:27,598 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 20:17:27,598 INFO L82 PathProgramCache]: Analyzing trace with hash 1346228208, now seen corresponding path program 2 times [2020-07-28 20:17:27,599 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 20:17:27,599 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1045427123] [2020-07-28 20:17:27,599 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 20:17:27,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 20:17:27,799 INFO L280 TraceCheckUtils]: 0: Hoare triple {1232#true} [239] ULTIMATE.startENTRY-->L702-1: Formula: (let ((.cse4 (store |v_#valid_60| 0 0))) (let ((.cse3 (store .cse4 |v_~#ma~0.base_100| 1))) (let ((.cse5 (store .cse3 |v_~#mb~0.base_21| 1))) (let ((.cse1 (store .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25| 1)) (.cse2 (select |v_#memory_int_42| |v_~#ma~0.base_100|)) (.cse0 (select |v_#memory_int_42| |v_~#mb~0.base_21|))) (and (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 4))) (= 0 (select .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21|)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 4))) (= 0 (select .cse3 |v_~#mb~0.base_21|)) (= 0 (select .cse4 |v_~#ma~0.base_100|)) (= 0 |v_ULTIMATE.start_main_~#t2~0.offset_17|) (= 0 (select .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25|)) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 8))) (= 0 |v_#NULL.base_6|) (= 10 v_~data2~0_52) (= (let ((.cse6 (store |v_#pthreadsMutex_247| |v_~#ma~0.base_100| (store (select |v_#pthreadsMutex_247| |v_~#ma~0.base_100|) |v_~#ma~0.offset_100| 0)))) (store .cse6 |v_~#mb~0.base_21| (store (select .cse6 |v_~#mb~0.base_21|) |v_~#mb~0.offset_21| 0))) |v_#pthreadsMutex_246|) (= 0 |v_#NULL.offset_6|) (= 0 |v_~#mb~0.offset_21|) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 12))) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t2~0.base_21|) (< |v_#StackHeapBarrier_18| |v_~#mb~0.base_21|) (< 0 |v_#StackHeapBarrier_18|) (= |v_#valid_58| (store .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21| 1)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 16))) (= (store (store (store (store |v_#length_35| |v_~#ma~0.base_100| 24) |v_~#mb~0.base_21| 24) |v_ULTIMATE.start_main_~#t1~0.base_25| 4) |v_ULTIMATE.start_main_~#t2~0.base_21| 4) |v_#length_33|) (= 0 (select .cse0 |v_~#mb~0.offset_21|)) (= 10 v_~data1~0_52) (= 0 |v_ULTIMATE.start_main_~#t1~0.offset_21|) (= (store |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25| (store (select |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25|) |v_ULTIMATE.start_main_~#t1~0.offset_21| 0)) |v_#memory_int_41|) (< |v_#StackHeapBarrier_18| |v_~#ma~0.base_100|) (= |v_~#ma~0.offset_100| 0) (= (select .cse2 (+ |v_~#ma~0.offset_100| 12)) 0) (= 0 (select .cse2 |v_~#ma~0.offset_100|)) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t1~0.base_25|) (= (select .cse2 (+ |v_~#ma~0.offset_100| 8)) 0) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 16)))))))) InVars {#pthreadsMutex=|v_#pthreadsMutex_247|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, #valid=|v_#valid_60|, #memory_int=|v_#memory_int_42|, #length=|v_#length_35|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_13|, #pthreadsMutex=|v_#pthreadsMutex_246|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_12|, ~#mb~0.offset=|v_~#mb~0.offset_21|, ~data2~0=v_~data2~0_52, ~data1~0=v_~data1~0_52, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_17|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_8|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_8|, #NULL.offset=|v_#NULL.offset_6|, #NULL.base=|v_#NULL.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_100|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_25|, ~#mb~0.base=|v_~#mb~0.base_21|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, ~#ma~0.base=|v_~#ma~0.base_100|, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_18|, #valid=|v_#valid_58|, #memory_int=|v_#memory_int_41|, #length=|v_#length_33|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_21|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_21|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, #pthreadsMutex, ULTIMATE.start_main_#t~mem11, ~#mb~0.offset, ~data2~0, ~data1~0, ULTIMATE.start_main_~#t2~0.offset, ULTIMATE.start_main_#t~nondet8, ULTIMATE.start_main_#t~nondet9, #NULL.offset, #NULL.base, ~#ma~0.offset, ULTIMATE.start_main_~#t1~0.base, ~#mb~0.base, ~#ma~0.base, ULTIMATE.start_main_#res, #valid, #memory_int, #length, ULTIMATE.start_main_~#t1~0.offset, ULTIMATE.start_main_~#t2~0.base] {1232#true} is VALID [2020-07-28 20:17:27,801 INFO L280 TraceCheckUtils]: 1: Hoare triple {1232#true} [182] L702-1-->thread1ENTRY: Formula: (and (= 0 v_thread1Thread1of1ForFork0_thidvar0_2) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.offset_3|) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.base_3|)) InVars {} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_4|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_4|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_3|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_3|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_3, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_3, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_5|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_3|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#in~arg.base, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base, thread1Thread1of1ForFork0_#t~post3, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#t~post5, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_#in~arg.offset] {1234#(= 0 thread1Thread1of1ForFork0_thidvar0)} is VALID [2020-07-28 20:17:27,802 INFO L280 TraceCheckUtils]: 2: Hoare triple {1234#(= 0 thread1Thread1of1ForFork0_thidvar0)} [215] L702-2-->L703-1: Formula: (= (store |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11| (store (select |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11|) |v_ULTIMATE.start_main_~#t2~0.offset_10| 1)) |v_#memory_int_25|) InVars {#memory_int=|v_#memory_int_26|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} OutVars{#memory_int=|v_#memory_int_25|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_4|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} AuxVars[] AssignedVars[#memory_int, ULTIMATE.start_main_#t~nondet8] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,802 INFO L280 TraceCheckUtils]: 3: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [184] L703-1-->thread2ENTRY: Formula: (and (= 1 v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.offset_3|) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.base_3|)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_3|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_3, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_3|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_3, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_3|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_4|, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_4|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_3|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_#in~arg.offset, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_#t~nondet7, thread2Thread1of1ForFork1_#t~nondet6, thread2Thread1of1ForFork1_#in~arg.base, thread2Thread1of1ForFork1_thidvar0] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,803 INFO L280 TraceCheckUtils]: 4: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [225] thread2ENTRY-->L688: Formula: (let ((.cse0 (select |v_#pthreadsMutex_148| |v_~#ma~0.base_63|))) (and (= |v_thread2Thread1of1ForFork1_#in~arg.base_4| v_thread2Thread1of1ForFork1_~arg.base_4) (= |v_#pthreadsMutex_147| (store |v_#pthreadsMutex_148| |v_~#ma~0.base_63| (store .cse0 |v_~#ma~0.offset_63| 1))) (= v_thread2Thread1of1ForFork1_~arg.offset_4 |v_thread2Thread1of1ForFork1_#in~arg.offset_4|) (= 0 (select .cse0 |v_~#ma~0.offset_63|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_148|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_147|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_4, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_4, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_15|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#t~nondet6] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,804 INFO L280 TraceCheckUtils]: 5: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [173] L688-->L689: Formula: (= v_~data1~0_3 (+ v_~data1~0_4 5)) InVars {~data1~0=v_~data1~0_4} OutVars{~data1~0=v_~data1~0_3} AuxVars[] AssignedVars[~data1~0] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,804 INFO L280 TraceCheckUtils]: 6: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [206] L703-2-->L704-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10_8| (select (select |v_#memory_int_20| |v_ULTIMATE.start_main_~#t1~0.base_9|) |v_ULTIMATE.start_main_~#t1~0.offset_9|)) InVars {ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_8|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_3|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, ULTIMATE.start_main_#t~nondet9] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,805 INFO L280 TraceCheckUtils]: 7: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [174] L689-->L690: Formula: (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#ma~0.base_6| (store (select |v_#pthreadsMutex_12| |v_~#ma~0.base_6|) |v_~#ma~0.offset_6| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_12|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_11|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} AuxVars[] AssignedVars[#pthreadsMutex] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,807 INFO L280 TraceCheckUtils]: 8: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [194] L690-->L691: Formula: (let ((.cse0 (select |v_#pthreadsMutex_32| |v_~#ma~0.base_19|))) (and (= |v_#pthreadsMutex_31| (store |v_#pthreadsMutex_32| |v_~#ma~0.base_19| (store .cse0 |v_~#ma~0.offset_19| 1))) (= 0 (select .cse0 |v_~#ma~0.offset_19|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_32|, ~#ma~0.base=|v_~#ma~0.base_19|, ~#ma~0.offset=|v_~#ma~0.offset_19|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_31|, ~#ma~0.base=|v_~#ma~0.base_19|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_7|, ~#ma~0.offset=|v_~#ma~0.offset_19|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_#t~nondet7] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,809 INFO L280 TraceCheckUtils]: 9: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [177] L691-->L692: Formula: (= v_~data2~0_3 (+ v_~data2~0_4 (- 6))) InVars {~data2~0=v_~data2~0_4} OutVars{~data2~0=v_~data2~0_3} AuxVars[] AssignedVars[~data2~0] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,810 INFO L280 TraceCheckUtils]: 10: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [224] L692-->thread2EXIT: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.offset_5| 0) (= 0 |v_thread2Thread1of1ForFork1_#res.base_5|) (= |v_#pthreadsMutex_145| (store |v_#pthreadsMutex_146| |v_~#ma~0.base_62| (store (select |v_#pthreadsMutex_146| |v_~#ma~0.base_62|) |v_~#ma~0.offset_62| 0)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_146|, ~#ma~0.base=|v_~#ma~0.base_62|, ~#ma~0.offset=|v_~#ma~0.offset_62|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_5|, #pthreadsMutex=|v_#pthreadsMutex_145|, ~#ma~0.base=|v_~#ma~0.base_62|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_5|, ~#ma~0.offset=|v_~#ma~0.offset_62|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, #pthreadsMutex, thread2Thread1of1ForFork1_#res.base] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,811 INFO L280 TraceCheckUtils]: 11: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [186] thread2EXIT-->L704-2: Formula: (= |v_ULTIMATE.start_main_#t~mem10_7| v_thread2Thread1of1ForFork1_thidvar0_4) InVars {ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4} AuxVars[] AssignedVars[] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,812 INFO L280 TraceCheckUtils]: 12: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [128] L704-2-->L705: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10] {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} is VALID [2020-07-28 20:17:27,814 INFO L280 TraceCheckUtils]: 13: Hoare triple {1235#(not (= thread1Thread1of1ForFork0_thidvar0 (select (select |#memory_int| |ULTIMATE.start_main_~#t2~0.base|) |ULTIMATE.start_main_~#t2~0.offset|)))} [85] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11_2| (select (select |v_#memory_int_16| |v_ULTIMATE.start_main_~#t2~0.base_6|) |v_ULTIMATE.start_main_~#t2~0.offset_6|)) InVars {ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_2|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,815 INFO L280 TraceCheckUtils]: 14: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [189] thread1ENTRY-->L677-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_22| |v_~#ma~0.base_16|))) (and (= (store |v_#pthreadsMutex_22| |v_~#ma~0.base_16| (store .cse0 |v_~#ma~0.offset_16| 1)) |v_#pthreadsMutex_21|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet2_5|) (= |v_thread1Thread1of1ForFork0_#in~arg.offset_4| v_thread1Thread1of1ForFork0_~arg.offset_4) (= |v_thread1Thread1of1ForFork0_#in~arg.base_4| v_thread1Thread1of1ForFork0_~arg.base_4) (= (select .cse0 |v_~#ma~0.offset_16|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_22|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_21|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_5|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_4, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_4, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,817 INFO L280 TraceCheckUtils]: 15: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [213] L677-1-->L678-1: Formula: (= v_~data1~0_23 |v_thread1Thread1of1ForFork0_#t~post3_12|) InVars {~data1~0=v_~data1~0_23} OutVars{thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_6|, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_12|, ~data1~0=v_~data1~0_23} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#t~post3] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,818 INFO L280 TraceCheckUtils]: 16: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [190] L678-1-->L679: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post3_9| 1) v_~data1~0_14) InVars {thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_9|} OutVars{thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_8|, ~data1~0=v_~data1~0_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post3, ~data1~0] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,819 INFO L280 TraceCheckUtils]: 17: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [161] L679-->L680: Formula: (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#ma~0.base_2| (store (select |v_#pthreadsMutex_4| |v_~#ma~0.base_2|) |v_~#ma~0.offset_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} AuxVars[] AssignedVars[#pthreadsMutex] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,820 INFO L280 TraceCheckUtils]: 18: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [162] L680-->L680-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_6| |v_~#ma~0.base_3|))) (and (= (store |v_#pthreadsMutex_6| |v_~#ma~0.base_3| (store .cse0 |v_~#ma~0.offset_3| 1)) |v_#pthreadsMutex_5|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet4_1|) (= 0 (select .cse0 |v_~#ma~0.offset_3|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_6|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_1|, #pthreadsMutex=|v_#pthreadsMutex_5|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, #pthreadsMutex] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,821 INFO L280 TraceCheckUtils]: 19: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [199] L680-1-->L681-1: Formula: (= v_~data2~0_9 |v_thread1Thread1of1ForFork0_#t~post5_6|) InVars {~data2~0=v_~data2~0_9} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_5|, ~data2~0=v_~data2~0_9, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~post5] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,822 INFO L280 TraceCheckUtils]: 20: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [202] L681-1-->L682: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post5_10| 1) v_~data2~0_15) InVars {thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_10|} OutVars{~data2~0=v_~data2~0_15, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_9|} AuxVars[] AssignedVars[~data2~0, thread1Thread1of1ForFork0_#t~post5] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,823 INFO L280 TraceCheckUtils]: 21: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [220] L682-->thread1EXIT: Formula: (and (= (store |v_#pthreadsMutex_102| |v_~#ma~0.base_47| (store (select |v_#pthreadsMutex_102| |v_~#ma~0.base_47|) |v_~#ma~0.offset_47| 0)) |v_#pthreadsMutex_101|) (= 0 |v_thread1Thread1of1ForFork0_#res.offset_5|) (= 0 |v_thread1Thread1of1ForFork0_#res.base_5|)) InVars {#pthreadsMutex=|v_#pthreadsMutex_102|, ~#ma~0.base=|v_~#ma~0.base_47|, ~#ma~0.offset=|v_~#ma~0.offset_47|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_101|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_5|, ~#ma~0.base=|v_~#ma~0.base_47|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_5|, ~#ma~0.offset=|v_~#ma~0.offset_47|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} is VALID [2020-07-28 20:17:27,824 INFO L280 TraceCheckUtils]: 22: Hoare triple {1236#(not (= |ULTIMATE.start_main_#t~mem11| thread1Thread1of1ForFork0_thidvar0))} [187] thread1EXIT-->L705-2: Formula: (= |v_ULTIMATE.start_main_#t~mem11_5| v_thread1Thread1of1ForFork0_thidvar0_6) InVars {ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_6} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_6} AuxVars[] AssignedVars[] {1233#false} is VALID [2020-07-28 20:17:27,824 INFO L280 TraceCheckUtils]: 23: Hoare triple {1233#false} [90] L705-2-->L706: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {1233#false} is VALID [2020-07-28 20:17:27,825 INFO L280 TraceCheckUtils]: 24: Hoare triple {1233#false} [212] L706-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: (and (not (= 16 v_~data1~0_22)) (not (= 5 v_~data2~0_19))) InVars {~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} OutVars{~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} AuxVars[] AssignedVars[] {1233#false} is VALID [2020-07-28 20:17:27,827 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 20:17:27,827 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1045427123] [2020-07-28 20:17:27,827 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 20:17:27,827 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-28 20:17:27,828 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [826348070] [2020-07-28 20:17:27,829 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 25 [2020-07-28 20:17:27,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 20:17:27,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 20:17:27,870 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:27,870 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 20:17:27,870 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 20:17:27,871 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 20:17:27,871 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-28 20:17:27,871 INFO L87 Difference]: Start difference. First operand 149 states and 253 transitions. Second operand 5 states. [2020-07-28 20:17:28,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:28,031 INFO L93 Difference]: Finished difference Result 149 states and 252 transitions. [2020-07-28 20:17:28,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 20:17:28,031 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 25 [2020-07-28 20:17:28,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 20:17:28,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 20:17:28,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2020-07-28 20:17:28,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 20:17:28,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2020-07-28 20:17:28,036 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2020-07-28 20:17:28,099 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:28,103 INFO L225 Difference]: With dead ends: 149 [2020-07-28 20:17:28,104 INFO L226 Difference]: Without dead ends: 122 [2020-07-28 20:17:28,105 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2020-07-28 20:17:28,106 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2020-07-28 20:17:28,110 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,111 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,111 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,111 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,112 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,112 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,112 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,113 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,113 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,113 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,113 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,114 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,114 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,114 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,118 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,119 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,119 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,119 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,120 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,120 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,120 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,120 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,121 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,121 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,121 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,122 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,122 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,124 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,124 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,124 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,125 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,125 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,125 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,125 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,126 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,126 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,126 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,127 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,128 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,128 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,129 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,129 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,129 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,129 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,130 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,130 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,130 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,131 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,131 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,131 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,131 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,132 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,132 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,132 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,132 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,133 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,133 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,133 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,134 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,134 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,134 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,135 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,135 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,135 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,136 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,136 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,136 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,136 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,137 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,137 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,137 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,137 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,138 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,138 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,138 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,139 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,139 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,139 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,139 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,140 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,140 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,140 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,141 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,141 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,141 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,142 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,142 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,142 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,142 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,143 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,143 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,143 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,144 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,144 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,144 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,144 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,145 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,145 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,145 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,146 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,146 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,146 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,147 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,147 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,147 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,148 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,151 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,152 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,152 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,153 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,153 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,153 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,154 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,154 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,154 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,155 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,155 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,155 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,155 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,157 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,158 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,158 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 122. [2020-07-28 20:17:28,163 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 20:17:28,163 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand 122 states. [2020-07-28 20:17:28,163 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 122 states. [2020-07-28 20:17:28,163 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 122 states. [2020-07-28 20:17:28,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:28,171 INFO L93 Difference]: Finished difference Result 122 states and 201 transitions. [2020-07-28 20:17:28,171 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 201 transitions. [2020-07-28 20:17:28,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:28,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:28,172 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 122 states. [2020-07-28 20:17:28,172 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 122 states. [2020-07-28 20:17:28,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:28,179 INFO L93 Difference]: Finished difference Result 122 states and 201 transitions. [2020-07-28 20:17:28,179 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 201 transitions. [2020-07-28 20:17:28,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:28,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:28,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 20:17:28,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 20:17:28,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2020-07-28 20:17:28,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 201 transitions. [2020-07-28 20:17:28,189 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 201 transitions. Word has length 25 [2020-07-28 20:17:28,190 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 20:17:28,190 INFO L479 AbstractCegarLoop]: Abstraction has 122 states and 201 transitions. [2020-07-28 20:17:28,190 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 20:17:28,190 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 201 transitions. [2020-07-28 20:17:28,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-28 20:17:28,191 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 20:17:28,191 INFO L422 BasicCegarLoop]: 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] [2020-07-28 20:17:28,192 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 20:17:28,192 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 20:17:28,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 20:17:28,192 INFO L82 PathProgramCache]: Analyzing trace with hash 352163958, now seen corresponding path program 1 times [2020-07-28 20:17:28,193 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 20:17:28,193 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [455851293] [2020-07-28 20:17:28,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 20:17:28,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 20:17:28,367 INFO L280 TraceCheckUtils]: 0: Hoare triple {1880#true} [239] ULTIMATE.startENTRY-->L702-1: Formula: (let ((.cse4 (store |v_#valid_60| 0 0))) (let ((.cse3 (store .cse4 |v_~#ma~0.base_100| 1))) (let ((.cse5 (store .cse3 |v_~#mb~0.base_21| 1))) (let ((.cse1 (store .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25| 1)) (.cse2 (select |v_#memory_int_42| |v_~#ma~0.base_100|)) (.cse0 (select |v_#memory_int_42| |v_~#mb~0.base_21|))) (and (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 4))) (= 0 (select .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21|)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 4))) (= 0 (select .cse3 |v_~#mb~0.base_21|)) (= 0 (select .cse4 |v_~#ma~0.base_100|)) (= 0 |v_ULTIMATE.start_main_~#t2~0.offset_17|) (= 0 (select .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25|)) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 8))) (= 0 |v_#NULL.base_6|) (= 10 v_~data2~0_52) (= (let ((.cse6 (store |v_#pthreadsMutex_247| |v_~#ma~0.base_100| (store (select |v_#pthreadsMutex_247| |v_~#ma~0.base_100|) |v_~#ma~0.offset_100| 0)))) (store .cse6 |v_~#mb~0.base_21| (store (select .cse6 |v_~#mb~0.base_21|) |v_~#mb~0.offset_21| 0))) |v_#pthreadsMutex_246|) (= 0 |v_#NULL.offset_6|) (= 0 |v_~#mb~0.offset_21|) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 12))) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t2~0.base_21|) (< |v_#StackHeapBarrier_18| |v_~#mb~0.base_21|) (< 0 |v_#StackHeapBarrier_18|) (= |v_#valid_58| (store .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21| 1)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 16))) (= (store (store (store (store |v_#length_35| |v_~#ma~0.base_100| 24) |v_~#mb~0.base_21| 24) |v_ULTIMATE.start_main_~#t1~0.base_25| 4) |v_ULTIMATE.start_main_~#t2~0.base_21| 4) |v_#length_33|) (= 0 (select .cse0 |v_~#mb~0.offset_21|)) (= 10 v_~data1~0_52) (= 0 |v_ULTIMATE.start_main_~#t1~0.offset_21|) (= (store |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25| (store (select |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25|) |v_ULTIMATE.start_main_~#t1~0.offset_21| 0)) |v_#memory_int_41|) (< |v_#StackHeapBarrier_18| |v_~#ma~0.base_100|) (= |v_~#ma~0.offset_100| 0) (= (select .cse2 (+ |v_~#ma~0.offset_100| 12)) 0) (= 0 (select .cse2 |v_~#ma~0.offset_100|)) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t1~0.base_25|) (= (select .cse2 (+ |v_~#ma~0.offset_100| 8)) 0) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 16)))))))) InVars {#pthreadsMutex=|v_#pthreadsMutex_247|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, #valid=|v_#valid_60|, #memory_int=|v_#memory_int_42|, #length=|v_#length_35|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_13|, #pthreadsMutex=|v_#pthreadsMutex_246|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_12|, ~#mb~0.offset=|v_~#mb~0.offset_21|, ~data2~0=v_~data2~0_52, ~data1~0=v_~data1~0_52, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_17|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_8|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_8|, #NULL.offset=|v_#NULL.offset_6|, #NULL.base=|v_#NULL.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_100|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_25|, ~#mb~0.base=|v_~#mb~0.base_21|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, ~#ma~0.base=|v_~#ma~0.base_100|, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_18|, #valid=|v_#valid_58|, #memory_int=|v_#memory_int_41|, #length=|v_#length_33|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_21|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_21|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, #pthreadsMutex, ULTIMATE.start_main_#t~mem11, ~#mb~0.offset, ~data2~0, ~data1~0, ULTIMATE.start_main_~#t2~0.offset, ULTIMATE.start_main_#t~nondet8, ULTIMATE.start_main_#t~nondet9, #NULL.offset, #NULL.base, ~#ma~0.offset, ULTIMATE.start_main_~#t1~0.base, ~#mb~0.base, ~#ma~0.base, ULTIMATE.start_main_#res, #valid, #memory_int, #length, ULTIMATE.start_main_~#t1~0.offset, ULTIMATE.start_main_~#t2~0.base] {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,368 INFO L280 TraceCheckUtils]: 1: Hoare triple {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [182] L702-1-->thread1ENTRY: Formula: (and (= 0 v_thread1Thread1of1ForFork0_thidvar0_2) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.offset_3|) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.base_3|)) InVars {} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_4|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_4|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_3|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_3|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_3, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_3, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_5|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_3|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#in~arg.base, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base, thread1Thread1of1ForFork0_#t~post3, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#t~post5, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_#in~arg.offset] {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,370 INFO L280 TraceCheckUtils]: 2: Hoare triple {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [215] L702-2-->L703-1: Formula: (= (store |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11| (store (select |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11|) |v_ULTIMATE.start_main_~#t2~0.offset_10| 1)) |v_#memory_int_25|) InVars {#memory_int=|v_#memory_int_26|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} OutVars{#memory_int=|v_#memory_int_25|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_4|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} AuxVars[] AssignedVars[#memory_int, ULTIMATE.start_main_#t~nondet8] {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,371 INFO L280 TraceCheckUtils]: 3: Hoare triple {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [184] L703-1-->thread2ENTRY: Formula: (and (= 1 v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.offset_3|) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.base_3|)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_3|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_3, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_3|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_3, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_3|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_4|, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_4|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_3|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_#in~arg.offset, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_#t~nondet7, thread2Thread1of1ForFork1_#t~nondet6, thread2Thread1of1ForFork1_#in~arg.base, thread2Thread1of1ForFork1_thidvar0] {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,372 INFO L280 TraceCheckUtils]: 4: Hoare triple {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [225] thread2ENTRY-->L688: Formula: (let ((.cse0 (select |v_#pthreadsMutex_148| |v_~#ma~0.base_63|))) (and (= |v_thread2Thread1of1ForFork1_#in~arg.base_4| v_thread2Thread1of1ForFork1_~arg.base_4) (= |v_#pthreadsMutex_147| (store |v_#pthreadsMutex_148| |v_~#ma~0.base_63| (store .cse0 |v_~#ma~0.offset_63| 1))) (= v_thread2Thread1of1ForFork1_~arg.offset_4 |v_thread2Thread1of1ForFork1_#in~arg.offset_4|) (= 0 (select .cse0 |v_~#ma~0.offset_63|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_148|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_147|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_4, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_4, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_15|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#t~nondet6] {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,373 INFO L280 TraceCheckUtils]: 5: Hoare triple {1882#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [173] L688-->L689: Formula: (= v_~data1~0_3 (+ v_~data1~0_4 5)) InVars {~data1~0=v_~data1~0_4} OutVars{~data1~0=v_~data1~0_3} AuxVars[] AssignedVars[~data1~0] {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} is VALID [2020-07-28 20:17:28,375 INFO L280 TraceCheckUtils]: 6: Hoare triple {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} [206] L703-2-->L704-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10_8| (select (select |v_#memory_int_20| |v_ULTIMATE.start_main_~#t1~0.base_9|) |v_ULTIMATE.start_main_~#t1~0.offset_9|)) InVars {ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_8|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_3|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, ULTIMATE.start_main_#t~nondet9] {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} is VALID [2020-07-28 20:17:28,376 INFO L280 TraceCheckUtils]: 7: Hoare triple {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} [174] L689-->L690: Formula: (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#ma~0.base_6| (store (select |v_#pthreadsMutex_12| |v_~#ma~0.base_6|) |v_~#ma~0.offset_6| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_12|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_11|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} AuxVars[] AssignedVars[#pthreadsMutex] {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} is VALID [2020-07-28 20:17:28,377 INFO L280 TraceCheckUtils]: 8: Hoare triple {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} [194] L690-->L691: Formula: (let ((.cse0 (select |v_#pthreadsMutex_32| |v_~#ma~0.base_19|))) (and (= |v_#pthreadsMutex_31| (store |v_#pthreadsMutex_32| |v_~#ma~0.base_19| (store .cse0 |v_~#ma~0.offset_19| 1))) (= 0 (select .cse0 |v_~#ma~0.offset_19|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_32|, ~#ma~0.base=|v_~#ma~0.base_19|, ~#ma~0.offset=|v_~#ma~0.offset_19|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_31|, ~#ma~0.base=|v_~#ma~0.base_19|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_7|, ~#ma~0.offset=|v_~#ma~0.offset_19|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_#t~nondet7] {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} is VALID [2020-07-28 20:17:28,378 INFO L280 TraceCheckUtils]: 9: Hoare triple {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} [177] L691-->L692: Formula: (= v_~data2~0_3 (+ v_~data2~0_4 (- 6))) InVars {~data2~0=v_~data2~0_4} OutVars{~data2~0=v_~data2~0_3} AuxVars[] AssignedVars[~data2~0] {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} is VALID [2020-07-28 20:17:28,379 INFO L280 TraceCheckUtils]: 10: Hoare triple {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} [224] L692-->thread2EXIT: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.offset_5| 0) (= 0 |v_thread2Thread1of1ForFork1_#res.base_5|) (= |v_#pthreadsMutex_145| (store |v_#pthreadsMutex_146| |v_~#ma~0.base_62| (store (select |v_#pthreadsMutex_146| |v_~#ma~0.base_62|) |v_~#ma~0.offset_62| 0)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_146|, ~#ma~0.base=|v_~#ma~0.base_62|, ~#ma~0.offset=|v_~#ma~0.offset_62|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_5|, #pthreadsMutex=|v_#pthreadsMutex_145|, ~#ma~0.base=|v_~#ma~0.base_62|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_5|, ~#ma~0.offset=|v_~#ma~0.offset_62|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, #pthreadsMutex, thread2Thread1of1ForFork1_#res.base] {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} is VALID [2020-07-28 20:17:28,380 INFO L280 TraceCheckUtils]: 11: Hoare triple {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} [189] thread1ENTRY-->L677-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_22| |v_~#ma~0.base_16|))) (and (= (store |v_#pthreadsMutex_22| |v_~#ma~0.base_16| (store .cse0 |v_~#ma~0.offset_16| 1)) |v_#pthreadsMutex_21|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet2_5|) (= |v_thread1Thread1of1ForFork0_#in~arg.offset_4| v_thread1Thread1of1ForFork0_~arg.offset_4) (= |v_thread1Thread1of1ForFork0_#in~arg.base_4| v_thread1Thread1of1ForFork0_~arg.base_4) (= (select .cse0 |v_~#ma~0.offset_16|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_22|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_21|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_5|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_4, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_4, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base] {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} is VALID [2020-07-28 20:17:28,382 INFO L280 TraceCheckUtils]: 12: Hoare triple {1883#(and (<= ~data1~0 15) (<= 15 ~data1~0))} [213] L677-1-->L678-1: Formula: (= v_~data1~0_23 |v_thread1Thread1of1ForFork0_#t~post3_12|) InVars {~data1~0=v_~data1~0_23} OutVars{thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_6|, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_12|, ~data1~0=v_~data1~0_23} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#t~post3] {1884#(and (<= 15 |thread1Thread1of1ForFork0_#t~post3|) (<= |thread1Thread1of1ForFork0_#t~post3| 15))} is VALID [2020-07-28 20:17:28,383 INFO L280 TraceCheckUtils]: 13: Hoare triple {1884#(and (<= 15 |thread1Thread1of1ForFork0_#t~post3|) (<= |thread1Thread1of1ForFork0_#t~post3| 15))} [190] L678-1-->L679: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post3_9| 1) v_~data1~0_14) InVars {thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_9|} OutVars{thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_8|, ~data1~0=v_~data1~0_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post3, ~data1~0] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,384 INFO L280 TraceCheckUtils]: 14: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [161] L679-->L680: Formula: (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#ma~0.base_2| (store (select |v_#pthreadsMutex_4| |v_~#ma~0.base_2|) |v_~#ma~0.offset_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} AuxVars[] AssignedVars[#pthreadsMutex] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,386 INFO L280 TraceCheckUtils]: 15: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [162] L680-->L680-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_6| |v_~#ma~0.base_3|))) (and (= (store |v_#pthreadsMutex_6| |v_~#ma~0.base_3| (store .cse0 |v_~#ma~0.offset_3| 1)) |v_#pthreadsMutex_5|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet4_1|) (= 0 (select .cse0 |v_~#ma~0.offset_3|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_6|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_1|, #pthreadsMutex=|v_#pthreadsMutex_5|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, #pthreadsMutex] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,387 INFO L280 TraceCheckUtils]: 16: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [199] L680-1-->L681-1: Formula: (= v_~data2~0_9 |v_thread1Thread1of1ForFork0_#t~post5_6|) InVars {~data2~0=v_~data2~0_9} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_5|, ~data2~0=v_~data2~0_9, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~post5] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,388 INFO L280 TraceCheckUtils]: 17: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [202] L681-1-->L682: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post5_10| 1) v_~data2~0_15) InVars {thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_10|} OutVars{~data2~0=v_~data2~0_15, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_9|} AuxVars[] AssignedVars[~data2~0, thread1Thread1of1ForFork0_#t~post5] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,389 INFO L280 TraceCheckUtils]: 18: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [220] L682-->thread1EXIT: Formula: (and (= (store |v_#pthreadsMutex_102| |v_~#ma~0.base_47| (store (select |v_#pthreadsMutex_102| |v_~#ma~0.base_47|) |v_~#ma~0.offset_47| 0)) |v_#pthreadsMutex_101|) (= 0 |v_thread1Thread1of1ForFork0_#res.offset_5|) (= 0 |v_thread1Thread1of1ForFork0_#res.base_5|)) InVars {#pthreadsMutex=|v_#pthreadsMutex_102|, ~#ma~0.base=|v_~#ma~0.base_47|, ~#ma~0.offset=|v_~#ma~0.offset_47|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_101|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_5|, ~#ma~0.base=|v_~#ma~0.base_47|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_5|, ~#ma~0.offset=|v_~#ma~0.offset_47|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,390 INFO L280 TraceCheckUtils]: 19: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [185] thread1EXIT-->L704-2: Formula: (= |v_ULTIMATE.start_main_#t~mem10_5| v_thread1Thread1of1ForFork0_thidvar0_4) InVars {ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,391 INFO L280 TraceCheckUtils]: 20: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [128] L704-2-->L705: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,392 INFO L280 TraceCheckUtils]: 21: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [85] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11_2| (select (select |v_#memory_int_16| |v_ULTIMATE.start_main_~#t2~0.base_6|) |v_ULTIMATE.start_main_~#t2~0.offset_6|)) InVars {ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_2|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,393 INFO L280 TraceCheckUtils]: 22: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [188] thread2EXIT-->L705-2: Formula: (= |v_ULTIMATE.start_main_#t~mem11_7| v_thread2Thread1of1ForFork1_thidvar0_6) InVars {ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_6} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_6} AuxVars[] AssignedVars[] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,394 INFO L280 TraceCheckUtils]: 23: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [90] L705-2-->L706: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,395 INFO L280 TraceCheckUtils]: 24: Hoare triple {1885#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [212] L706-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: (and (not (= 16 v_~data1~0_22)) (not (= 5 v_~data2~0_19))) InVars {~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} OutVars{~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} AuxVars[] AssignedVars[] {1881#false} is VALID [2020-07-28 20:17:28,398 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 20:17:28,399 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [455851293] [2020-07-28 20:17:28,399 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 20:17:28,399 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-28 20:17:28,400 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1823157092] [2020-07-28 20:17:28,400 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2020-07-28 20:17:28,400 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 20:17:28,401 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-28 20:17:28,435 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:28,435 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-28 20:17:28,435 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 20:17:28,436 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-28 20:17:28,436 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-28 20:17:28,437 INFO L87 Difference]: Start difference. First operand 122 states and 201 transitions. Second operand 6 states. [2020-07-28 20:17:28,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:28,667 INFO L93 Difference]: Finished difference Result 164 states and 266 transitions. [2020-07-28 20:17:28,667 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-28 20:17:28,667 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2020-07-28 20:17:28,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 20:17:28,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 20:17:28,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2020-07-28 20:17:28,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 20:17:28,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2020-07-28 20:17:28,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2020-07-28 20:17:28,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:28,767 INFO L225 Difference]: With dead ends: 164 [2020-07-28 20:17:28,767 INFO L226 Difference]: Without dead ends: 98 [2020-07-28 20:17:28,768 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2020-07-28 20:17:28,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2020-07-28 20:17:28,772 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,772 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,772 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,773 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,773 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,773 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,773 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,773 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,774 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,774 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,774 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,774 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,774 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,774 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,775 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,775 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,775 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,775 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,775 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,776 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,776 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,776 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,776 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,776 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,777 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,777 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,777 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,777 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,778 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,778 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,778 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,778 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,778 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,779 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,779 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,779 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,779 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,779 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,780 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,780 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,780 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,780 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,780 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,781 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,781 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,781 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,781 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,781 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,782 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,782 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,782 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,782 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,782 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,783 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,783 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,783 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,783 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,783 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,784 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,784 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,784 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,784 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,784 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,785 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,785 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,785 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,785 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,785 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,786 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,786 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,786 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,786 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,786 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,787 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,787 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,787 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,787 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,787 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,788 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,788 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,788 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,788 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,788 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,789 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,789 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,789 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,789 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,790 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,790 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,790 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,790 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,790 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,791 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,791 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,791 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,791 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,792 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,792 WARN L146 ateFactoryRefinement]: Check not implemented [2020-07-28 20:17:28,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2020-07-28 20:17:28,792 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 20:17:28,792 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 98 states. [2020-07-28 20:17:28,793 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 98 states. [2020-07-28 20:17:28,793 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 98 states. [2020-07-28 20:17:28,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:28,797 INFO L93 Difference]: Finished difference Result 98 states and 161 transitions. [2020-07-28 20:17:28,797 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 161 transitions. [2020-07-28 20:17:28,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:28,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:28,797 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 98 states. [2020-07-28 20:17:28,798 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 98 states. [2020-07-28 20:17:28,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:28,801 INFO L93 Difference]: Finished difference Result 98 states and 161 transitions. [2020-07-28 20:17:28,801 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 161 transitions. [2020-07-28 20:17:28,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:28,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:28,802 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 20:17:28,802 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 20:17:28,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2020-07-28 20:17:28,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 161 transitions. [2020-07-28 20:17:28,806 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 161 transitions. Word has length 25 [2020-07-28 20:17:28,806 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 20:17:28,806 INFO L479 AbstractCegarLoop]: Abstraction has 98 states and 161 transitions. [2020-07-28 20:17:28,806 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-28 20:17:28,806 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 161 transitions. [2020-07-28 20:17:28,807 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-28 20:17:28,807 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 20:17:28,807 INFO L422 BasicCegarLoop]: 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] [2020-07-28 20:17:28,807 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-28 20:17:28,807 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 20:17:28,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 20:17:28,808 INFO L82 PathProgramCache]: Analyzing trace with hash 1213192784, now seen corresponding path program 2 times [2020-07-28 20:17:28,808 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 20:17:28,809 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2014652656] [2020-07-28 20:17:28,809 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 20:17:28,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 20:17:28,974 INFO L280 TraceCheckUtils]: 0: Hoare triple {2446#true} [239] ULTIMATE.startENTRY-->L702-1: Formula: (let ((.cse4 (store |v_#valid_60| 0 0))) (let ((.cse3 (store .cse4 |v_~#ma~0.base_100| 1))) (let ((.cse5 (store .cse3 |v_~#mb~0.base_21| 1))) (let ((.cse1 (store .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25| 1)) (.cse2 (select |v_#memory_int_42| |v_~#ma~0.base_100|)) (.cse0 (select |v_#memory_int_42| |v_~#mb~0.base_21|))) (and (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 4))) (= 0 (select .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21|)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 4))) (= 0 (select .cse3 |v_~#mb~0.base_21|)) (= 0 (select .cse4 |v_~#ma~0.base_100|)) (= 0 |v_ULTIMATE.start_main_~#t2~0.offset_17|) (= 0 (select .cse5 |v_ULTIMATE.start_main_~#t1~0.base_25|)) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 8))) (= 0 |v_#NULL.base_6|) (= 10 v_~data2~0_52) (= (let ((.cse6 (store |v_#pthreadsMutex_247| |v_~#ma~0.base_100| (store (select |v_#pthreadsMutex_247| |v_~#ma~0.base_100|) |v_~#ma~0.offset_100| 0)))) (store .cse6 |v_~#mb~0.base_21| (store (select .cse6 |v_~#mb~0.base_21|) |v_~#mb~0.offset_21| 0))) |v_#pthreadsMutex_246|) (= 0 |v_#NULL.offset_6|) (= 0 |v_~#mb~0.offset_21|) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 12))) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t2~0.base_21|) (< |v_#StackHeapBarrier_18| |v_~#mb~0.base_21|) (< 0 |v_#StackHeapBarrier_18|) (= |v_#valid_58| (store .cse1 |v_ULTIMATE.start_main_~#t2~0.base_21| 1)) (= 0 (select .cse2 (+ |v_~#ma~0.offset_100| 16))) (= (store (store (store (store |v_#length_35| |v_~#ma~0.base_100| 24) |v_~#mb~0.base_21| 24) |v_ULTIMATE.start_main_~#t1~0.base_25| 4) |v_ULTIMATE.start_main_~#t2~0.base_21| 4) |v_#length_33|) (= 0 (select .cse0 |v_~#mb~0.offset_21|)) (= 10 v_~data1~0_52) (= 0 |v_ULTIMATE.start_main_~#t1~0.offset_21|) (= (store |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25| (store (select |v_#memory_int_42| |v_ULTIMATE.start_main_~#t1~0.base_25|) |v_ULTIMATE.start_main_~#t1~0.offset_21| 0)) |v_#memory_int_41|) (< |v_#StackHeapBarrier_18| |v_~#ma~0.base_100|) (= |v_~#ma~0.offset_100| 0) (= (select .cse2 (+ |v_~#ma~0.offset_100| 12)) 0) (= 0 (select .cse2 |v_~#ma~0.offset_100|)) (< |v_#StackHeapBarrier_18| |v_ULTIMATE.start_main_~#t1~0.base_25|) (= (select .cse2 (+ |v_~#ma~0.offset_100| 8)) 0) (= 0 (select .cse0 (+ |v_~#mb~0.offset_21| 16)))))))) InVars {#pthreadsMutex=|v_#pthreadsMutex_247|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, #valid=|v_#valid_60|, #memory_int=|v_#memory_int_42|, #length=|v_#length_35|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_13|, #pthreadsMutex=|v_#pthreadsMutex_246|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_12|, ~#mb~0.offset=|v_~#mb~0.offset_21|, ~data2~0=v_~data2~0_52, ~data1~0=v_~data1~0_52, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_17|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_8|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_8|, #NULL.offset=|v_#NULL.offset_6|, #NULL.base=|v_#NULL.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_100|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_25|, ~#mb~0.base=|v_~#mb~0.base_21|, #StackHeapBarrier=|v_#StackHeapBarrier_18|, ~#ma~0.base=|v_~#ma~0.base_100|, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_18|, #valid=|v_#valid_58|, #memory_int=|v_#memory_int_41|, #length=|v_#length_33|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_21|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_21|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, #pthreadsMutex, ULTIMATE.start_main_#t~mem11, ~#mb~0.offset, ~data2~0, ~data1~0, ULTIMATE.start_main_~#t2~0.offset, ULTIMATE.start_main_#t~nondet8, ULTIMATE.start_main_#t~nondet9, #NULL.offset, #NULL.base, ~#ma~0.offset, ULTIMATE.start_main_~#t1~0.base, ~#mb~0.base, ~#ma~0.base, ULTIMATE.start_main_#res, #valid, #memory_int, #length, ULTIMATE.start_main_~#t1~0.offset, ULTIMATE.start_main_~#t2~0.base] {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,975 INFO L280 TraceCheckUtils]: 1: Hoare triple {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [182] L702-1-->thread1ENTRY: Formula: (and (= 0 v_thread1Thread1of1ForFork0_thidvar0_2) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.offset_3|) (= 0 |v_thread1Thread1of1ForFork0_#in~arg.base_3|)) InVars {} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_4|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_4|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_3|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_3|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_3, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_3, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_5|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_3|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#in~arg.base, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base, thread1Thread1of1ForFork0_#t~post3, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#t~post5, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_#in~arg.offset] {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,976 INFO L280 TraceCheckUtils]: 2: Hoare triple {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [215] L702-2-->L703-1: Formula: (= (store |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11| (store (select |v_#memory_int_26| |v_ULTIMATE.start_main_~#t2~0.base_11|) |v_ULTIMATE.start_main_~#t2~0.offset_10| 1)) |v_#memory_int_25|) InVars {#memory_int=|v_#memory_int_26|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} OutVars{#memory_int=|v_#memory_int_25|, ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_10|, ULTIMATE.start_main_#t~nondet8=|v_ULTIMATE.start_main_#t~nondet8_4|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_11|} AuxVars[] AssignedVars[#memory_int, ULTIMATE.start_main_#t~nondet8] {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,977 INFO L280 TraceCheckUtils]: 3: Hoare triple {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [184] L703-1-->thread2ENTRY: Formula: (and (= 1 v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.offset_3|) (= 0 |v_thread2Thread1of1ForFork1_#in~arg.base_3|)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_3|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_3, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_3|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_3, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_3|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_4|, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_4|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_3|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_#in~arg.offset, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_#t~nondet7, thread2Thread1of1ForFork1_#t~nondet6, thread2Thread1of1ForFork1_#in~arg.base, thread2Thread1of1ForFork1_thidvar0] {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,978 INFO L280 TraceCheckUtils]: 4: Hoare triple {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [189] thread1ENTRY-->L677-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_22| |v_~#ma~0.base_16|))) (and (= (store |v_#pthreadsMutex_22| |v_~#ma~0.base_16| (store .cse0 |v_~#ma~0.offset_16| 1)) |v_#pthreadsMutex_21|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet2_5|) (= |v_thread1Thread1of1ForFork0_#in~arg.offset_4| v_thread1Thread1of1ForFork0_~arg.offset_4) (= |v_thread1Thread1of1ForFork0_#in~arg.base_4| v_thread1Thread1of1ForFork0_~arg.base_4) (= (select .cse0 |v_~#ma~0.offset_16|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_22|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_21|, thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_5|, thread1Thread1of1ForFork0_#in~arg.base=|v_thread1Thread1of1ForFork0_#in~arg.base_4|, ~#ma~0.base=|v_~#ma~0.base_16|, thread1Thread1of1ForFork0_~arg.offset=v_thread1Thread1of1ForFork0_~arg.offset_4, thread1Thread1of1ForFork0_~arg.base=v_thread1Thread1of1ForFork0_~arg.base_4, thread1Thread1of1ForFork0_#in~arg.offset=|v_thread1Thread1of1ForFork0_#in~arg.offset_4|, ~#ma~0.offset=|v_~#ma~0.offset_16|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_~arg.offset, thread1Thread1of1ForFork0_~arg.base] {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} is VALID [2020-07-28 20:17:28,978 INFO L280 TraceCheckUtils]: 5: Hoare triple {2448#(and (<= 10 ~data1~0) (<= ~data1~0 10))} [213] L677-1-->L678-1: Formula: (= v_~data1~0_23 |v_thread1Thread1of1ForFork0_#t~post3_12|) InVars {~data1~0=v_~data1~0_23} OutVars{thread1Thread1of1ForFork0_#t~nondet2=|v_thread1Thread1of1ForFork0_#t~nondet2_6|, thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_12|, ~data1~0=v_~data1~0_23} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet2, thread1Thread1of1ForFork0_#t~post3] {2449#(and (<= 10 |thread1Thread1of1ForFork0_#t~post3|) (<= |thread1Thread1of1ForFork0_#t~post3| 10))} is VALID [2020-07-28 20:17:28,979 INFO L280 TraceCheckUtils]: 6: Hoare triple {2449#(and (<= 10 |thread1Thread1of1ForFork0_#t~post3|) (<= |thread1Thread1of1ForFork0_#t~post3| 10))} [206] L703-2-->L704-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10_8| (select (select |v_#memory_int_20| |v_ULTIMATE.start_main_~#t1~0.base_9|) |v_ULTIMATE.start_main_~#t1~0.offset_9|)) InVars {ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_8|, ULTIMATE.start_main_~#t1~0.base=|v_ULTIMATE.start_main_~#t1~0.base_9|, #memory_int=|v_#memory_int_20|, ULTIMATE.start_main_#t~nondet9=|v_ULTIMATE.start_main_#t~nondet9_3|, ULTIMATE.start_main_~#t1~0.offset=|v_ULTIMATE.start_main_~#t1~0.offset_9|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10, ULTIMATE.start_main_#t~nondet9] {2449#(and (<= 10 |thread1Thread1of1ForFork0_#t~post3|) (<= |thread1Thread1of1ForFork0_#t~post3| 10))} is VALID [2020-07-28 20:17:28,980 INFO L280 TraceCheckUtils]: 7: Hoare triple {2449#(and (<= 10 |thread1Thread1of1ForFork0_#t~post3|) (<= |thread1Thread1of1ForFork0_#t~post3| 10))} [190] L678-1-->L679: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post3_9| 1) v_~data1~0_14) InVars {thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_9|} OutVars{thread1Thread1of1ForFork0_#t~post3=|v_thread1Thread1of1ForFork0_#t~post3_8|, ~data1~0=v_~data1~0_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post3, ~data1~0] {2450#(and (<= ~data1~0 11) (<= 11 ~data1~0))} is VALID [2020-07-28 20:17:28,981 INFO L280 TraceCheckUtils]: 8: Hoare triple {2450#(and (<= ~data1~0 11) (<= 11 ~data1~0))} [161] L679-->L680: Formula: (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#ma~0.base_2| (store (select |v_#pthreadsMutex_4| |v_~#ma~0.base_2|) |v_~#ma~0.offset_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ~#ma~0.base=|v_~#ma~0.base_2|, ~#ma~0.offset=|v_~#ma~0.offset_2|} AuxVars[] AssignedVars[#pthreadsMutex] {2450#(and (<= ~data1~0 11) (<= 11 ~data1~0))} is VALID [2020-07-28 20:17:28,981 INFO L280 TraceCheckUtils]: 9: Hoare triple {2450#(and (<= ~data1~0 11) (<= 11 ~data1~0))} [225] thread2ENTRY-->L688: Formula: (let ((.cse0 (select |v_#pthreadsMutex_148| |v_~#ma~0.base_63|))) (and (= |v_thread2Thread1of1ForFork1_#in~arg.base_4| v_thread2Thread1of1ForFork1_~arg.base_4) (= |v_#pthreadsMutex_147| (store |v_#pthreadsMutex_148| |v_~#ma~0.base_63| (store .cse0 |v_~#ma~0.offset_63| 1))) (= v_thread2Thread1of1ForFork1_~arg.offset_4 |v_thread2Thread1of1ForFork1_#in~arg.offset_4|) (= 0 (select .cse0 |v_~#ma~0.offset_63|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_148|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_147|, thread2Thread1of1ForFork1_#in~arg.offset=|v_thread2Thread1of1ForFork1_#in~arg.offset_4|, thread2Thread1of1ForFork1_~arg.base=v_thread2Thread1of1ForFork1_~arg.base_4, ~#ma~0.base=|v_~#ma~0.base_63|, thread2Thread1of1ForFork1_~arg.offset=v_thread2Thread1of1ForFork1_~arg.offset_4, thread2Thread1of1ForFork1_#t~nondet6=|v_thread2Thread1of1ForFork1_#t~nondet6_15|, thread2Thread1of1ForFork1_#in~arg.base=|v_thread2Thread1of1ForFork1_#in~arg.base_4|, ~#ma~0.offset=|v_~#ma~0.offset_63|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_~arg.base, thread2Thread1of1ForFork1_~arg.offset, thread2Thread1of1ForFork1_#t~nondet6] {2450#(and (<= ~data1~0 11) (<= 11 ~data1~0))} is VALID [2020-07-28 20:17:28,982 INFO L280 TraceCheckUtils]: 10: Hoare triple {2450#(and (<= ~data1~0 11) (<= 11 ~data1~0))} [173] L688-->L689: Formula: (= v_~data1~0_3 (+ v_~data1~0_4 5)) InVars {~data1~0=v_~data1~0_4} OutVars{~data1~0=v_~data1~0_3} AuxVars[] AssignedVars[~data1~0] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,983 INFO L280 TraceCheckUtils]: 11: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [174] L689-->L690: Formula: (= |v_#pthreadsMutex_11| (store |v_#pthreadsMutex_12| |v_~#ma~0.base_6| (store (select |v_#pthreadsMutex_12| |v_~#ma~0.base_6|) |v_~#ma~0.offset_6| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_12|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_11|, ~#ma~0.base=|v_~#ma~0.base_6|, ~#ma~0.offset=|v_~#ma~0.offset_6|} AuxVars[] AssignedVars[#pthreadsMutex] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,984 INFO L280 TraceCheckUtils]: 12: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [162] L680-->L680-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_6| |v_~#ma~0.base_3|))) (and (= (store |v_#pthreadsMutex_6| |v_~#ma~0.base_3| (store .cse0 |v_~#ma~0.offset_3| 1)) |v_#pthreadsMutex_5|) (= 0 |v_thread1Thread1of1ForFork0_#t~nondet4_1|) (= 0 (select .cse0 |v_~#ma~0.offset_3|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_6|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_1|, #pthreadsMutex=|v_#pthreadsMutex_5|, ~#ma~0.base=|v_~#ma~0.base_3|, ~#ma~0.offset=|v_~#ma~0.offset_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, #pthreadsMutex] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,984 INFO L280 TraceCheckUtils]: 13: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [199] L680-1-->L681-1: Formula: (= v_~data2~0_9 |v_thread1Thread1of1ForFork0_#t~post5_6|) InVars {~data2~0=v_~data2~0_9} OutVars{thread1Thread1of1ForFork0_#t~nondet4=|v_thread1Thread1of1ForFork0_#t~nondet4_5|, ~data2~0=v_~data2~0_9, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~nondet4, thread1Thread1of1ForFork0_#t~post5] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,985 INFO L280 TraceCheckUtils]: 14: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [202] L681-1-->L682: Formula: (= (+ |v_thread1Thread1of1ForFork0_#t~post5_10| 1) v_~data2~0_15) InVars {thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_10|} OutVars{~data2~0=v_~data2~0_15, thread1Thread1of1ForFork0_#t~post5=|v_thread1Thread1of1ForFork0_#t~post5_9|} AuxVars[] AssignedVars[~data2~0, thread1Thread1of1ForFork0_#t~post5] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,986 INFO L280 TraceCheckUtils]: 15: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [220] L682-->thread1EXIT: Formula: (and (= (store |v_#pthreadsMutex_102| |v_~#ma~0.base_47| (store (select |v_#pthreadsMutex_102| |v_~#ma~0.base_47|) |v_~#ma~0.offset_47| 0)) |v_#pthreadsMutex_101|) (= 0 |v_thread1Thread1of1ForFork0_#res.offset_5|) (= 0 |v_thread1Thread1of1ForFork0_#res.base_5|)) InVars {#pthreadsMutex=|v_#pthreadsMutex_102|, ~#ma~0.base=|v_~#ma~0.base_47|, ~#ma~0.offset=|v_~#ma~0.offset_47|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_101|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_5|, ~#ma~0.base=|v_~#ma~0.base_47|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_5|, ~#ma~0.offset=|v_~#ma~0.offset_47|} AuxVars[] AssignedVars[#pthreadsMutex, thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,987 INFO L280 TraceCheckUtils]: 16: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [194] L690-->L691: Formula: (let ((.cse0 (select |v_#pthreadsMutex_32| |v_~#ma~0.base_19|))) (and (= |v_#pthreadsMutex_31| (store |v_#pthreadsMutex_32| |v_~#ma~0.base_19| (store .cse0 |v_~#ma~0.offset_19| 1))) (= 0 (select .cse0 |v_~#ma~0.offset_19|)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_32|, ~#ma~0.base=|v_~#ma~0.base_19|, ~#ma~0.offset=|v_~#ma~0.offset_19|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_31|, ~#ma~0.base=|v_~#ma~0.base_19|, thread2Thread1of1ForFork1_#t~nondet7=|v_thread2Thread1of1ForFork1_#t~nondet7_7|, ~#ma~0.offset=|v_~#ma~0.offset_19|} AuxVars[] AssignedVars[#pthreadsMutex, thread2Thread1of1ForFork1_#t~nondet7] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,988 INFO L280 TraceCheckUtils]: 17: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [177] L691-->L692: Formula: (= v_~data2~0_3 (+ v_~data2~0_4 (- 6))) InVars {~data2~0=v_~data2~0_4} OutVars{~data2~0=v_~data2~0_3} AuxVars[] AssignedVars[~data2~0] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,989 INFO L280 TraceCheckUtils]: 18: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [224] L692-->thread2EXIT: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.offset_5| 0) (= 0 |v_thread2Thread1of1ForFork1_#res.base_5|) (= |v_#pthreadsMutex_145| (store |v_#pthreadsMutex_146| |v_~#ma~0.base_62| (store (select |v_#pthreadsMutex_146| |v_~#ma~0.base_62|) |v_~#ma~0.offset_62| 0)))) InVars {#pthreadsMutex=|v_#pthreadsMutex_146|, ~#ma~0.base=|v_~#ma~0.base_62|, ~#ma~0.offset=|v_~#ma~0.offset_62|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_5|, #pthreadsMutex=|v_#pthreadsMutex_145|, ~#ma~0.base=|v_~#ma~0.base_62|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_5|, ~#ma~0.offset=|v_~#ma~0.offset_62|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, #pthreadsMutex, thread2Thread1of1ForFork1_#res.base] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,990 INFO L280 TraceCheckUtils]: 19: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [185] thread1EXIT-->L704-2: Formula: (= |v_ULTIMATE.start_main_#t~mem10_5| v_thread1Thread1of1ForFork0_thidvar0_4) InVars {ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,991 INFO L280 TraceCheckUtils]: 20: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [128] L704-2-->L705: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10=|v_ULTIMATE.start_main_#t~mem10_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,992 INFO L280 TraceCheckUtils]: 21: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [85] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11_2| (select (select |v_#memory_int_16| |v_ULTIMATE.start_main_~#t2~0.base_6|) |v_ULTIMATE.start_main_~#t2~0.offset_6|)) InVars {ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} OutVars{ULTIMATE.start_main_~#t2~0.offset=|v_ULTIMATE.start_main_~#t2~0.offset_6|, #memory_int=|v_#memory_int_16|, ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_2|, ULTIMATE.start_main_~#t2~0.base=|v_ULTIMATE.start_main_~#t2~0.base_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,993 INFO L280 TraceCheckUtils]: 22: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [188] thread2EXIT-->L705-2: Formula: (= |v_ULTIMATE.start_main_#t~mem11_7| v_thread2Thread1of1ForFork1_thidvar0_6) InVars {ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_6} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_7|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_6} AuxVars[] AssignedVars[] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,996 INFO L280 TraceCheckUtils]: 23: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [90] L705-2-->L706: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11=|v_ULTIMATE.start_main_#t~mem11_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11] {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} is VALID [2020-07-28 20:17:28,997 INFO L280 TraceCheckUtils]: 24: Hoare triple {2451#(and (<= ~data1~0 16) (<= 16 ~data1~0))} [212] L706-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: (and (not (= 16 v_~data1~0_22)) (not (= 5 v_~data2~0_19))) InVars {~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} OutVars{~data1~0=v_~data1~0_22, ~data2~0=v_~data2~0_19} AuxVars[] AssignedVars[] {2447#false} is VALID [2020-07-28 20:17:28,999 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 20:17:28,999 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2014652656] [2020-07-28 20:17:29,000 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 20:17:29,000 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-28 20:17:29,000 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383986735] [2020-07-28 20:17:29,001 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2020-07-28 20:17:29,001 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 20:17:29,001 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-28 20:17:29,045 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:29,045 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-28 20:17:29,045 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 20:17:29,046 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-28 20:17:29,046 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-28 20:17:29,046 INFO L87 Difference]: Start difference. First operand 98 states and 161 transitions. Second operand 6 states. [2020-07-28 20:17:29,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:29,210 INFO L93 Difference]: Finished difference Result 97 states and 160 transitions. [2020-07-28 20:17:29,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-28 20:17:29,210 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2020-07-28 20:17:29,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 20:17:29,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 20:17:29,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 39 transitions. [2020-07-28 20:17:29,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 20:17:29,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 39 transitions. [2020-07-28 20:17:29,213 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 39 transitions. [2020-07-28 20:17:29,261 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 20:17:29,261 INFO L225 Difference]: With dead ends: 97 [2020-07-28 20:17:29,261 INFO L226 Difference]: Without dead ends: 0 [2020-07-28 20:17:29,262 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2020-07-28 20:17:29,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-28 20:17:29,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-28 20:17:29,263 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 20:17:29,263 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-28 20:17:29,263 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-28 20:17:29,263 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-28 20:17:29,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:29,263 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-28 20:17:29,264 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-28 20:17:29,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:29,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:29,264 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-28 20:17:29,264 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-28 20:17:29,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 20:17:29,265 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-28 20:17:29,265 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-28 20:17:29,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:29,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 20:17:29,265 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 20:17:29,266 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 20:17:29,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-28 20:17:29,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-28 20:17:29,266 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 25 [2020-07-28 20:17:29,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 20:17:29,267 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-28 20:17:29,267 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-28 20:17:29,267 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-28 20:17:29,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 20:17:29,267 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-28 20:17:29,272 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.07 08:17:29 BasicIcfg [2020-07-28 20:17:29,272 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-28 20:17:29,273 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2020-07-28 20:17:29,273 INFO L271 PluginConnector]: Initializing Witness Printer... [2020-07-28 20:17:29,273 INFO L275 PluginConnector]: Witness Printer initialized [2020-07-28 20:17:29,274 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 08:17:23" (3/4) ... [2020-07-28 20:17:29,278 INFO L137 WitnessPrinter]: Generating witness for correct program [2020-07-28 20:17:29,285 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure thread1 [2020-07-28 20:17:29,285 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure thread2 [2020-07-28 20:17:29,290 INFO L902 BoogieBacktranslator]: Reduced CFG by removing 10 nodes and edges [2020-07-28 20:17:29,291 INFO L902 BoogieBacktranslator]: Reduced CFG by removing 3 nodes and edges [2020-07-28 20:17:29,291 INFO L902 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2020-07-28 20:17:29,338 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2020-07-28 20:17:29,339 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2020-07-28 20:17:29,341 INFO L168 Benchmark]: Toolchain (without parser) took 7260.65 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 315.1 MB). Free memory was 960.2 MB in the beginning and 1.2 GB in the end (delta: -258.8 MB). Peak memory consumption was 56.3 MB. Max. memory is 11.5 GB. [2020-07-28 20:17:29,342 INFO L168 Benchmark]: CDTParser took 0.76 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 20:17:29,343 INFO L168 Benchmark]: CACSL2BoogieTranslator took 815.57 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 960.2 MB in the beginning and 1.1 GB in the end (delta: -156.1 MB). Peak memory consumption was 26.5 MB. Max. memory is 11.5 GB. [2020-07-28 20:17:29,344 INFO L168 Benchmark]: Boogie Procedure Inliner took 55.79 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2020-07-28 20:17:29,344 INFO L168 Benchmark]: Boogie Preprocessor took 30.72 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 20:17:29,345 INFO L168 Benchmark]: RCFGBuilder took 604.26 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 39.7 MB). Peak memory consumption was 39.7 MB. Max. memory is 11.5 GB. [2020-07-28 20:17:29,345 INFO L168 Benchmark]: TraceAbstraction took 5680.77 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 159.9 MB). Free memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: -158.5 MB). Peak memory consumption was 1.5 MB. Max. memory is 11.5 GB. [2020-07-28 20:17:29,346 INFO L168 Benchmark]: Witness Printer took 66.11 ms. Allocated memory is still 1.3 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 9.3 MB). Peak memory consumption was 9.3 MB. Max. memory is 11.5 GB. [2020-07-28 20:17:29,350 INFO L336 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.76 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 815.57 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 155.2 MB). Free memory was 960.2 MB in the beginning and 1.1 GB in the end (delta: -156.1 MB). Peak memory consumption was 26.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 55.79 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 30.72 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 604.26 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 39.7 MB). Peak memory consumption was 39.7 MB. Max. memory is 11.5 GB. * TraceAbstraction took 5680.77 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 159.9 MB). Free memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: -158.5 MB). Peak memory consumption was 1.5 MB. Max. memory is 11.5 GB. * Witness Printer took 66.11 ms. Allocated memory is still 1.3 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 9.3 MB). Peak memory consumption was 9.3 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: PetriNetLargeBlockEncoding benchmarks LbeTime: 3.0s, 82 ProgramPointsBefore, 35 ProgramPointsAfterwards, 78 TransitionsBefore, 30 TransitionsAfterwards, 680 CoEnabledTransitionPairs, 6 FixpointIterations, 32 TrivialSequentialCompositions, 14 ConcurrentSequentialCompositions, 6 TrivialYvCompositions, 0 ConcurrentYvCompositions, 1 ChoiceCompositions, 289 VarBasedMoverChecksPositive, 29 VarBasedMoverChecksNegative, 13 SemBasedMoverChecksPositive, 33 SemBasedMoverChecksNegative, 0 SemBasedMoverChecksUnknown, SemBasedMoverCheckTime: 0.5s, 0 MoverChecksTotal, 1930 CheckedPairsTotal, 52 TotalNumberOfCompositions - PositiveResult [Line: 708]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - StatisticsResult: Ultimate Automizer benchmark data CFG has 3 procedures, 76 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: SAFE, OverallTime: 5.5s, OverallIterations: 4, TraceHistogramMax: 1, AutomataDifference: 1.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 3.1s, HoareTripleCheckerStatistics: 148 SDtfs, 80 SDslu, 267 SDs, 0 SdLazy, 60 SolverSat, 6 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=198occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 4 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.5s InterpolantComputationTime, 100 NumberOfCodeBlocks, 100 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 96 ConstructedInterpolants, 0 QuantifiedInterpolants, 12048 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 4 InterpolantComputations, 4 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 correct! Received shutdown request...