java -ea -Xmx8000000000 -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 ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf -i ../../../trunk/examples/svcomp/ldv-sets/test_mutex_unlock_at_exit_false-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:11:31,118 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:11:31,121 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:11:31,136 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:11:31,136 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:11:31,137 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:11:31,139 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:11:31,144 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:11:31,146 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:11:31,147 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:11:31,148 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:11:31,149 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:11:31,154 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:11:31,157 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:11:31,158 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:11:31,162 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:11:31,163 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:11:31,168 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:11:31,172 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:11:31,174 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:11:31,175 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:11:31,180 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:11:31,187 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:11:31,187 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:11:31,188 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:11:31,189 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:11:31,192 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:11:31,193 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:11:31,194 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:11:31,195 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:11:31,195 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:11:31,196 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:11:31,196 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:11:31,196 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:11:31,199 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:11:31,201 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:11:31,201 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 11:11:31,229 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:11:31,230 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:11:31,232 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:11:31,232 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:11:31,233 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:11:31,233 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:11:31,233 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:11:31,234 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:11:31,234 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:11:31,234 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:11:31,234 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:11:31,236 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:11:31,236 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:11:31,236 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:11:31,236 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:11:31,236 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:11:31,237 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:11:31,237 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:11:31,237 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:11:31,237 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:11:31,238 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:11:31,239 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:11:31,239 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:11:31,239 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:11:31,240 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:11:31,240 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:11:31,240 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:11:31,240 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:11:31,241 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:11:31,241 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:11:31,241 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:11:31,241 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:11:31,241 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:11:31,317 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:11:31,331 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:11:31,337 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:11:31,339 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:11:31,340 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:11:31,340 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-sets/test_mutex_unlock_at_exit_false-unreach-call.i [2018-11-23 11:11:31,418 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ce450370e/03bbd99e69cb4cec853c1f990f8eca1a/FLAG2e2d3e2f3 [2018-11-23 11:11:32,030 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:11:32,031 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_unlock_at_exit_false-unreach-call.i [2018-11-23 11:11:32,046 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ce450370e/03bbd99e69cb4cec853c1f990f8eca1a/FLAG2e2d3e2f3 [2018-11-23 11:11:32,274 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ce450370e/03bbd99e69cb4cec853c1f990f8eca1a [2018-11-23 11:11:32,287 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:11:32,288 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:11:32,289 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:11:32,289 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:11:32,293 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:11:32,295 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:11:32" (1/1) ... [2018-11-23 11:11:32,298 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3ee665d3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:32, skipping insertion in model container [2018-11-23 11:11:32,299 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:11:32" (1/1) ... [2018-11-23 11:11:32,309 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:11:32,372 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:11:33,004 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:11:33,024 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:11:33,205 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:11:33,281 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:11:33,282 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33 WrapperNode [2018-11-23 11:11:33,282 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:11:33,283 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:11:33,283 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:11:33,283 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:11:33,294 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,324 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,344 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:11:33,344 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:11:33,345 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:11:33,345 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:11:33,354 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,354 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,359 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,360 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,387 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,394 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,403 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (1/1) ... [2018-11-23 11:11:33,416 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:11:33,417 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:11:33,417 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:11:33,417 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:11:33,418 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (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 [2018-11-23 11:11:33,475 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:11:33,475 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_initialize [2018-11-23 11:11:33,476 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_initialize [2018-11-23 11:11:33,476 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_add [2018-11-23 11:11:33,476 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_add [2018-11-23 11:11:33,476 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_empty [2018-11-23 11:11:33,476 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_empty [2018-11-23 11:11:33,477 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_del [2018-11-23 11:11:33,477 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_del [2018-11-23 11:11:33,477 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2018-11-23 11:11:33,477 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2018-11-23 11:11:33,477 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_add [2018-11-23 11:11:33,478 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_add [2018-11-23 11:11:33,478 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:11:33,478 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:11:33,478 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock [2018-11-23 11:11:33,479 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock [2018-11-23 11:11:33,479 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:11:33,479 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:11:33,479 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 11:11:33,479 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_add [2018-11-23 11:11:33,479 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_add [2018-11-23 11:11:33,480 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_in_set [2018-11-23 11:11:33,480 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_in_set [2018-11-23 11:11:33,480 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 11:11:33,480 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_empty [2018-11-23 11:11:33,480 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_empty [2018-11-23 11:11:33,480 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 11:11:33,480 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2018-11-23 11:11:33,481 INFO L130 BoogieDeclarations]: Found specification of procedure foo [2018-11-23 11:11:33,481 INFO L138 BoogieDeclarations]: Found implementation of procedure foo [2018-11-23 11:11:33,481 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_del [2018-11-23 11:11:33,481 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_del [2018-11-23 11:11:33,481 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_successful_malloc [2018-11-23 11:11:33,481 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_successful_malloc [2018-11-23 11:11:33,482 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_check_final_state [2018-11-23 11:11:33,482 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_check_final_state [2018-11-23 11:11:33,482 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_del [2018-11-23 11:11:33,482 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_del [2018-11-23 11:11:33,482 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:11:33,483 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:11:34,885 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:11:34,885 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 11:11:34,886 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:11:34 BoogieIcfgContainer [2018-11-23 11:11:34,886 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:11:34,887 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:11:34,887 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:11:34,891 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:11:34,891 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:11:32" (1/3) ... [2018-11-23 11:11:34,892 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@15972d6f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:11:34, skipping insertion in model container [2018-11-23 11:11:34,892 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:11:33" (2/3) ... [2018-11-23 11:11:34,892 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@15972d6f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:11:34, skipping insertion in model container [2018-11-23 11:11:34,893 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:11:34" (3/3) ... [2018-11-23 11:11:34,895 INFO L112 eAbstractionObserver]: Analyzing ICFG test_mutex_unlock_at_exit_false-unreach-call.i [2018-11-23 11:11:34,906 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:11:34,916 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 3 error locations. [2018-11-23 11:11:34,936 INFO L257 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2018-11-23 11:11:34,970 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:11:34,971 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:11:34,971 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:11:34,971 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:11:34,972 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:11:34,972 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:11:34,972 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:11:34,972 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:11:34,972 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:11:34,999 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states. [2018-11-23 11:11:35,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 11:11:35,009 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:11:35,011 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:11:35,014 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:11:35,020 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:11:35,021 INFO L82 PathProgramCache]: Analyzing trace with hash -2064840809, now seen corresponding path program 1 times [2018-11-23 11:11:35,026 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:11:35,027 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:11:35,046 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:11:35,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:35,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:35,206 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:11:35,782 INFO L256 TraceCheckUtils]: 0: Hoare triple {99#true} call ULTIMATE.init(); {99#true} is VALID [2018-11-23 11:11:35,786 INFO L273 TraceCheckUtils]: 1: Hoare triple {99#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#mutexes~0.base, ~#mutexes~0.offset := #Ultimate.alloc(8bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~#mutexes~0.offset, 4bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~bvadd32(4bv32, ~#mutexes~0.offset), 4bv32); {99#true} is VALID [2018-11-23 11:11:35,787 INFO L273 TraceCheckUtils]: 2: Hoare triple {99#true} assume true; {99#true} is VALID [2018-11-23 11:11:35,787 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {99#true} {99#true} #168#return; {99#true} is VALID [2018-11-23 11:11:35,788 INFO L256 TraceCheckUtils]: 4: Hoare triple {99#true} call #t~ret32 := main(); {99#true} is VALID [2018-11-23 11:11:35,788 INFO L256 TraceCheckUtils]: 5: Hoare triple {99#true} call foo(); {99#true} is VALID [2018-11-23 11:11:35,788 INFO L256 TraceCheckUtils]: 6: Hoare triple {99#true} call ldv_initialize(); {99#true} is VALID [2018-11-23 11:11:35,789 INFO L273 TraceCheckUtils]: 7: Hoare triple {99#true} assume true; {99#true} is VALID [2018-11-23 11:11:35,789 INFO L268 TraceCheckUtils]: 8: Hoare quadruple {99#true} {99#true} #130#return; {99#true} is VALID [2018-11-23 11:11:35,789 INFO L256 TraceCheckUtils]: 9: Hoare triple {99#true} call #t~ret30.base, #t~ret30.offset := ldv_successful_malloc(8bv32); {99#true} is VALID [2018-11-23 11:11:35,790 INFO L273 TraceCheckUtils]: 10: Hoare triple {99#true} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {99#true} is VALID [2018-11-23 11:11:35,790 INFO L273 TraceCheckUtils]: 11: Hoare triple {99#true} assume true; {99#true} is VALID [2018-11-23 11:11:35,791 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {99#true} {99#true} #132#return; {99#true} is VALID [2018-11-23 11:11:35,791 INFO L273 TraceCheckUtils]: 13: Hoare triple {99#true} ~m1~0.base, ~m1~0.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {99#true} is VALID [2018-11-23 11:11:35,791 INFO L256 TraceCheckUtils]: 14: Hoare triple {99#true} call #t~ret31.base, #t~ret31.offset := ldv_successful_malloc(8bv32); {99#true} is VALID [2018-11-23 11:11:35,792 INFO L273 TraceCheckUtils]: 15: Hoare triple {99#true} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {99#true} is VALID [2018-11-23 11:11:35,792 INFO L273 TraceCheckUtils]: 16: Hoare triple {99#true} assume true; {99#true} is VALID [2018-11-23 11:11:35,793 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {99#true} {99#true} #134#return; {99#true} is VALID [2018-11-23 11:11:35,793 INFO L273 TraceCheckUtils]: 18: Hoare triple {99#true} ~m2~0.base, ~m2~0.offset := #t~ret31.base, #t~ret31.offset;havoc #t~ret31.base, #t~ret31.offset; {99#true} is VALID [2018-11-23 11:11:35,793 INFO L256 TraceCheckUtils]: 19: Hoare triple {99#true} call mutex_lock(~m1~0.base, ~m1~0.offset); {99#true} is VALID [2018-11-23 11:11:35,794 INFO L273 TraceCheckUtils]: 20: Hoare triple {99#true} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {99#true} is VALID [2018-11-23 11:11:35,794 INFO L256 TraceCheckUtils]: 21: Hoare triple {99#true} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {99#true} is VALID [2018-11-23 11:11:35,795 INFO L273 TraceCheckUtils]: 22: Hoare triple {99#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {99#true} is VALID [2018-11-23 11:11:35,795 INFO L273 TraceCheckUtils]: 23: Hoare triple {99#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {99#true} is VALID [2018-11-23 11:11:35,812 INFO L273 TraceCheckUtils]: 24: Hoare triple {99#true} #res := 0bv32; {176#(= |ldv_is_in_set_#res| (_ bv0 32))} is VALID [2018-11-23 11:11:35,821 INFO L273 TraceCheckUtils]: 25: Hoare triple {176#(= |ldv_is_in_set_#res| (_ bv0 32))} assume true; {176#(= |ldv_is_in_set_#res| (_ bv0 32))} is VALID [2018-11-23 11:11:35,836 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {176#(= |ldv_is_in_set_#res| (_ bv0 32))} {99#true} #158#return; {183#(= |mutex_lock_#t~ret27| (_ bv0 32))} is VALID [2018-11-23 11:11:35,849 INFO L273 TraceCheckUtils]: 27: Hoare triple {183#(= |mutex_lock_#t~ret27| (_ bv0 32))} assume 0bv32 != #t~ret27;havoc #t~ret27; {100#false} is VALID [2018-11-23 11:11:35,850 INFO L273 TraceCheckUtils]: 28: Hoare triple {100#false} assume !false; {100#false} is VALID [2018-11-23 11:11:35,856 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 11:11:35,857 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:11:35,866 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:11:35,867 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:11:35,874 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 29 [2018-11-23 11:11:35,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:11:35,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:11:35,960 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:11:35,961 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:11:35,971 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:11:35,972 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:11:35,974 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 4 states. [2018-11-23 11:11:37,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:37,305 INFO L93 Difference]: Finished difference Result 181 states and 218 transitions. [2018-11-23 11:11:37,306 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:11:37,306 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 29 [2018-11-23 11:11:37,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:11:37,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:11:37,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 218 transitions. [2018-11-23 11:11:37,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:11:37,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 218 transitions. [2018-11-23 11:11:37,349 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 218 transitions. [2018-11-23 11:11:37,897 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 218 edges. 218 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:11:37,917 INFO L225 Difference]: With dead ends: 181 [2018-11-23 11:11:37,918 INFO L226 Difference]: Without dead ends: 90 [2018-11-23 11:11:37,924 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:11:37,942 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2018-11-23 11:11:38,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 90. [2018-11-23 11:11:38,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:11:38,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand 90 states. [2018-11-23 11:11:38,044 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 90 states. [2018-11-23 11:11:38,044 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 90 states. [2018-11-23 11:11:38,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:38,055 INFO L93 Difference]: Finished difference Result 90 states and 101 transitions. [2018-11-23 11:11:38,055 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 101 transitions. [2018-11-23 11:11:38,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:11:38,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:11:38,058 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 90 states. [2018-11-23 11:11:38,058 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 90 states. [2018-11-23 11:11:38,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:38,067 INFO L93 Difference]: Finished difference Result 90 states and 101 transitions. [2018-11-23 11:11:38,068 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 101 transitions. [2018-11-23 11:11:38,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:11:38,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:11:38,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:11:38,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:11:38,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2018-11-23 11:11:38,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 101 transitions. [2018-11-23 11:11:38,080 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 101 transitions. Word has length 29 [2018-11-23 11:11:38,080 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:11:38,080 INFO L480 AbstractCegarLoop]: Abstraction has 90 states and 101 transitions. [2018-11-23 11:11:38,081 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:11:38,081 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 101 transitions. [2018-11-23 11:11:38,082 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 11:11:38,082 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:11:38,083 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:11:38,083 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:11:38,083 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:11:38,084 INFO L82 PathProgramCache]: Analyzing trace with hash -2014047154, now seen corresponding path program 1 times [2018-11-23 11:11:38,084 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:11:38,085 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:11:38,115 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:11:38,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:38,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:38,229 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:11:38,671 INFO L256 TraceCheckUtils]: 0: Hoare triple {745#true} call ULTIMATE.init(); {745#true} is VALID [2018-11-23 11:11:38,676 INFO L273 TraceCheckUtils]: 1: Hoare triple {745#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#mutexes~0.base, ~#mutexes~0.offset := #Ultimate.alloc(8bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~#mutexes~0.offset, 4bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~bvadd32(4bv32, ~#mutexes~0.offset), 4bv32); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,677 INFO L273 TraceCheckUtils]: 2: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,678 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {745#true} #168#return; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,679 INFO L256 TraceCheckUtils]: 4: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret32 := main(); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,680 INFO L256 TraceCheckUtils]: 5: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call foo(); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,681 INFO L256 TraceCheckUtils]: 6: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call ldv_initialize(); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,684 INFO L273 TraceCheckUtils]: 7: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,686 INFO L268 TraceCheckUtils]: 8: Hoare quadruple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #130#return; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,688 INFO L256 TraceCheckUtils]: 9: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret30.base, #t~ret30.offset := ldv_successful_malloc(8bv32); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,690 INFO L273 TraceCheckUtils]: 10: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,692 INFO L273 TraceCheckUtils]: 11: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,698 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #132#return; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,699 INFO L273 TraceCheckUtils]: 13: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~m1~0.base, ~m1~0.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,700 INFO L256 TraceCheckUtils]: 14: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret31.base, #t~ret31.offset := ldv_successful_malloc(8bv32); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,702 INFO L273 TraceCheckUtils]: 15: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,704 INFO L273 TraceCheckUtils]: 16: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,705 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #134#return; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,707 INFO L273 TraceCheckUtils]: 18: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~m2~0.base, ~m2~0.offset := #t~ret31.base, #t~ret31.offset;havoc #t~ret31.base, #t~ret31.offset; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,708 INFO L256 TraceCheckUtils]: 19: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call mutex_lock(~m1~0.base, ~m1~0.offset); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,715 INFO L273 TraceCheckUtils]: 20: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,719 INFO L256 TraceCheckUtils]: 21: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,723 INFO L273 TraceCheckUtils]: 22: Hoare triple {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {817#(and (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset) ldv_is_in_set_~m~1.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= ldv_is_in_set_~s.offset |ldv_is_in_set_#in~s.offset|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,738 INFO L273 TraceCheckUtils]: 23: Hoare triple {817#(and (= |ldv_is_in_set_#in~s.base| ldv_is_in_set_~s.base) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset) ldv_is_in_set_~m~1.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~s.base) ldv_is_in_set_~s.offset)) (= ldv_is_in_set_~s.offset |ldv_is_in_set_#in~s.offset|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {821#(and (or (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,740 INFO L273 TraceCheckUtils]: 24: Hoare triple {821#(and (or (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {821#(and (or (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,742 INFO L273 TraceCheckUtils]: 25: Hoare triple {821#(and (or (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {821#(and (or (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:38,745 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {821#(and (or (not (= |ldv_is_in_set_#in~s.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) |ldv_is_in_set_#in~s.offset|))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {753#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #158#return; {746#false} is VALID [2018-11-23 11:11:38,746 INFO L273 TraceCheckUtils]: 27: Hoare triple {746#false} assume 0bv32 != #t~ret27;havoc #t~ret27; {746#false} is VALID [2018-11-23 11:11:38,746 INFO L273 TraceCheckUtils]: 28: Hoare triple {746#false} assume !false; {746#false} is VALID [2018-11-23 11:11:38,759 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 11:11:38,759 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:11:38,763 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:11:38,764 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 11:11:38,766 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 29 [2018-11-23 11:11:38,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:11:38,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 11:11:38,922 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:11:38,922 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 11:11:38,923 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 11:11:38,923 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:11:38,923 INFO L87 Difference]: Start difference. First operand 90 states and 101 transitions. Second operand 5 states. [2018-11-23 11:11:41,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:41,967 INFO L93 Difference]: Finished difference Result 232 states and 275 transitions. [2018-11-23 11:11:41,967 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:11:41,967 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 29 [2018-11-23 11:11:41,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:11:41,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:11:41,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 261 transitions. [2018-11-23 11:11:41,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 11:11:41,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 261 transitions. [2018-11-23 11:11:41,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 261 transitions. [2018-11-23 11:11:42,680 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:11:42,691 INFO L225 Difference]: With dead ends: 232 [2018-11-23 11:11:42,691 INFO L226 Difference]: Without dead ends: 156 [2018-11-23 11:11:42,693 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:11:42,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-11-23 11:11:42,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 130. [2018-11-23 11:11:42,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:11:42,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 130 states. [2018-11-23 11:11:42,930 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 130 states. [2018-11-23 11:11:42,931 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 130 states. [2018-11-23 11:11:42,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:42,941 INFO L93 Difference]: Finished difference Result 156 states and 182 transitions. [2018-11-23 11:11:42,942 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 182 transitions. [2018-11-23 11:11:42,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:11:42,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:11:42,945 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 156 states. [2018-11-23 11:11:42,945 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 156 states. [2018-11-23 11:11:42,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:42,956 INFO L93 Difference]: Finished difference Result 156 states and 182 transitions. [2018-11-23 11:11:42,956 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 182 transitions. [2018-11-23 11:11:42,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:11:42,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:11:42,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:11:42,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:11:42,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 130 states. [2018-11-23 11:11:42,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 155 transitions. [2018-11-23 11:11:42,967 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 155 transitions. Word has length 29 [2018-11-23 11:11:42,968 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:11:42,968 INFO L480 AbstractCegarLoop]: Abstraction has 130 states and 155 transitions. [2018-11-23 11:11:42,968 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 11:11:42,968 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 155 transitions. [2018-11-23 11:11:42,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2018-11-23 11:11:42,971 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:11:42,971 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:11:42,972 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:11:42,972 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:11:42,972 INFO L82 PathProgramCache]: Analyzing trace with hash 361058723, now seen corresponding path program 1 times [2018-11-23 11:11:42,973 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:11:42,974 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:11:42,995 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:11:43,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:43,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:43,180 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:11:43,297 INFO L256 TraceCheckUtils]: 0: Hoare triple {1660#true} call ULTIMATE.init(); {1660#true} is VALID [2018-11-23 11:11:43,297 INFO L273 TraceCheckUtils]: 1: Hoare triple {1660#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#mutexes~0.base, ~#mutexes~0.offset := #Ultimate.alloc(8bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~#mutexes~0.offset, 4bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~bvadd32(4bv32, ~#mutexes~0.offset), 4bv32); {1660#true} is VALID [2018-11-23 11:11:43,297 INFO L273 TraceCheckUtils]: 2: Hoare triple {1660#true} assume true; {1660#true} is VALID [2018-11-23 11:11:43,298 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1660#true} {1660#true} #168#return; {1660#true} is VALID [2018-11-23 11:11:43,298 INFO L256 TraceCheckUtils]: 4: Hoare triple {1660#true} call #t~ret32 := main(); {1660#true} is VALID [2018-11-23 11:11:43,298 INFO L256 TraceCheckUtils]: 5: Hoare triple {1660#true} call foo(); {1660#true} is VALID [2018-11-23 11:11:43,299 INFO L256 TraceCheckUtils]: 6: Hoare triple {1660#true} call ldv_initialize(); {1660#true} is VALID [2018-11-23 11:11:43,299 INFO L273 TraceCheckUtils]: 7: Hoare triple {1660#true} assume true; {1660#true} is VALID [2018-11-23 11:11:43,299 INFO L268 TraceCheckUtils]: 8: Hoare quadruple {1660#true} {1660#true} #130#return; {1660#true} is VALID [2018-11-23 11:11:43,300 INFO L256 TraceCheckUtils]: 9: Hoare triple {1660#true} call #t~ret30.base, #t~ret30.offset := ldv_successful_malloc(8bv32); {1660#true} is VALID [2018-11-23 11:11:43,300 INFO L273 TraceCheckUtils]: 10: Hoare triple {1660#true} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {1660#true} is VALID [2018-11-23 11:11:43,300 INFO L273 TraceCheckUtils]: 11: Hoare triple {1660#true} assume true; {1660#true} is VALID [2018-11-23 11:11:43,300 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {1660#true} {1660#true} #132#return; {1660#true} is VALID [2018-11-23 11:11:43,301 INFO L273 TraceCheckUtils]: 13: Hoare triple {1660#true} ~m1~0.base, ~m1~0.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1660#true} is VALID [2018-11-23 11:11:43,301 INFO L256 TraceCheckUtils]: 14: Hoare triple {1660#true} call #t~ret31.base, #t~ret31.offset := ldv_successful_malloc(8bv32); {1660#true} is VALID [2018-11-23 11:11:43,301 INFO L273 TraceCheckUtils]: 15: Hoare triple {1660#true} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {1660#true} is VALID [2018-11-23 11:11:43,301 INFO L273 TraceCheckUtils]: 16: Hoare triple {1660#true} assume true; {1660#true} is VALID [2018-11-23 11:11:43,302 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1660#true} {1660#true} #134#return; {1660#true} is VALID [2018-11-23 11:11:43,302 INFO L273 TraceCheckUtils]: 18: Hoare triple {1660#true} ~m2~0.base, ~m2~0.offset := #t~ret31.base, #t~ret31.offset;havoc #t~ret31.base, #t~ret31.offset; {1660#true} is VALID [2018-11-23 11:11:43,302 INFO L256 TraceCheckUtils]: 19: Hoare triple {1660#true} call mutex_lock(~m1~0.base, ~m1~0.offset); {1660#true} is VALID [2018-11-23 11:11:43,302 INFO L273 TraceCheckUtils]: 20: Hoare triple {1660#true} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {1660#true} is VALID [2018-11-23 11:11:43,302 INFO L256 TraceCheckUtils]: 21: Hoare triple {1660#true} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {1660#true} is VALID [2018-11-23 11:11:43,303 INFO L273 TraceCheckUtils]: 22: Hoare triple {1660#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {1660#true} is VALID [2018-11-23 11:11:43,303 INFO L273 TraceCheckUtils]: 23: Hoare triple {1660#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {1660#true} is VALID [2018-11-23 11:11:43,303 INFO L273 TraceCheckUtils]: 24: Hoare triple {1660#true} #res := 0bv32; {1660#true} is VALID [2018-11-23 11:11:43,303 INFO L273 TraceCheckUtils]: 25: Hoare triple {1660#true} assume true; {1660#true} is VALID [2018-11-23 11:11:43,304 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1660#true} {1660#true} #158#return; {1660#true} is VALID [2018-11-23 11:11:43,304 INFO L273 TraceCheckUtils]: 27: Hoare triple {1660#true} assume !(0bv32 != #t~ret27);havoc #t~ret27; {1660#true} is VALID [2018-11-23 11:11:43,304 INFO L256 TraceCheckUtils]: 28: Hoare triple {1660#true} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {1660#true} is VALID [2018-11-23 11:11:43,304 INFO L273 TraceCheckUtils]: 29: Hoare triple {1660#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {1660#true} is VALID [2018-11-23 11:11:43,305 INFO L256 TraceCheckUtils]: 30: Hoare triple {1660#true} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {1660#true} is VALID [2018-11-23 11:11:43,305 INFO L273 TraceCheckUtils]: 31: Hoare triple {1660#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {1660#true} is VALID [2018-11-23 11:11:43,305 INFO L273 TraceCheckUtils]: 32: Hoare triple {1660#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {1660#true} is VALID [2018-11-23 11:11:43,306 INFO L273 TraceCheckUtils]: 33: Hoare triple {1660#true} #res := 0bv32; {1764#(= |ldv_is_in_set_#res| (_ bv0 32))} is VALID [2018-11-23 11:11:43,310 INFO L273 TraceCheckUtils]: 34: Hoare triple {1764#(= |ldv_is_in_set_#res| (_ bv0 32))} assume true; {1764#(= |ldv_is_in_set_#res| (_ bv0 32))} is VALID [2018-11-23 11:11:43,311 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1764#(= |ldv_is_in_set_#res| (_ bv0 32))} {1660#true} #162#return; {1771#(= |ldv_set_add_#t~ret17| (_ bv0 32))} is VALID [2018-11-23 11:11:43,312 INFO L273 TraceCheckUtils]: 36: Hoare triple {1771#(= |ldv_set_add_#t~ret17| (_ bv0 32))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {1661#false} is VALID [2018-11-23 11:11:43,312 INFO L273 TraceCheckUtils]: 37: Hoare triple {1661#false} assume true; {1661#false} is VALID [2018-11-23 11:11:43,312 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {1661#false} {1660#true} #160#return; {1661#false} is VALID [2018-11-23 11:11:43,312 INFO L273 TraceCheckUtils]: 39: Hoare triple {1661#false} assume true; {1661#false} is VALID [2018-11-23 11:11:43,313 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {1661#false} {1660#true} #136#return; {1661#false} is VALID [2018-11-23 11:11:43,313 INFO L256 TraceCheckUtils]: 41: Hoare triple {1661#false} call mutex_lock(~m2~0.base, ~m2~0.offset); {1661#false} is VALID [2018-11-23 11:11:43,313 INFO L273 TraceCheckUtils]: 42: Hoare triple {1661#false} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {1661#false} is VALID [2018-11-23 11:11:43,313 INFO L256 TraceCheckUtils]: 43: Hoare triple {1661#false} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {1661#false} is VALID [2018-11-23 11:11:43,314 INFO L273 TraceCheckUtils]: 44: Hoare triple {1661#false} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {1661#false} is VALID [2018-11-23 11:11:43,314 INFO L273 TraceCheckUtils]: 45: Hoare triple {1661#false} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {1661#false} is VALID [2018-11-23 11:11:43,314 INFO L273 TraceCheckUtils]: 46: Hoare triple {1661#false} #res := 0bv32; {1661#false} is VALID [2018-11-23 11:11:43,314 INFO L273 TraceCheckUtils]: 47: Hoare triple {1661#false} assume true; {1661#false} is VALID [2018-11-23 11:11:43,315 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {1661#false} {1661#false} #158#return; {1661#false} is VALID [2018-11-23 11:11:43,315 INFO L273 TraceCheckUtils]: 49: Hoare triple {1661#false} assume !(0bv32 != #t~ret27);havoc #t~ret27; {1661#false} is VALID [2018-11-23 11:11:43,315 INFO L256 TraceCheckUtils]: 50: Hoare triple {1661#false} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {1661#false} is VALID [2018-11-23 11:11:43,316 INFO L273 TraceCheckUtils]: 51: Hoare triple {1661#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {1661#false} is VALID [2018-11-23 11:11:43,316 INFO L256 TraceCheckUtils]: 52: Hoare triple {1661#false} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {1661#false} is VALID [2018-11-23 11:11:43,316 INFO L273 TraceCheckUtils]: 53: Hoare triple {1661#false} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {1661#false} is VALID [2018-11-23 11:11:43,316 INFO L273 TraceCheckUtils]: 54: Hoare triple {1661#false} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {1661#false} is VALID [2018-11-23 11:11:43,317 INFO L273 TraceCheckUtils]: 55: Hoare triple {1661#false} #res := 0bv32; {1661#false} is VALID [2018-11-23 11:11:43,317 INFO L273 TraceCheckUtils]: 56: Hoare triple {1661#false} assume true; {1661#false} is VALID [2018-11-23 11:11:43,317 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {1661#false} {1661#false} #162#return; {1661#false} is VALID [2018-11-23 11:11:43,317 INFO L273 TraceCheckUtils]: 58: Hoare triple {1661#false} assume !(0bv32 == #t~ret17);havoc #t~ret17; {1661#false} is VALID [2018-11-23 11:11:43,318 INFO L273 TraceCheckUtils]: 59: Hoare triple {1661#false} assume true; {1661#false} is VALID [2018-11-23 11:11:43,318 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {1661#false} {1661#false} #160#return; {1661#false} is VALID [2018-11-23 11:11:43,318 INFO L273 TraceCheckUtils]: 61: Hoare triple {1661#false} assume true; {1661#false} is VALID [2018-11-23 11:11:43,318 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {1661#false} {1661#false} #138#return; {1661#false} is VALID [2018-11-23 11:11:43,319 INFO L256 TraceCheckUtils]: 63: Hoare triple {1661#false} call mutex_unlock(~m1~0.base, ~m1~0.offset); {1661#false} is VALID [2018-11-23 11:11:43,319 INFO L273 TraceCheckUtils]: 64: Hoare triple {1661#false} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {1661#false} is VALID [2018-11-23 11:11:43,319 INFO L256 TraceCheckUtils]: 65: Hoare triple {1661#false} call #t~ret28 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {1661#false} is VALID [2018-11-23 11:11:43,319 INFO L273 TraceCheckUtils]: 66: Hoare triple {1661#false} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {1661#false} is VALID [2018-11-23 11:11:43,320 INFO L273 TraceCheckUtils]: 67: Hoare triple {1661#false} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {1661#false} is VALID [2018-11-23 11:11:43,320 INFO L273 TraceCheckUtils]: 68: Hoare triple {1661#false} #res := 0bv32; {1661#false} is VALID [2018-11-23 11:11:43,320 INFO L273 TraceCheckUtils]: 69: Hoare triple {1661#false} assume true; {1661#false} is VALID [2018-11-23 11:11:43,320 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {1661#false} {1661#false} #148#return; {1661#false} is VALID [2018-11-23 11:11:43,321 INFO L273 TraceCheckUtils]: 71: Hoare triple {1661#false} assume 0bv32 == #t~ret28;havoc #t~ret28; {1661#false} is VALID [2018-11-23 11:11:43,321 INFO L273 TraceCheckUtils]: 72: Hoare triple {1661#false} assume !false; {1661#false} is VALID [2018-11-23 11:11:43,326 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 39 proven. 0 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2018-11-23 11:11:43,326 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:11:43,337 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:11:43,337 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:11:43,338 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 73 [2018-11-23 11:11:43,338 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:11:43,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:11:43,430 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:11:43,431 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:11:43,431 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:11:43,431 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:11:43,432 INFO L87 Difference]: Start difference. First operand 130 states and 155 transitions. Second operand 4 states. [2018-11-23 11:11:44,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:44,383 INFO L93 Difference]: Finished difference Result 235 states and 281 transitions. [2018-11-23 11:11:44,383 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:11:44,383 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 73 [2018-11-23 11:11:44,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:11:44,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:11:44,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 182 transitions. [2018-11-23 11:11:44,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:11:44,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 182 transitions. [2018-11-23 11:11:44,401 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 182 transitions. [2018-11-23 11:11:44,705 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 182 edges. 182 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:11:44,711 INFO L225 Difference]: With dead ends: 235 [2018-11-23 11:11:44,711 INFO L226 Difference]: Without dead ends: 134 [2018-11-23 11:11:44,712 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:11:44,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2018-11-23 11:11:44,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 134. [2018-11-23 11:11:44,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:11:44,872 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand 134 states. [2018-11-23 11:11:44,872 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 134 states. [2018-11-23 11:11:44,873 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 134 states. [2018-11-23 11:11:44,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:44,880 INFO L93 Difference]: Finished difference Result 134 states and 159 transitions. [2018-11-23 11:11:44,881 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 159 transitions. [2018-11-23 11:11:44,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:11:44,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:11:44,882 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 134 states. [2018-11-23 11:11:44,882 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 134 states. [2018-11-23 11:11:44,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:11:44,890 INFO L93 Difference]: Finished difference Result 134 states and 159 transitions. [2018-11-23 11:11:44,890 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 159 transitions. [2018-11-23 11:11:44,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:11:44,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:11:44,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:11:44,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:11:44,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-11-23 11:11:44,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 159 transitions. [2018-11-23 11:11:44,899 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 159 transitions. Word has length 73 [2018-11-23 11:11:44,899 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:11:44,899 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 159 transitions. [2018-11-23 11:11:44,899 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:11:44,899 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 159 transitions. [2018-11-23 11:11:44,901 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2018-11-23 11:11:44,901 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:11:44,902 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:11:44,902 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:11:44,902 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:11:44,903 INFO L82 PathProgramCache]: Analyzing trace with hash 139175477, now seen corresponding path program 1 times [2018-11-23 11:11:44,903 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:11:44,903 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:11:44,928 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:11:45,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:45,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:11:45,185 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:11:45,463 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:11:45,465 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:45,486 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:45,487 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:33, output treesize:32 [2018-11-23 11:11:45,494 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:11:45,494 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_30|]. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= |#valid| (store |v_#valid_30| |ldv_successful_malloc_#res.base| (_ bv1 1))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:11:45,495 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:11:45,925 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:11:45,928 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:11:45,930 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 4 [2018-11-23 11:11:45,932 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:45,958 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:45,958 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:37, output treesize:31 [2018-11-23 11:11:45,965 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:11:45,966 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_old(#valid)_AFTER_CALL_16|]. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= (_ bv0 1) (select |v_old(#valid)_AFTER_CALL_16| |foo_#t~ret31.base|)) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (_ bv1 1) (select |v_old(#valid)_AFTER_CALL_16| foo_~m1~0.base)) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:11:45,966 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= foo_~m1~0.base |foo_#t~ret31.base|)) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:11:46,109 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-23 11:11:46,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 11:11:46,123 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:46,125 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:46,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:11:46,162 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:11:46,163 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 11:11:46,172 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:46,174 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:46,183 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:46,184 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:33, output treesize:10 [2018-11-23 11:11:46,188 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:11:46,188 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_6|, |v_#memory_$Pointer$.offset_BEFORE_CALL_6|]. (let ((.cse0 (select |v_#memory_$Pointer$.base_BEFORE_CALL_6| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.base| (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |~#mutexes~0.offset| (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_6| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:11:46,188 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) [2018-11-23 11:11:47,067 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:11:47,076 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:11:47,078 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 11:11:47,079 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:47,083 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:47,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-23 11:11:47,103 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 11:11:47,104 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:47,106 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:47,116 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:47,116 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:33, output treesize:10 [2018-11-23 11:11:47,121 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:11:47,122 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_10|, |v_#memory_$Pointer$.offset_BEFORE_CALL_10|]. (let ((.cse0 (select |v_#memory_$Pointer$.base_BEFORE_CALL_10| |~#mutexes~0.base|))) (and (= |~#mutexes~0.base| (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32)))) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|) (= (_ bv0 32) |~#mutexes~0.offset|) (= (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_10| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) [2018-11-23 11:11:47,122 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) [2018-11-23 11:11:47,278 INFO L256 TraceCheckUtils]: 0: Hoare triple {2667#true} call ULTIMATE.init(); {2667#true} is VALID [2018-11-23 11:11:47,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {2667#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#mutexes~0.base, ~#mutexes~0.offset := #Ultimate.alloc(8bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~#mutexes~0.offset, 4bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~bvadd32(4bv32, ~#mutexes~0.offset), 4bv32); {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,283 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {2667#true} #168#return; {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,285 INFO L256 TraceCheckUtils]: 4: Hoare triple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret32 := main(); {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,285 INFO L256 TraceCheckUtils]: 5: Hoare triple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call foo(); {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,286 INFO L256 TraceCheckUtils]: 6: Hoare triple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call ldv_initialize(); {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,288 INFO L273 TraceCheckUtils]: 7: Hoare triple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,289 INFO L268 TraceCheckUtils]: 8: Hoare quadruple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #130#return; {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,290 INFO L256 TraceCheckUtils]: 9: Hoare triple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret30.base, #t~ret30.offset := ldv_successful_malloc(8bv32); {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,293 INFO L273 TraceCheckUtils]: 10: Hoare triple {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {2703#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,295 INFO L273 TraceCheckUtils]: 11: Hoare triple {2703#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {2703#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,298 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {2703#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {2675#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #132#return; {2710#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (_ bv1 1) (select |#valid| |foo_#t~ret30.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,300 INFO L273 TraceCheckUtils]: 13: Hoare triple {2710#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (_ bv1 1) (select |#valid| |foo_#t~ret30.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~m1~0.base, ~m1~0.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2714#(and (= (_ bv1 1) (select |#valid| foo_~m1~0.base)) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,303 INFO L256 TraceCheckUtils]: 14: Hoare triple {2714#(and (= (_ bv1 1) (select |#valid| foo_~m1~0.base)) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret31.base, #t~ret31.offset := ldv_successful_malloc(8bv32); {2718#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#valid| |old(#valid)|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,304 INFO L273 TraceCheckUtils]: 15: Hoare triple {2718#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#valid| |old(#valid)|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {2722#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,305 INFO L273 TraceCheckUtils]: 16: Hoare triple {2722#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {2722#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,316 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {2722#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {2714#(and (= (_ bv1 1) (select |#valid| foo_~m1~0.base)) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #134#return; {2729#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= foo_~m1~0.base |foo_#t~ret31.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,318 INFO L273 TraceCheckUtils]: 18: Hoare triple {2729#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= foo_~m1~0.base |foo_#t~ret31.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~m2~0.base, ~m2~0.offset := #t~ret31.base, #t~ret31.offset;havoc #t~ret31.base, #t~ret31.offset; {2733#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|) (not (= foo_~m1~0.base foo_~m2~0.base)))} is VALID [2018-11-23 11:11:47,319 INFO L256 TraceCheckUtils]: 19: Hoare triple {2733#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|) (not (= foo_~m1~0.base foo_~m2~0.base)))} call mutex_lock(~m1~0.base, ~m1~0.offset); {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,319 INFO L273 TraceCheckUtils]: 20: Hoare triple {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,321 INFO L256 TraceCheckUtils]: 21: Hoare triple {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,323 INFO L273 TraceCheckUtils]: 22: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,324 INFO L273 TraceCheckUtils]: 23: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,324 INFO L273 TraceCheckUtils]: 24: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} #res := 0bv32; {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,324 INFO L273 TraceCheckUtils]: 25: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} assume true; {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,325 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #158#return; {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,326 INFO L273 TraceCheckUtils]: 27: Hoare triple {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,328 INFO L256 TraceCheckUtils]: 28: Hoare triple {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,329 INFO L273 TraceCheckUtils]: 29: Hoare triple {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {2770#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} is VALID [2018-11-23 11:11:47,330 INFO L256 TraceCheckUtils]: 30: Hoare triple {2770#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,333 INFO L273 TraceCheckUtils]: 31: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2777#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} is VALID [2018-11-23 11:11:47,352 INFO L273 TraceCheckUtils]: 32: Hoare triple {2777#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {2781#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:11:47,353 INFO L273 TraceCheckUtils]: 33: Hoare triple {2781#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} is VALID [2018-11-23 11:11:47,354 INFO L273 TraceCheckUtils]: 34: Hoare triple {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} assume true; {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} is VALID [2018-11-23 11:11:47,357 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} {2770#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} #162#return; {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,359 INFO L273 TraceCheckUtils]: 36: Hoare triple {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,359 INFO L273 TraceCheckUtils]: 37: Hoare triple {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,594 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #160#return; {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,595 INFO L273 TraceCheckUtils]: 39: Hoare triple {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,615 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {2733#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|) (not (= foo_~m1~0.base foo_~m2~0.base)))} #136#return; {2809#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:11:47,631 INFO L256 TraceCheckUtils]: 41: Hoare triple {2809#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call mutex_lock(~m2~0.base, ~m2~0.offset); {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,645 INFO L273 TraceCheckUtils]: 42: Hoare triple {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,655 INFO L256 TraceCheckUtils]: 43: Hoare triple {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,656 INFO L273 TraceCheckUtils]: 44: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,657 INFO L273 TraceCheckUtils]: 45: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,659 INFO L273 TraceCheckUtils]: 46: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} #res := 0bv32; {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,659 INFO L273 TraceCheckUtils]: 47: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} assume true; {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,660 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #158#return; {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,661 INFO L273 TraceCheckUtils]: 49: Hoare triple {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,662 INFO L256 TraceCheckUtils]: 50: Hoare triple {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,663 INFO L273 TraceCheckUtils]: 51: Hoare triple {2737#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {2770#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} is VALID [2018-11-23 11:11:47,665 INFO L256 TraceCheckUtils]: 52: Hoare triple {2770#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:11:47,669 INFO L273 TraceCheckUtils]: 53: Hoare triple {2745#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2777#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} is VALID [2018-11-23 11:11:47,671 INFO L273 TraceCheckUtils]: 54: Hoare triple {2777#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {2781#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:11:47,671 INFO L273 TraceCheckUtils]: 55: Hoare triple {2781#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} is VALID [2018-11-23 11:11:47,672 INFO L273 TraceCheckUtils]: 56: Hoare triple {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} assume true; {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} is VALID [2018-11-23 11:11:47,676 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {2785#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} {2770#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} #162#return; {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,681 INFO L273 TraceCheckUtils]: 58: Hoare triple {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,682 INFO L273 TraceCheckUtils]: 59: Hoare triple {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,825 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {2792#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {2741#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #160#return; {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,829 INFO L273 TraceCheckUtils]: 61: Hoare triple {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:11:47,831 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {2802#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {2809#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #138#return; {2668#false} is VALID [2018-11-23 11:11:47,832 INFO L256 TraceCheckUtils]: 63: Hoare triple {2668#false} call mutex_unlock(~m1~0.base, ~m1~0.offset); {2668#false} is VALID [2018-11-23 11:11:47,832 INFO L273 TraceCheckUtils]: 64: Hoare triple {2668#false} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {2668#false} is VALID [2018-11-23 11:11:47,832 INFO L256 TraceCheckUtils]: 65: Hoare triple {2668#false} call #t~ret28 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2668#false} is VALID [2018-11-23 11:11:47,832 INFO L273 TraceCheckUtils]: 66: Hoare triple {2668#false} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2668#false} is VALID [2018-11-23 11:11:47,832 INFO L273 TraceCheckUtils]: 67: Hoare triple {2668#false} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {2668#false} is VALID [2018-11-23 11:11:47,832 INFO L273 TraceCheckUtils]: 68: Hoare triple {2668#false} #res := 0bv32; {2668#false} is VALID [2018-11-23 11:11:47,833 INFO L273 TraceCheckUtils]: 69: Hoare triple {2668#false} assume true; {2668#false} is VALID [2018-11-23 11:11:47,833 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {2668#false} {2668#false} #148#return; {2668#false} is VALID [2018-11-23 11:11:47,833 INFO L273 TraceCheckUtils]: 71: Hoare triple {2668#false} assume 0bv32 == #t~ret28;havoc #t~ret28; {2668#false} is VALID [2018-11-23 11:11:47,833 INFO L273 TraceCheckUtils]: 72: Hoare triple {2668#false} assume !false; {2668#false} is VALID [2018-11-23 11:11:47,852 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 28 proven. 5 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2018-11-23 11:11:47,853 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:11:48,239 WARN L180 SmtUtils]: Spent 210.00 ms on a formula simplification that was a NOOP. DAG size: 35 [2018-11-23 11:11:48,445 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:11:51,459 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:11:56,569 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:11:58,185 WARN L180 SmtUtils]: Spent 106.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:11:58,730 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 72 treesize of output 68 [2018-11-23 11:11:58,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 56 [2018-11-23 11:11:58,751 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:11:58,789 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:11:58,901 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 64 treesize of output 66 [2018-11-23 11:11:58,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 55 [2018-11-23 11:11:58,947 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:59,034 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 40 [2018-11-23 11:11:59,037 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 11:11:59,164 INFO L267 ElimStorePlain]: Start of recursive call 4: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:11:59,214 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:11:59,215 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:99, output treesize:67 [2018-11-23 11:12:00,540 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 49 treesize of output 57 [2018-11-23 11:12:00,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 40 [2018-11-23 11:12:00,565 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:12:00,632 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 35 [2018-11-23 11:12:00,636 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 11:12:00,657 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:12:00,671 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:12:00,671 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:67, output treesize:17 [2018-11-23 11:12:02,651 INFO L273 TraceCheckUtils]: 72: Hoare triple {2668#false} assume !false; {2668#false} is VALID [2018-11-23 11:12:02,651 INFO L273 TraceCheckUtils]: 71: Hoare triple {2668#false} assume 0bv32 == #t~ret28;havoc #t~ret28; {2668#false} is VALID [2018-11-23 11:12:02,651 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {2667#true} {2668#false} #148#return; {2668#false} is VALID [2018-11-23 11:12:02,651 INFO L273 TraceCheckUtils]: 69: Hoare triple {2667#true} assume true; {2667#true} is VALID [2018-11-23 11:12:02,652 INFO L273 TraceCheckUtils]: 68: Hoare triple {2667#true} #res := 0bv32; {2667#true} is VALID [2018-11-23 11:12:02,652 INFO L273 TraceCheckUtils]: 67: Hoare triple {2667#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {2667#true} is VALID [2018-11-23 11:12:02,652 INFO L273 TraceCheckUtils]: 66: Hoare triple {2667#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2667#true} is VALID [2018-11-23 11:12:02,652 INFO L256 TraceCheckUtils]: 65: Hoare triple {2668#false} call #t~ret28 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2667#true} is VALID [2018-11-23 11:12:02,652 INFO L273 TraceCheckUtils]: 64: Hoare triple {2668#false} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {2668#false} is VALID [2018-11-23 11:12:02,653 INFO L256 TraceCheckUtils]: 63: Hoare triple {2668#false} call mutex_unlock(~m1~0.base, ~m1~0.offset); {2668#false} is VALID [2018-11-23 11:12:02,654 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {2940#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))} {2936#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base))} #138#return; {2668#false} is VALID [2018-11-23 11:12:02,654 INFO L273 TraceCheckUtils]: 61: Hoare triple {2940#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))} assume true; {2940#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:12:02,655 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {2951#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} #160#return; {2940#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:12:02,656 INFO L273 TraceCheckUtils]: 59: Hoare triple {2951#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} assume true; {2951#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} is VALID [2018-11-23 11:12:02,656 INFO L273 TraceCheckUtils]: 58: Hoare triple {2951#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {2951#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} is VALID [2018-11-23 11:12:02,660 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} {2961#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)) (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} #162#return; {2951#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} is VALID [2018-11-23 11:12:02,678 INFO L273 TraceCheckUtils]: 56: Hoare triple {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} assume true; {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:12:02,694 INFO L273 TraceCheckUtils]: 55: Hoare triple {2972#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:12:02,701 INFO L273 TraceCheckUtils]: 54: Hoare triple {2976#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {2972#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} is VALID [2018-11-23 11:12:02,703 INFO L273 TraceCheckUtils]: 53: Hoare triple {2667#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2976#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} is VALID [2018-11-23 11:12:02,704 INFO L256 TraceCheckUtils]: 52: Hoare triple {2961#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)) (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {2667#true} is VALID [2018-11-23 11:12:02,707 INFO L273 TraceCheckUtils]: 51: Hoare triple {2983#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32))))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {2961#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)) (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} is VALID [2018-11-23 11:12:02,711 INFO L256 TraceCheckUtils]: 50: Hoare triple {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2983#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32))))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} is VALID [2018-11-23 11:12:02,711 INFO L273 TraceCheckUtils]: 49: Hoare triple {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:12:02,712 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {2667#true} {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} #158#return; {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:12:02,712 INFO L273 TraceCheckUtils]: 47: Hoare triple {2667#true} assume true; {2667#true} is VALID [2018-11-23 11:12:02,713 INFO L273 TraceCheckUtils]: 46: Hoare triple {2667#true} #res := 0bv32; {2667#true} is VALID [2018-11-23 11:12:02,713 INFO L273 TraceCheckUtils]: 45: Hoare triple {2667#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {2667#true} is VALID [2018-11-23 11:12:02,713 INFO L273 TraceCheckUtils]: 44: Hoare triple {2667#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2667#true} is VALID [2018-11-23 11:12:02,713 INFO L256 TraceCheckUtils]: 43: Hoare triple {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2667#true} is VALID [2018-11-23 11:12:02,714 INFO L273 TraceCheckUtils]: 42: Hoare triple {3008#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {2947#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:12:02,715 INFO L256 TraceCheckUtils]: 41: Hoare triple {2936#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base))} call mutex_lock(~m2~0.base, ~m2~0.offset); {3008#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:12:02,717 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {3016#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))} {3012#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)))} #136#return; {2936#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base))} is VALID [2018-11-23 11:12:02,718 INFO L273 TraceCheckUtils]: 39: Hoare triple {3016#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))} assume true; {3016#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:12:02,724 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {3027#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} #160#return; {3016#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:12:02,725 INFO L273 TraceCheckUtils]: 37: Hoare triple {3027#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} assume true; {3027#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:12:02,725 INFO L273 TraceCheckUtils]: 36: Hoare triple {3027#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {3027#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:12:02,729 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} {3037#(or (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)))} #162#return; {3027#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:12:02,730 INFO L273 TraceCheckUtils]: 34: Hoare triple {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} assume true; {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:12:02,731 INFO L273 TraceCheckUtils]: 33: Hoare triple {2972#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {2965#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:12:02,731 INFO L273 TraceCheckUtils]: 32: Hoare triple {2976#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {2972#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} is VALID [2018-11-23 11:12:02,733 INFO L273 TraceCheckUtils]: 31: Hoare triple {2667#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2976#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} is VALID [2018-11-23 11:12:02,734 INFO L256 TraceCheckUtils]: 30: Hoare triple {3037#(or (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {2667#true} is VALID [2018-11-23 11:12:02,778 INFO L273 TraceCheckUtils]: 29: Hoare triple {2983#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32))))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {3037#(or (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)))} is VALID [2018-11-23 11:12:02,781 INFO L256 TraceCheckUtils]: 28: Hoare triple {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2983#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32))))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|))} is VALID [2018-11-23 11:12:02,782 INFO L273 TraceCheckUtils]: 27: Hoare triple {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:12:02,783 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2667#true} {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} #158#return; {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:12:02,783 INFO L273 TraceCheckUtils]: 25: Hoare triple {2667#true} assume true; {2667#true} is VALID [2018-11-23 11:12:02,784 INFO L273 TraceCheckUtils]: 24: Hoare triple {2667#true} #res := 0bv32; {2667#true} is VALID [2018-11-23 11:12:02,784 INFO L273 TraceCheckUtils]: 23: Hoare triple {2667#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {2667#true} is VALID [2018-11-23 11:12:02,784 INFO L273 TraceCheckUtils]: 22: Hoare triple {2667#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {2667#true} is VALID [2018-11-23 11:12:02,784 INFO L256 TraceCheckUtils]: 21: Hoare triple {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {2667#true} is VALID [2018-11-23 11:12:02,785 INFO L273 TraceCheckUtils]: 20: Hoare triple {3008#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {3023#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:12:02,787 INFO L256 TraceCheckUtils]: 19: Hoare triple {3012#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)))} call mutex_lock(~m1~0.base, ~m1~0.offset); {3008#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:12:02,787 INFO L273 TraceCheckUtils]: 18: Hoare triple {3083#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |foo_#t~ret31.base|)))} ~m2~0.base, ~m2~0.offset := #t~ret31.base, #t~ret31.offset;havoc #t~ret31.base, #t~ret31.offset; {3012#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)))} is VALID [2018-11-23 11:12:02,791 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {3091#(or (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} {3087#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)))} #134#return; {3083#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |foo_#t~ret31.base|)))} is VALID [2018-11-23 11:12:02,792 INFO L273 TraceCheckUtils]: 16: Hoare triple {3091#(or (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} assume true; {3091#(or (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} is VALID [2018-11-23 11:12:02,794 INFO L273 TraceCheckUtils]: 15: Hoare triple {3098#(or (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {3091#(or (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} is VALID [2018-11-23 11:12:02,795 INFO L256 TraceCheckUtils]: 14: Hoare triple {3087#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)))} call #t~ret31.base, #t~ret31.offset := ldv_successful_malloc(8bv32); {3098#(or (= (_ bv0 1) (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))))} is VALID [2018-11-23 11:12:02,796 INFO L273 TraceCheckUtils]: 13: Hoare triple {3102#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |foo_#t~ret30.base|)))} ~m1~0.base, ~m1~0.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3087#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)))} is VALID [2018-11-23 11:12:02,798 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {3109#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} {2667#true} #132#return; {3102#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |foo_#t~ret30.base|)))} is VALID [2018-11-23 11:12:02,799 INFO L273 TraceCheckUtils]: 11: Hoare triple {3109#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} assume true; {3109#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} is VALID [2018-11-23 11:12:02,802 INFO L273 TraceCheckUtils]: 10: Hoare triple {2667#true} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {3109#(or (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} is VALID [2018-11-23 11:12:02,802 INFO L256 TraceCheckUtils]: 9: Hoare triple {2667#true} call #t~ret30.base, #t~ret30.offset := ldv_successful_malloc(8bv32); {2667#true} is VALID [2018-11-23 11:12:02,803 INFO L268 TraceCheckUtils]: 8: Hoare quadruple {2667#true} {2667#true} #130#return; {2667#true} is VALID [2018-11-23 11:12:02,803 INFO L273 TraceCheckUtils]: 7: Hoare triple {2667#true} assume true; {2667#true} is VALID [2018-11-23 11:12:02,803 INFO L256 TraceCheckUtils]: 6: Hoare triple {2667#true} call ldv_initialize(); {2667#true} is VALID [2018-11-23 11:12:02,803 INFO L256 TraceCheckUtils]: 5: Hoare triple {2667#true} call foo(); {2667#true} is VALID [2018-11-23 11:12:02,803 INFO L256 TraceCheckUtils]: 4: Hoare triple {2667#true} call #t~ret32 := main(); {2667#true} is VALID [2018-11-23 11:12:02,803 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2667#true} {2667#true} #168#return; {2667#true} is VALID [2018-11-23 11:12:02,804 INFO L273 TraceCheckUtils]: 2: Hoare triple {2667#true} assume true; {2667#true} is VALID [2018-11-23 11:12:02,804 INFO L273 TraceCheckUtils]: 1: Hoare triple {2667#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#mutexes~0.base, ~#mutexes~0.offset := #Ultimate.alloc(8bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~#mutexes~0.offset, 4bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~bvadd32(4bv32, ~#mutexes~0.offset), 4bv32); {2667#true} is VALID [2018-11-23 11:12:02,804 INFO L256 TraceCheckUtils]: 0: Hoare triple {2667#true} call ULTIMATE.init(); {2667#true} is VALID [2018-11-23 11:12:02,836 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 10 proven. 20 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 11:12:02,839 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:12:02,839 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 23] total 41 [2018-11-23 11:12:02,840 INFO L78 Accepts]: Start accepts. Automaton has 41 states. Word has length 73 [2018-11-23 11:12:02,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:12:02,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states. [2018-11-23 11:12:03,152 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:12:03,152 INFO L459 AbstractCegarLoop]: Interpolant automaton has 41 states [2018-11-23 11:12:03,152 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2018-11-23 11:12:03,153 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=162, Invalid=1478, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 11:12:03,153 INFO L87 Difference]: Start difference. First operand 134 states and 159 transitions. Second operand 41 states. [2018-11-23 11:12:16,007 WARN L180 SmtUtils]: Spent 165.00 ms on a formula simplification. DAG size of input: 49 DAG size of output: 48 [2018-11-23 11:13:03,003 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:13:08,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:13:08,894 INFO L93 Difference]: Finished difference Result 302 states and 374 transitions. [2018-11-23 11:13:08,895 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2018-11-23 11:13:08,895 INFO L78 Accepts]: Start accepts. Automaton has 41 states. Word has length 73 [2018-11-23 11:13:08,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:13:08,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 11:13:08,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 326 transitions. [2018-11-23 11:13:08,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 11:13:08,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 326 transitions. [2018-11-23 11:13:08,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 326 transitions. [2018-11-23 11:13:11,130 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 326 edges. 326 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:13:11,139 INFO L225 Difference]: With dead ends: 302 [2018-11-23 11:13:11,139 INFO L226 Difference]: Without dead ends: 229 [2018-11-23 11:13:11,142 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 111 SyntacticMatches, 2 SemanticMatches, 76 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1648 ImplicationChecksByTransitivity, 14.5s TimeCoverageRelationStatistics Valid=717, Invalid=5289, Unknown=0, NotChecked=0, Total=6006 [2018-11-23 11:13:11,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2018-11-23 11:13:11,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 185. [2018-11-23 11:13:11,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:13:11,591 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand 185 states. [2018-11-23 11:13:11,591 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand 185 states. [2018-11-23 11:13:11,592 INFO L87 Difference]: Start difference. First operand 229 states. Second operand 185 states. [2018-11-23 11:13:11,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:13:11,605 INFO L93 Difference]: Finished difference Result 229 states and 290 transitions. [2018-11-23 11:13:11,606 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 290 transitions. [2018-11-23 11:13:11,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:13:11,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:13:11,608 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand 229 states. [2018-11-23 11:13:11,608 INFO L87 Difference]: Start difference. First operand 185 states. Second operand 229 states. [2018-11-23 11:13:11,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:13:11,621 INFO L93 Difference]: Finished difference Result 229 states and 290 transitions. [2018-11-23 11:13:11,621 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 290 transitions. [2018-11-23 11:13:11,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:13:11,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:13:11,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:13:11,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:13:11,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 185 states. [2018-11-23 11:13:11,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 236 transitions. [2018-11-23 11:13:11,633 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 236 transitions. Word has length 73 [2018-11-23 11:13:11,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:13:11,634 INFO L480 AbstractCegarLoop]: Abstraction has 185 states and 236 transitions. [2018-11-23 11:13:11,634 INFO L481 AbstractCegarLoop]: Interpolant automaton has 41 states. [2018-11-23 11:13:11,634 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 236 transitions. [2018-11-23 11:13:11,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2018-11-23 11:13:11,635 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:13:11,636 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:13:11,636 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:13:11,636 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:13:11,636 INFO L82 PathProgramCache]: Analyzing trace with hash -624398882, now seen corresponding path program 1 times [2018-11-23 11:13:11,637 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:13:11,637 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:13:11,665 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:13:11,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:13:11,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:13:11,915 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:13:12,047 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-23 11:13:12,070 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,091 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,092 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:33, output treesize:32 [2018-11-23 11:13:12,098 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:13:12,099 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_66|]. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= |#valid| (store |v_#valid_66| |ldv_successful_malloc_#res.base| (_ bv1 1))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:13:12,099 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:13:12,497 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:13:12,499 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:13:12,500 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 4 [2018-11-23 11:13:12,500 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,525 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,525 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:37, output treesize:31 [2018-11-23 11:13:12,530 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:13:12,530 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_old(#valid)_AFTER_CALL_35|]. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select |v_old(#valid)_AFTER_CALL_35| |foo_#t~ret31.base|) (_ bv0 1)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (_ bv1 1) (select |v_old(#valid)_AFTER_CALL_35| foo_~m1~0.base)) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:13:12,531 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.base| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= foo_~m1~0.base |foo_#t~ret31.base|)) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|))) [2018-11-23 11:13:12,767 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:13:12,777 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:13:12,778 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 11:13:12,780 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,782 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,794 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-23 11:13:12,801 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 11:13:12,802 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,804 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,811 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:12,811 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:33, output treesize:10 [2018-11-23 11:13:12,815 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:13:12,816 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_32|, |v_#memory_$Pointer$.offset_BEFORE_CALL_32|]. (let ((.cse0 (select |v_#memory_$Pointer$.base_BEFORE_CALL_32| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.base| (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|) (= |~#mutexes~0.offset| (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_32| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) [2018-11-23 11:13:12,816 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) [2018-11-23 11:13:13,556 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 5 [2018-11-23 11:13:13,566 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 11:13:13,569 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:13,573 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:13,596 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 11:13:13,605 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 11:13:13,606 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 11:13:13,609 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:13,611 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:13,622 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:13,622 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 2 variables, input treesize:33, output treesize:10 [2018-11-23 11:13:13,628 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 11:13:13,629 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_BEFORE_CALL_36|, |v_#memory_$Pointer$.offset_BEFORE_CALL_36|]. (let ((.cse0 (select |v_#memory_$Pointer$.base_BEFORE_CALL_36| |~#mutexes~0.base|))) (and (= (_ bv0 32) |~#mutexes~0.offset|) (= (select .cse0 |~#mutexes~0.offset|) |~#mutexes~0.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (select .cse0 (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |v_#memory_$Pointer$.offset_BEFORE_CALL_36| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.offset|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) [2018-11-23 11:13:13,629 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) [2018-11-23 11:13:14,388 INFO L256 TraceCheckUtils]: 0: Hoare triple {4349#true} call ULTIMATE.init(); {4349#true} is VALID [2018-11-23 11:13:14,390 INFO L273 TraceCheckUtils]: 1: Hoare triple {4349#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#mutexes~0.base, ~#mutexes~0.offset := #Ultimate.alloc(8bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~#mutexes~0.offset, 4bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~bvadd32(4bv32, ~#mutexes~0.offset), 4bv32); {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,391 INFO L273 TraceCheckUtils]: 2: Hoare triple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,391 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {4349#true} #168#return; {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,392 INFO L256 TraceCheckUtils]: 4: Hoare triple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret32 := main(); {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,393 INFO L256 TraceCheckUtils]: 5: Hoare triple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call foo(); {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,394 INFO L256 TraceCheckUtils]: 6: Hoare triple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call ldv_initialize(); {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,395 INFO L273 TraceCheckUtils]: 7: Hoare triple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,396 INFO L268 TraceCheckUtils]: 8: Hoare quadruple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #130#return; {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,397 INFO L256 TraceCheckUtils]: 9: Hoare triple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret30.base, #t~ret30.offset := ldv_successful_malloc(8bv32); {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,400 INFO L273 TraceCheckUtils]: 10: Hoare triple {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {4385#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,401 INFO L273 TraceCheckUtils]: 11: Hoare triple {4385#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {4385#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,404 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {4385#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= (_ bv1 1) (select |#valid| |ldv_successful_malloc_#res.base|)) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {4357#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #132#return; {4392#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (_ bv1 1) (select |#valid| |foo_#t~ret30.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,406 INFO L273 TraceCheckUtils]: 13: Hoare triple {4392#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (_ bv1 1) (select |#valid| |foo_#t~ret30.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~m1~0.base, ~m1~0.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4396#(and (= (_ bv1 1) (select |#valid| foo_~m1~0.base)) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,408 INFO L256 TraceCheckUtils]: 14: Hoare triple {4396#(and (= (_ bv1 1) (select |#valid| foo_~m1~0.base)) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call #t~ret31.base, #t~ret31.offset := ldv_successful_malloc(8bv32); {4400#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#valid| |old(#valid)|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,409 INFO L273 TraceCheckUtils]: 15: Hoare triple {4400#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#valid| |old(#valid)|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {4404#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,410 INFO L273 TraceCheckUtils]: 16: Hoare triple {4404#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} assume true; {4404#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,414 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {4404#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (_ bv0 1) (select |old(#valid)| |ldv_successful_malloc_#res.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} {4396#(and (= (_ bv1 1) (select |#valid| foo_~m1~0.base)) (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #134#return; {4411#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= foo_~m1~0.base |foo_#t~ret31.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,415 INFO L273 TraceCheckUtils]: 18: Hoare triple {4411#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= foo_~m1~0.base |foo_#t~ret31.base|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} ~m2~0.base, ~m2~0.offset := #t~ret31.base, #t~ret31.offset;havoc #t~ret31.base, #t~ret31.offset; {4415#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|) (not (= foo_~m1~0.base foo_~m2~0.base)))} is VALID [2018-11-23 11:13:14,416 INFO L256 TraceCheckUtils]: 19: Hoare triple {4415#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|) (not (= foo_~m1~0.base foo_~m2~0.base)))} call mutex_lock(~m1~0.base, ~m1~0.offset); {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,417 INFO L273 TraceCheckUtils]: 20: Hoare triple {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,424 INFO L256 TraceCheckUtils]: 21: Hoare triple {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,425 INFO L273 TraceCheckUtils]: 22: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,425 INFO L273 TraceCheckUtils]: 23: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,426 INFO L273 TraceCheckUtils]: 24: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} #res := 0bv32; {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,426 INFO L273 TraceCheckUtils]: 25: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} assume true; {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,427 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #158#return; {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,428 INFO L273 TraceCheckUtils]: 27: Hoare triple {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,429 INFO L256 TraceCheckUtils]: 28: Hoare triple {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,432 INFO L273 TraceCheckUtils]: 29: Hoare triple {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {4452#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} is VALID [2018-11-23 11:13:14,435 INFO L256 TraceCheckUtils]: 30: Hoare triple {4452#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,436 INFO L273 TraceCheckUtils]: 31: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} is VALID [2018-11-23 11:13:14,438 INFO L273 TraceCheckUtils]: 32: Hoare triple {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {4463#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:14,438 INFO L273 TraceCheckUtils]: 33: Hoare triple {4463#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {4467#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} is VALID [2018-11-23 11:13:14,439 INFO L273 TraceCheckUtils]: 34: Hoare triple {4467#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} assume true; {4467#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} is VALID [2018-11-23 11:13:14,443 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {4467#(and (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|))} {4452#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} #162#return; {4474#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,444 INFO L273 TraceCheckUtils]: 36: Hoare triple {4474#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {4474#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,445 INFO L273 TraceCheckUtils]: 37: Hoare triple {4474#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {4474#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,665 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4474#(and (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #160#return; {4484#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,666 INFO L273 TraceCheckUtils]: 39: Hoare triple {4484#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {4484#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,670 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4484#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {4415#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|) (not (= foo_~m1~0.base foo_~m2~0.base)))} #136#return; {4491#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} is VALID [2018-11-23 11:13:14,673 INFO L256 TraceCheckUtils]: 41: Hoare triple {4491#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} call mutex_lock(~m2~0.base, ~m2~0.offset); {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,674 INFO L273 TraceCheckUtils]: 42: Hoare triple {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,676 INFO L256 TraceCheckUtils]: 43: Hoare triple {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,676 INFO L273 TraceCheckUtils]: 44: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,677 INFO L273 TraceCheckUtils]: 45: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,678 INFO L273 TraceCheckUtils]: 46: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} #res := 0bv32; {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,678 INFO L273 TraceCheckUtils]: 47: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} assume true; {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,680 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #158#return; {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,681 INFO L273 TraceCheckUtils]: 49: Hoare triple {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,683 INFO L256 TraceCheckUtils]: 50: Hoare triple {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:14,684 INFO L273 TraceCheckUtils]: 51: Hoare triple {4419#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {4452#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} is VALID [2018-11-23 11:13:14,685 INFO L256 TraceCheckUtils]: 52: Hoare triple {4452#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} is VALID [2018-11-23 11:13:14,687 INFO L273 TraceCheckUtils]: 53: Hoare triple {4427#(= (_ bv0 32) |~#mutexes~0.offset|)} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} is VALID [2018-11-23 11:13:14,688 INFO L273 TraceCheckUtils]: 54: Hoare triple {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} is VALID [2018-11-23 11:13:14,689 INFO L273 TraceCheckUtils]: 55: Hoare triple {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} assume !(#t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset);havoc #t~mem25.base, #t~mem25.offset; {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} is VALID [2018-11-23 11:13:16,733 INFO L273 TraceCheckUtils]: 56: Hoare triple {4459#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)))} call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~m~1.base, ~bvadd32(4bv32, ~m~1.offset), 4bv32);~__mptr~4.base, ~__mptr~4.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset;~m~1.base, ~m~1.offset := ~__mptr~4.base, ~bvsub32(~__mptr~4.offset, 4bv32); {4540#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} is UNKNOWN [2018-11-23 11:13:16,735 INFO L273 TraceCheckUtils]: 57: Hoare triple {4540#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= ldv_is_in_set_~m~1.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base) (= (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {4544#(and (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base))} is VALID [2018-11-23 11:13:16,736 INFO L273 TraceCheckUtils]: 58: Hoare triple {4544#(and (= |ldv_is_in_set_#t~mem25.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| ldv_is_in_set_~e.base))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {4548#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:16,737 INFO L273 TraceCheckUtils]: 59: Hoare triple {4548#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))))} assume true; {4548#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:16,740 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {4548#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))))} {4452#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| ldv_set_add_~new.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= ldv_set_add_~s.base |ldv_set_add_#in~s.base|) (= |ldv_set_add_#in~s.offset| ldv_set_add_~s.offset))} #162#return; {4555#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:16,742 INFO L273 TraceCheckUtils]: 61: Hoare triple {4555#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {4555#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:16,744 INFO L273 TraceCheckUtils]: 62: Hoare triple {4555#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {4555#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2018-11-23 11:13:16,785 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {4555#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32)))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {4423#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |mutex_lock_#in~m.base| mutex_lock_~m.base) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} #160#return; {4565#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:16,786 INFO L273 TraceCheckUtils]: 64: Hoare triple {4565#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} assume true; {4565#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:16,792 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {4565#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} {4491#(and (= (_ bv0 32) |~#mutexes~0.offset|) (= |~#mutexes~0.offset| (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) (bvadd |~#mutexes~0.offset| (_ bv4 32))) |~#mutexes~0.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m2~0.base)) (= (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|) |~#mutexes~0.base|))} #138#return; {4350#false} is VALID [2018-11-23 11:13:16,792 INFO L256 TraceCheckUtils]: 66: Hoare triple {4350#false} call mutex_unlock(~m1~0.base, ~m1~0.offset); {4350#false} is VALID [2018-11-23 11:13:16,792 INFO L273 TraceCheckUtils]: 67: Hoare triple {4350#false} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {4350#false} is VALID [2018-11-23 11:13:16,793 INFO L256 TraceCheckUtils]: 68: Hoare triple {4350#false} call #t~ret28 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4350#false} is VALID [2018-11-23 11:13:16,793 INFO L273 TraceCheckUtils]: 69: Hoare triple {4350#false} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4350#false} is VALID [2018-11-23 11:13:16,793 INFO L273 TraceCheckUtils]: 70: Hoare triple {4350#false} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {4350#false} is VALID [2018-11-23 11:13:16,793 INFO L273 TraceCheckUtils]: 71: Hoare triple {4350#false} #res := 0bv32; {4350#false} is VALID [2018-11-23 11:13:16,793 INFO L273 TraceCheckUtils]: 72: Hoare triple {4350#false} assume true; {4350#false} is VALID [2018-11-23 11:13:16,793 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {4350#false} {4350#false} #148#return; {4350#false} is VALID [2018-11-23 11:13:16,793 INFO L273 TraceCheckUtils]: 74: Hoare triple {4350#false} assume 0bv32 == #t~ret28;havoc #t~ret28; {4350#false} is VALID [2018-11-23 11:13:16,794 INFO L273 TraceCheckUtils]: 75: Hoare triple {4350#false} assume !false; {4350#false} is VALID [2018-11-23 11:13:16,814 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 31 proven. 17 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-23 11:13:16,814 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:13:16,937 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:13:17,363 WARN L180 SmtUtils]: Spent 125.00 ms on a formula simplification that was a NOOP. DAG size: 49 [2018-11-23 11:13:18,341 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:13:18,517 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:13:18,791 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification that was a NOOP. DAG size: 49 [2018-11-23 11:13:24,374 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:13:26,775 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:13:27,597 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 89 treesize of output 91 [2018-11-23 11:13:27,648 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 79 treesize of output 85 [2018-11-23 11:13:27,662 INFO L267 ElimStorePlain]: Start of recursive call 3: 3 dim-0 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2018-11-23 11:13:27,845 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 86 treesize of output 82 [2018-11-23 11:13:27,849 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:13:28,050 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 80 [2018-11-23 11:13:28,070 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:13:28,248 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: 5 dim-0 vars, and 3 xjuncts. [2018-11-23 11:13:28,495 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 3 case distinctions, treesize of input 136 treesize of output 144 [2018-11-23 11:13:28,556 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 129 treesize of output 121 [2018-11-23 11:13:28,564 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 11:13:29,510 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 109 treesize of output 127 [2018-11-23 11:13:29,519 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:13:30,877 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 115 treesize of output 176 [2018-11-23 11:13:30,894 INFO L267 ElimStorePlain]: Start of recursive call 9: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 11:13:32,186 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 113 treesize of output 181 [2018-11-23 11:13:32,228 INFO L267 ElimStorePlain]: Start of recursive call 10: 3 dim-0 vars, End of recursive call: 3 dim-0 vars, and 8 xjuncts. [2018-11-23 11:13:33,743 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 121 treesize of output 109 [2018-11-23 11:13:33,749 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:35,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 104 treesize of output 124 [2018-11-23 11:13:35,190 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:13:35,512 INFO L267 ElimStorePlain]: Start of recursive call 6: 13 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:35,712 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 11:13:35,713 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:252, output treesize:99 [2018-11-23 11:13:37,405 WARN L180 SmtUtils]: Spent 115.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 11:13:37,578 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 3 case distinctions, treesize of input 81 treesize of output 105 [2018-11-23 11:13:37,671 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 81 treesize of output 85 [2018-11-23 11:13:37,691 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 11:13:37,798 INFO L267 ElimStorePlain]: Start of recursive call 2: 13 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:37,809 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:37,810 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:99, output treesize:17 [2018-11-23 11:13:39,299 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 53 [2018-11-23 11:13:41,142 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 47 [2018-11-23 11:13:41,144 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:41,153 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:13:41,153 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:53, output treesize:47 [2018-11-23 11:13:41,708 INFO L267 ElimStorePlain]: Start of recursive call 1: End of recursive call: and 1 xjuncts. [2018-11-23 11:13:41,709 INFO L202 ElimStorePlain]: Needed 1 recursive calls to eliminate 1 variables, input treesize:102, output treesize:1 [2018-11-23 11:13:41,874 INFO L273 TraceCheckUtils]: 75: Hoare triple {4350#false} assume !false; {4350#false} is VALID [2018-11-23 11:13:41,874 INFO L273 TraceCheckUtils]: 74: Hoare triple {4350#false} assume 0bv32 == #t~ret28;havoc #t~ret28; {4350#false} is VALID [2018-11-23 11:13:41,875 INFO L268 TraceCheckUtils]: 73: Hoare quadruple {4349#true} {4350#false} #148#return; {4350#false} is VALID [2018-11-23 11:13:41,875 INFO L273 TraceCheckUtils]: 72: Hoare triple {4349#true} assume true; {4349#true} is VALID [2018-11-23 11:13:41,875 INFO L273 TraceCheckUtils]: 71: Hoare triple {4349#true} #res := 0bv32; {4349#true} is VALID [2018-11-23 11:13:41,875 INFO L273 TraceCheckUtils]: 70: Hoare triple {4349#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {4349#true} is VALID [2018-11-23 11:13:41,875 INFO L273 TraceCheckUtils]: 69: Hoare triple {4349#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4349#true} is VALID [2018-11-23 11:13:41,875 INFO L256 TraceCheckUtils]: 68: Hoare triple {4350#false} call #t~ret28 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4349#true} is VALID [2018-11-23 11:13:41,876 INFO L273 TraceCheckUtils]: 67: Hoare triple {4350#false} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {4350#false} is VALID [2018-11-23 11:13:41,876 INFO L256 TraceCheckUtils]: 66: Hoare triple {4350#false} call mutex_unlock(~m1~0.base, ~m1~0.offset); {4350#false} is VALID [2018-11-23 11:13:41,877 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {4636#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} {4632#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) foo_~m2~0.base))} #138#return; {4350#false} is VALID [2018-11-23 11:13:41,877 INFO L273 TraceCheckUtils]: 64: Hoare triple {4636#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} assume true; {4636#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:41,878 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {4647#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} #160#return; {4636#(= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:41,879 INFO L273 TraceCheckUtils]: 62: Hoare triple {4647#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} assume true; {4647#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:41,879 INFO L273 TraceCheckUtils]: 61: Hoare triple {4647#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {4647#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:41,882 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {4661#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32))))} {4657#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= ldv_set_add_~new.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (_ bv4294967292 32))))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} #162#return; {4647#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:41,883 INFO L273 TraceCheckUtils]: 59: Hoare triple {4661#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32))))} assume true; {4661#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:41,889 INFO L273 TraceCheckUtils]: 58: Hoare triple {4668#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {4661#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:41,890 INFO L273 TraceCheckUtils]: 57: Hoare triple {4672#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {4668#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} is VALID [2018-11-23 11:13:41,893 INFO L273 TraceCheckUtils]: 56: Hoare triple {4676#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32))) (_ bv4294967292 32))) ldv_is_in_set_~e.base)))} call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~m~1.base, ~bvadd32(4bv32, ~m~1.offset), 4bv32);~__mptr~4.base, ~__mptr~4.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset;~m~1.base, ~m~1.offset := ~__mptr~4.base, ~bvsub32(~__mptr~4.offset, 4bv32); {4672#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} is VALID [2018-11-23 11:13:41,894 INFO L273 TraceCheckUtils]: 55: Hoare triple {4676#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32))) (_ bv4294967292 32))) ldv_is_in_set_~e.base)))} assume !(#t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset);havoc #t~mem25.base, #t~mem25.offset; {4676#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32))) (_ bv4294967292 32))) ldv_is_in_set_~e.base)))} is VALID [2018-11-23 11:13:41,894 INFO L273 TraceCheckUtils]: 54: Hoare triple {4676#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32))) (_ bv4294967292 32))) ldv_is_in_set_~e.base)))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {4676#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32))) (_ bv4294967292 32))) ldv_is_in_set_~e.base)))} is VALID [2018-11-23 11:13:43,923 INFO L273 TraceCheckUtils]: 53: Hoare triple {4349#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4676#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32)))) (bvadd (select (select |#memory_$Pointer$.offset| ldv_is_in_set_~m~1.base) (bvadd ldv_is_in_set_~m~1.offset (_ bv4 32))) (_ bv4294967292 32))) ldv_is_in_set_~e.base)))} is UNKNOWN [2018-11-23 11:13:43,923 INFO L256 TraceCheckUtils]: 52: Hoare triple {4657#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= ldv_set_add_~new.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (_ bv4294967292 32))))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {4349#true} is VALID [2018-11-23 11:13:43,926 INFO L273 TraceCheckUtils]: 51: Hoare triple {4689#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32))))))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {4657#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= ldv_set_add_~new.base (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (_ bv4294967292 32))))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:43,928 INFO L256 TraceCheckUtils]: 50: Hoare triple {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4689#(or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= |ldv_set_add_#in~new.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:13:43,928 INFO L273 TraceCheckUtils]: 49: Hoare triple {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:13:43,929 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {4349#true} {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} #158#return; {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:13:43,929 INFO L273 TraceCheckUtils]: 47: Hoare triple {4349#true} assume true; {4349#true} is VALID [2018-11-23 11:13:43,929 INFO L273 TraceCheckUtils]: 46: Hoare triple {4349#true} #res := 0bv32; {4349#true} is VALID [2018-11-23 11:13:43,929 INFO L273 TraceCheckUtils]: 45: Hoare triple {4349#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {4349#true} is VALID [2018-11-23 11:13:43,930 INFO L273 TraceCheckUtils]: 44: Hoare triple {4349#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4349#true} is VALID [2018-11-23 11:13:43,930 INFO L256 TraceCheckUtils]: 43: Hoare triple {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4349#true} is VALID [2018-11-23 11:13:43,936 INFO L273 TraceCheckUtils]: 42: Hoare triple {4714#(or (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {4643#(or (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:13:43,938 INFO L256 TraceCheckUtils]: 41: Hoare triple {4632#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) foo_~m2~0.base))} call mutex_lock(~m2~0.base, ~m2~0.offset); {4714#(or (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:43,940 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {4722#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} {4718#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) foo_~m2~0.base)))} #136#return; {4632#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) foo_~m2~0.base))} is VALID [2018-11-23 11:13:43,940 INFO L273 TraceCheckUtils]: 39: Hoare triple {4722#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} assume true; {4722#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:43,946 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4733#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|))))} {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} #160#return; {4722#(and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))} is VALID [2018-11-23 11:13:43,948 INFO L273 TraceCheckUtils]: 37: Hoare triple {4733#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|))))} assume true; {4733#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|))))} is VALID [2018-11-23 11:13:43,948 INFO L273 TraceCheckUtils]: 36: Hoare triple {4733#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|))))} assume !(0bv32 == #t~ret17);havoc #t~ret17; {4733#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|))))} is VALID [2018-11-23 11:13:43,954 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {4747#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} {4743#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)) (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)))))} #162#return; {4733#(and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|))))} is VALID [2018-11-23 11:13:43,955 INFO L273 TraceCheckUtils]: 34: Hoare triple {4747#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} assume true; {4747#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,955 INFO L273 TraceCheckUtils]: 33: Hoare triple {4754#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} assume #t~mem25.base == ~e.base && #t~mem25.offset == ~e.offset;havoc #t~mem25.base, #t~mem25.offset;#res := 1bv32; {4747#(= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,956 INFO L273 TraceCheckUtils]: 32: Hoare triple {4758#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} assume !!(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset);call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~m~1.base, ~m~1.offset, 4bv32); {4754#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base |ldv_is_in_set_#t~mem25.base|)))} is VALID [2018-11-23 11:13:43,958 INFO L273 TraceCheckUtils]: 31: Hoare triple {4349#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4758#(or (= |ldv_is_in_set_#in~e.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_is_in_set_#in~s.base|) |ldv_is_in_set_#in~s.offset|) (_ bv4294967292 32)))) (not (= ldv_is_in_set_~e.base (select (select |#memory_$Pointer$.base| ldv_is_in_set_~m~1.base) ldv_is_in_set_~m~1.offset))))} is VALID [2018-11-23 11:13:43,958 INFO L256 TraceCheckUtils]: 30: Hoare triple {4743#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)) (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)))))} call #t~ret17 := ldv_is_in_set(~new.base, ~new.offset, ~s.base, ~s.offset); {4349#true} is VALID [2018-11-23 11:13:43,960 INFO L273 TraceCheckUtils]: 29: Hoare triple {4765#(or (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32))))) (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)))))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset; {4743#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ldv_set_add_~s.base) ldv_set_add_~s.offset)) (bvadd (select (select |#memory_$Pointer$.offset| ldv_set_add_~s.base) ldv_set_add_~s.offset) (_ bv4294967292 32))) ldv_set_add_~new.base)) (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)))))} is VALID [2018-11-23 11:13:43,962 INFO L256 TraceCheckUtils]: 28: Hoare triple {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} call ldv_set_add(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4765#(or (not (= |ldv_set_add_#in~new.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |ldv_set_add_#in~s.base|) |ldv_set_add_#in~s.offset|) (_ bv4294967292 32))))) (and (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)) (= (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_set_add_#in~new.base|)) (or (not (= |~#mutexes~0.base| |ldv_set_add_#in~s.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (not (= |~#mutexes~0.offset| |ldv_set_add_#in~s.offset|)))))} is VALID [2018-11-23 11:13:43,963 INFO L273 TraceCheckUtils]: 27: Hoare triple {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} assume !(0bv32 != #t~ret27);havoc #t~ret27; {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:13:43,964 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4349#true} {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} #158#return; {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:13:43,965 INFO L273 TraceCheckUtils]: 25: Hoare triple {4349#true} assume true; {4349#true} is VALID [2018-11-23 11:13:43,965 INFO L273 TraceCheckUtils]: 24: Hoare triple {4349#true} #res := 0bv32; {4349#true} is VALID [2018-11-23 11:13:43,965 INFO L273 TraceCheckUtils]: 23: Hoare triple {4349#true} assume !(~m~1.base != ~s.base || ~bvadd32(4bv32, ~m~1.offset) != ~s.offset); {4349#true} is VALID [2018-11-23 11:13:43,965 INFO L273 TraceCheckUtils]: 22: Hoare triple {4349#true} ~e.base, ~e.offset := #in~e.base, #in~e.offset;~s.base, ~s.offset := #in~s.base, #in~s.offset;havoc ~m~1.base, ~m~1.offset;call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~s.base, ~s.offset, 4bv32);~__mptr~3.base, ~__mptr~3.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset;~m~1.base, ~m~1.offset := ~__mptr~3.base, ~bvsub32(~__mptr~3.offset, 4bv32); {4349#true} is VALID [2018-11-23 11:13:43,966 INFO L256 TraceCheckUtils]: 21: Hoare triple {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} call #t~ret27 := ldv_is_in_set(~m.base, ~m.offset, ~#mutexes~0.base, ~#mutexes~0.offset); {4349#true} is VALID [2018-11-23 11:13:43,967 INFO L273 TraceCheckUtils]: 20: Hoare triple {4790#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} ~m.base, ~m.offset := #in~m.base, #in~m.offset; {4729#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) mutex_lock_~m.base)))} is VALID [2018-11-23 11:13:43,968 INFO L256 TraceCheckUtils]: 19: Hoare triple {4718#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) foo_~m2~0.base)))} call mutex_lock(~m1~0.base, ~m1~0.offset); {4790#(or (and (= |mutex_lock_#in~m.base| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32)))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |old(#memory_$Pointer$.offset)| (select (select |old(#memory_$Pointer$.base)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |old(#memory_$Pointer$.offset)| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))) (not (= |mutex_lock_#in~m.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:13:43,969 INFO L273 TraceCheckUtils]: 18: Hoare triple {4794#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) |foo_#t~ret31.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)))} ~m2~0.base, ~m2~0.offset := #t~ret31.base, #t~ret31.offset;havoc #t~ret31.base, #t~ret31.offset; {4718#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) foo_~m2~0.base)))} is VALID [2018-11-23 11:13:43,973 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {4802#(or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} {4798#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))))} #134#return; {4794#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) |foo_#t~ret31.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)))} is VALID [2018-11-23 11:13:43,973 INFO L273 TraceCheckUtils]: 16: Hoare triple {4802#(or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} assume true; {4802#(or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} is VALID [2018-11-23 11:13:43,975 INFO L273 TraceCheckUtils]: 15: Hoare triple {4809#(or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (_ bv0 1)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))))} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {4802#(or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)))} is VALID [2018-11-23 11:13:43,976 INFO L256 TraceCheckUtils]: 14: Hoare triple {4798#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))))} call #t~ret31.base, #t~ret31.offset := ldv_successful_malloc(8bv32); {4809#(or (= (select |old(#valid)| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))) (_ bv0 1)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))))} is VALID [2018-11-23 11:13:43,977 INFO L273 TraceCheckUtils]: 13: Hoare triple {4813#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |foo_#t~ret30.base|)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))))} ~m1~0.base, ~m1~0.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4798#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) foo_~m1~0.base)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))))} is VALID [2018-11-23 11:13:43,980 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {4821#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))))} {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} #132#return; {4813#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |foo_#t~ret30.base|)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))))} is VALID [2018-11-23 11:13:43,981 INFO L273 TraceCheckUtils]: 11: Hoare triple {4821#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))))} assume true; {4821#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:13:43,984 INFO L273 TraceCheckUtils]: 10: Hoare triple {4349#true} ~size := #in~size;call #t~malloc5.base, #t~malloc5.offset := #Ultimate.alloc(~size);~ptr~0.base, ~ptr~0.offset := #t~malloc5.base, #t~malloc5.offset;assume 0bv32 != (if ~ptr~0.base != 0bv32 || ~ptr~0.offset != 0bv32 then 1bv32 else 0bv32);#res.base, #res.offset := ~ptr~0.base, ~ptr~0.offset; {4821#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) |ldv_successful_malloc_#res.base|)) (not (= (_ bv0 1) (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32)))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))))} is VALID [2018-11-23 11:13:43,985 INFO L256 TraceCheckUtils]: 9: Hoare triple {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} call #t~ret30.base, #t~ret30.offset := ldv_successful_malloc(8bv32); {4349#true} is VALID [2018-11-23 11:13:43,986 INFO L268 TraceCheckUtils]: 8: Hoare quadruple {4349#true} {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} #130#return; {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,986 INFO L273 TraceCheckUtils]: 7: Hoare triple {4349#true} assume true; {4349#true} is VALID [2018-11-23 11:13:43,986 INFO L256 TraceCheckUtils]: 6: Hoare triple {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} call ldv_initialize(); {4349#true} is VALID [2018-11-23 11:13:43,989 INFO L256 TraceCheckUtils]: 5: Hoare triple {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} call foo(); {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,990 INFO L256 TraceCheckUtils]: 4: Hoare triple {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} call #t~ret32 := main(); {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,990 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} {4349#true} #168#return; {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,991 INFO L273 TraceCheckUtils]: 2: Hoare triple {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} assume true; {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,993 INFO L273 TraceCheckUtils]: 1: Hoare triple {4349#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];call ~#mutexes~0.base, ~#mutexes~0.offset := #Ultimate.alloc(8bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~#mutexes~0.offset, 4bv32);call write~init~$Pointer$(~#mutexes~0.base, ~#mutexes~0.offset, ~#mutexes~0.base, ~bvadd32(4bv32, ~#mutexes~0.offset), 4bv32); {4817#(= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (bvadd (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|) (_ bv4294967292 32))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|))) (bvadd (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (select (select |#memory_$Pointer$.offset| |~#mutexes~0.base|) |~#mutexes~0.offset|)) (_ bv4294967292 32))))} is VALID [2018-11-23 11:13:43,993 INFO L256 TraceCheckUtils]: 0: Hoare triple {4349#true} call ULTIMATE.init(); {4349#true} is VALID [2018-11-23 11:13:44,028 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 12 proven. 31 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2018-11-23 11:13:44,031 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:13:44,031 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 30] total 53 [2018-11-23 11:13:44,032 INFO L78 Accepts]: Start accepts. Automaton has 53 states. Word has length 76 [2018-11-23 11:13:44,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:13:44,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 53 states. [2018-11-23 11:13:48,982 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 125 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-23 11:13:48,982 INFO L459 AbstractCegarLoop]: Interpolant automaton has 53 states [2018-11-23 11:13:48,983 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 53 interpolants. [2018-11-23 11:13:48,984 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=225, Invalid=2530, Unknown=1, NotChecked=0, Total=2756 [2018-11-23 11:13:48,984 INFO L87 Difference]: Start difference. First operand 185 states and 236 transitions. Second operand 53 states. [2018-11-23 11:13:49,744 WARN L180 SmtUtils]: Spent 320.00 ms on a formula simplification that was a NOOP. DAG size: 85 [2018-11-23 11:13:57,282 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:14:05,465 WARN L180 SmtUtils]: Spent 6.34 s on a formula simplification that was a NOOP. DAG size: 57 [2018-11-23 11:14:13,373 WARN L180 SmtUtils]: Spent 6.27 s on a formula simplification that was a NOOP. DAG size: 61 [2018-11-23 11:14:22,185 WARN L180 SmtUtils]: Spent 6.25 s on a formula simplification that was a NOOP. DAG size: 60 [2018-11-23 11:14:28,493 WARN L180 SmtUtils]: Spent 306.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 11:14:36,030 WARN L180 SmtUtils]: Spent 151.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 42 [2018-11-23 11:14:39,009 WARN L180 SmtUtils]: Spent 285.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 57 [2018-11-23 11:14:41,681 WARN L180 SmtUtils]: Spent 207.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 55 [2018-11-23 11:14:43,598 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification that was a NOOP. DAG size: 28