./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/heap-manipulation/dll_of_dll-2.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/heap-manipulation/dll_of_dll-2.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 0eca46c14885d62179341dcc13b398752af03e020a80dcf533f4c9afc7372707 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:47:55,167 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:47:55,168 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:47:55,194 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:47:55,195 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:47:55,197 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:47:55,199 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:47:55,201 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:47:55,203 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:47:55,207 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:47:55,207 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:47:55,208 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:47:55,209 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:47:55,211 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:47:55,212 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:47:55,213 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:47:55,214 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:47:55,214 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:47:55,230 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:47:55,235 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:47:55,236 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:47:55,237 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:47:55,238 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:47:55,238 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:47:55,240 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:47:55,240 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:47:55,240 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:47:55,242 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:47:55,242 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:47:55,243 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:47:55,243 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:47:55,245 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:47:55,246 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:47:55,247 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:47:55,248 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:47:55,248 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:47:55,249 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:47:55,249 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:47:55,249 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:47:55,250 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:47:55,250 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:47:55,251 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 16:47:55,281 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:47:55,281 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:47:55,281 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:47:55,282 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:47:55,282 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:47:55,282 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:47:55,283 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:47:55,283 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:47:55,283 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:47:55,283 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:47:55,284 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:47:55,284 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:47:55,284 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:47:55,285 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:47:55,285 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:47:55,285 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:47:55,285 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:47:55,285 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:47:55,285 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:47:55,285 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:47:55,286 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:47:55,286 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:47:55,286 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:47:55,286 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:47:55,286 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:47:55,286 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:47:55,287 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:47:55,287 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:47:55,287 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:47:55,287 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:47:55,287 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:47:55,287 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:47:55,288 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:47:55,288 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 0eca46c14885d62179341dcc13b398752af03e020a80dcf533f4c9afc7372707 [2022-02-20 16:47:55,437 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:47:55,450 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:47:55,452 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:47:55,453 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:47:55,453 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:47:55,454 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/heap-manipulation/dll_of_dll-2.i [2022-02-20 16:47:55,487 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7b820b38d/a6539c648c2345daaaabda494f8ff7ac/FLAG2ab26e841 [2022-02-20 16:47:55,858 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:47:55,859 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/heap-manipulation/dll_of_dll-2.i [2022-02-20 16:47:55,867 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7b820b38d/a6539c648c2345daaaabda494f8ff7ac/FLAG2ab26e841 [2022-02-20 16:47:55,876 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7b820b38d/a6539c648c2345daaaabda494f8ff7ac [2022-02-20 16:47:55,877 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:47:55,878 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:47:55,879 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:47:55,879 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:47:55,881 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:47:55,882 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:47:55" (1/1) ... [2022-02-20 16:47:55,883 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@65562e8b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:55, skipping insertion in model container [2022-02-20 16:47:55,883 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:47:55" (1/1) ... [2022-02-20 16:47:55,887 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:47:55,917 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:47:56,117 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/heap-manipulation/dll_of_dll-2.i[22634,22647] [2022-02-20 16:47:56,174 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:47:56,183 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:47:56,216 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/heap-manipulation/dll_of_dll-2.i[22634,22647] [2022-02-20 16:47:56,234 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:47:56,263 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:47:56,264 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56 WrapperNode [2022-02-20 16:47:56,264 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:47:56,265 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:47:56,265 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:47:56,265 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:47:56,270 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,286 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,321 INFO L137 Inliner]: procedures = 140, calls = 94, calls flagged for inlining = 13, calls inlined = 13, statements flattened = 228 [2022-02-20 16:47:56,325 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:47:56,326 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:47:56,326 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:47:56,326 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:47:56,331 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,332 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,335 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,339 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,351 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,357 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,359 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,362 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:47:56,362 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:47:56,362 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:47:56,363 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:47:56,364 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (1/1) ... [2022-02-20 16:47:56,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:47:56,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:47:56,406 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 16:47:56,408 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 16:47:56,431 INFO L130 BoogieDeclarations]: Found specification of procedure fail [2022-02-20 16:47:56,431 INFO L138 BoogieDeclarations]: Found implementation of procedure fail [2022-02-20 16:47:56,431 INFO L130 BoogieDeclarations]: Found specification of procedure inspect_base [2022-02-20 16:47:56,431 INFO L138 BoogieDeclarations]: Found implementation of procedure inspect_base [2022-02-20 16:47:56,431 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:47:56,431 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:47:56,432 INFO L130 BoogieDeclarations]: Found specification of procedure dll_insert_master [2022-02-20 16:47:56,432 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_insert_master [2022-02-20 16:47:56,432 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 16:47:56,432 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:47:56,432 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 16:47:56,432 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 16:47:56,432 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:47:56,432 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:47:56,433 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 16:47:56,433 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create_generic [2022-02-20 16:47:56,433 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create_generic [2022-02-20 16:47:56,433 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create_slave [2022-02-20 16:47:56,433 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create_slave [2022-02-20 16:47:56,433 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:47:56,433 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:47:56,433 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:47:56,524 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:47:56,525 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:47:56,908 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:47:56,916 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:47:56,917 INFO L299 CfgBuilder]: Removed 38 assume(true) statements. [2022-02-20 16:47:56,919 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:47:56 BoogieIcfgContainer [2022-02-20 16:47:56,919 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:47:56,922 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:47:56,922 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:47:56,924 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:47:56,924 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:47:55" (1/3) ... [2022-02-20 16:47:56,925 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75033dfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:47:56, skipping insertion in model container [2022-02-20 16:47:56,925 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:47:56" (2/3) ... [2022-02-20 16:47:56,925 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75033dfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:47:56, skipping insertion in model container [2022-02-20 16:47:56,925 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:47:56" (3/3) ... [2022-02-20 16:47:56,927 INFO L111 eAbstractionObserver]: Analyzing ICFG dll_of_dll-2.i [2022-02-20 16:47:56,936 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:47:56,936 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:47:56,979 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:47:56,985 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 16:47:56,985 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:47:57,002 INFO L276 IsEmpty]: Start isEmpty. Operand has 128 states, 96 states have (on average 1.7083333333333333) internal successors, (164), 116 states have internal predecessors, (164), 24 states have call successors, (24), 6 states have call predecessors, (24), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 16:47:57,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 16:47:57,021 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:57,021 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 16:47:57,022 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:57,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:57,026 INFO L85 PathProgramCache]: Analyzing trace with hash 760908611, now seen corresponding path program 1 times [2022-02-20 16:47:57,033 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:47:57,034 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [453598844] [2022-02-20 16:47:57,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:57,035 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:47:57,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:57,213 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:57,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:57,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:57,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:57,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {131#true} is VALID [2022-02-20 16:47:57,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {131#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {131#true} is VALID [2022-02-20 16:47:57,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {131#true} assume alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0;assume false; {132#false} is VALID [2022-02-20 16:47:57,296 INFO L290 TraceCheckUtils]: 3: Hoare triple {132#false} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {132#false} is VALID [2022-02-20 16:47:57,296 INFO L290 TraceCheckUtils]: 4: Hoare triple {132#false} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {132#false} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {132#false} is VALID [2022-02-20 16:47:57,297 INFO L290 TraceCheckUtils]: 6: Hoare triple {132#false} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:57,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,297 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {132#false} {131#true} #450#return; {132#false} is VALID [2022-02-20 16:47:57,298 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:57,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:57,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {131#true} is VALID [2022-02-20 16:47:57,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {131#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {131#true} is VALID [2022-02-20 16:47:57,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {131#true} assume alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0;assume false; {132#false} is VALID [2022-02-20 16:47:57,331 INFO L290 TraceCheckUtils]: 3: Hoare triple {132#false} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {132#false} is VALID [2022-02-20 16:47:57,331 INFO L290 TraceCheckUtils]: 4: Hoare triple {132#false} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,331 INFO L290 TraceCheckUtils]: 5: Hoare triple {132#false} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {132#false} is VALID [2022-02-20 16:47:57,331 INFO L290 TraceCheckUtils]: 6: Hoare triple {132#false} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:57,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,332 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {132#false} {132#false} #452#return; {132#false} is VALID [2022-02-20 16:47:57,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {131#true} is VALID [2022-02-20 16:47:57,335 INFO L272 TraceCheckUtils]: 1: Hoare triple {131#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:57,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {131#true} is VALID [2022-02-20 16:47:57,335 INFO L290 TraceCheckUtils]: 3: Hoare triple {131#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {131#true} is VALID [2022-02-20 16:47:57,336 INFO L290 TraceCheckUtils]: 4: Hoare triple {131#true} assume alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0;assume false; {132#false} is VALID [2022-02-20 16:47:57,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {132#false} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {132#false} is VALID [2022-02-20 16:47:57,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {132#false} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {132#false} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {132#false} is VALID [2022-02-20 16:47:57,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {132#false} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:57,337 INFO L290 TraceCheckUtils]: 10: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,338 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {132#false} {131#true} #450#return; {132#false} is VALID [2022-02-20 16:47:57,338 INFO L272 TraceCheckUtils]: 12: Hoare triple {132#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:57,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {131#true} is VALID [2022-02-20 16:47:57,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {131#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {131#true} is VALID [2022-02-20 16:47:57,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {131#true} assume alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0;assume false; {132#false} is VALID [2022-02-20 16:47:57,339 INFO L290 TraceCheckUtils]: 16: Hoare triple {132#false} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {132#false} is VALID [2022-02-20 16:47:57,339 INFO L290 TraceCheckUtils]: 17: Hoare triple {132#false} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {132#false} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {132#false} is VALID [2022-02-20 16:47:57,340 INFO L290 TraceCheckUtils]: 19: Hoare triple {132#false} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,340 INFO L290 TraceCheckUtils]: 20: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:57,340 INFO L290 TraceCheckUtils]: 21: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,341 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {132#false} {132#false} #452#return; {132#false} is VALID [2022-02-20 16:47:57,341 INFO L290 TraceCheckUtils]: 23: Hoare triple {132#false} assume !true; {132#false} is VALID [2022-02-20 16:47:57,341 INFO L290 TraceCheckUtils]: 24: Hoare triple {132#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {132#false} is VALID [2022-02-20 16:47:57,341 INFO L290 TraceCheckUtils]: 25: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,342 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {132#false} {131#true} #470#return; {132#false} is VALID [2022-02-20 16:47:57,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {131#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {131#true} is VALID [2022-02-20 16:47:57,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {131#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {131#true} is VALID [2022-02-20 16:47:57,346 INFO L272 TraceCheckUtils]: 2: Hoare triple {131#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:57,346 INFO L290 TraceCheckUtils]: 3: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {131#true} is VALID [2022-02-20 16:47:57,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {131#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:57,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {131#true} is VALID [2022-02-20 16:47:57,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {131#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {131#true} is VALID [2022-02-20 16:47:57,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {131#true} assume alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0;assume false; {132#false} is VALID [2022-02-20 16:47:57,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {132#false} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {132#false} is VALID [2022-02-20 16:47:57,353 INFO L290 TraceCheckUtils]: 9: Hoare triple {132#false} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,353 INFO L290 TraceCheckUtils]: 10: Hoare triple {132#false} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {132#false} is VALID [2022-02-20 16:47:57,354 INFO L290 TraceCheckUtils]: 11: Hoare triple {132#false} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,354 INFO L290 TraceCheckUtils]: 12: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:57,354 INFO L290 TraceCheckUtils]: 13: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,355 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {132#false} {131#true} #450#return; {132#false} is VALID [2022-02-20 16:47:57,355 INFO L272 TraceCheckUtils]: 15: Hoare triple {132#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:57,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {160#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {131#true} is VALID [2022-02-20 16:47:57,355 INFO L290 TraceCheckUtils]: 17: Hoare triple {131#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {131#true} is VALID [2022-02-20 16:47:57,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {131#true} assume alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0;assume false; {132#false} is VALID [2022-02-20 16:47:57,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {132#false} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {132#false} is VALID [2022-02-20 16:47:57,359 INFO L290 TraceCheckUtils]: 20: Hoare triple {132#false} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,359 INFO L290 TraceCheckUtils]: 21: Hoare triple {132#false} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {132#false} is VALID [2022-02-20 16:47:57,359 INFO L290 TraceCheckUtils]: 22: Hoare triple {132#false} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {132#false} is VALID [2022-02-20 16:47:57,359 INFO L290 TraceCheckUtils]: 23: Hoare triple {132#false} assume { :end_inline_dll_insert_slave } true; {132#false} is VALID [2022-02-20 16:47:57,360 INFO L290 TraceCheckUtils]: 24: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,360 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {132#false} {132#false} #452#return; {132#false} is VALID [2022-02-20 16:47:57,360 INFO L290 TraceCheckUtils]: 26: Hoare triple {132#false} assume !true; {132#false} is VALID [2022-02-20 16:47:57,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {132#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {132#false} is VALID [2022-02-20 16:47:57,361 INFO L290 TraceCheckUtils]: 28: Hoare triple {132#false} assume true; {132#false} is VALID [2022-02-20 16:47:57,361 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {132#false} {131#true} #470#return; {132#false} is VALID [2022-02-20 16:47:57,361 INFO L290 TraceCheckUtils]: 30: Hoare triple {132#false} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {132#false} is VALID [2022-02-20 16:47:57,361 INFO L290 TraceCheckUtils]: 31: Hoare triple {132#false} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {132#false} is VALID [2022-02-20 16:47:57,362 INFO L272 TraceCheckUtils]: 32: Hoare triple {132#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {132#false} is VALID [2022-02-20 16:47:57,362 INFO L290 TraceCheckUtils]: 33: Hoare triple {132#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {132#false} is VALID [2022-02-20 16:47:57,362 INFO L290 TraceCheckUtils]: 34: Hoare triple {132#false} assume ~dll.base == 0 && ~dll.offset == 0; {132#false} is VALID [2022-02-20 16:47:57,362 INFO L272 TraceCheckUtils]: 35: Hoare triple {132#false} call fail(); {132#false} is VALID [2022-02-20 16:47:57,362 INFO L290 TraceCheckUtils]: 36: Hoare triple {132#false} assume !false; {132#false} is VALID [2022-02-20 16:47:57,363 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 16:47:57,363 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:47:57,364 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [453598844] [2022-02-20 16:47:57,364 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [453598844] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:47:57,365 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:47:57,365 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:47:57,388 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [631007868] [2022-02-20 16:47:57,388 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:47:57,393 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-02-20 16:47:57,395 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:57,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:47:57,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:57,426 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:47:57,426 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:47:57,443 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:47:57,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:47:57,449 INFO L87 Difference]: Start difference. First operand has 128 states, 96 states have (on average 1.7083333333333333) internal successors, (164), 116 states have internal predecessors, (164), 24 states have call successors, (24), 6 states have call predecessors, (24), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:47:57,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:57,778 INFO L93 Difference]: Finished difference Result 251 states and 429 transitions. [2022-02-20 16:47:57,778 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:47:57,778 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-02-20 16:47:57,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:47:57,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:47:57,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 429 transitions. [2022-02-20 16:47:57,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:47:57,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 429 transitions. [2022-02-20 16:47:57,812 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 429 transitions. [2022-02-20 16:47:58,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 429 edges. 429 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:58,137 INFO L225 Difference]: With dead ends: 251 [2022-02-20 16:47:58,137 INFO L226 Difference]: Without dead ends: 120 [2022-02-20 16:47:58,140 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:47:58,142 INFO L933 BasicCegarLoop]: 146 mSDtfsCounter, 32 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:47:58,142 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 210 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:47:58,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-02-20 16:47:58,166 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 120. [2022-02-20 16:47:58,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:47:58,167 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 120 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 108 states have internal predecessors, (115), 24 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:47:58,168 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 120 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 108 states have internal predecessors, (115), 24 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:47:58,168 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 120 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 108 states have internal predecessors, (115), 24 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:47:58,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:58,173 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-02-20 16:47:58,174 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 149 transitions. [2022-02-20 16:47:58,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:58,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:58,176 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 108 states have internal predecessors, (115), 24 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 120 states. [2022-02-20 16:47:58,176 INFO L87 Difference]: Start difference. First operand has 120 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 108 states have internal predecessors, (115), 24 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 120 states. [2022-02-20 16:47:58,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:47:58,180 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-02-20 16:47:58,180 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 149 transitions. [2022-02-20 16:47:58,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:47:58,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:47:58,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:47:58,182 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:47:58,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 108 states have internal predecessors, (115), 24 states have call successors, (24), 6 states have call predecessors, (24), 5 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 16:47:58,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 149 transitions. [2022-02-20 16:47:58,192 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 149 transitions. Word has length 37 [2022-02-20 16:47:58,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:47:58,192 INFO L470 AbstractCegarLoop]: Abstraction has 120 states and 149 transitions. [2022-02-20 16:47:58,192 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 16:47:58,193 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 149 transitions. [2022-02-20 16:47:58,193 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 16:47:58,193 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:47:58,194 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 16:47:58,194 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:47:58,194 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:47:58,194 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:47:58,194 INFO L85 PathProgramCache]: Analyzing trace with hash 1675514385, now seen corresponding path program 1 times [2022-02-20 16:47:58,194 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:47:58,195 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [398022019] [2022-02-20 16:47:58,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:58,195 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:47:58,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,309 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:47:58,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,378 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:47:58,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,433 INFO L290 TraceCheckUtils]: 0: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,435 INFO L290 TraceCheckUtils]: 3: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,437 INFO L290 TraceCheckUtils]: 4: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,438 INFO L290 TraceCheckUtils]: 6: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,438 INFO L290 TraceCheckUtils]: 7: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume { :end_inline_dll_insert_slave } true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,456 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} #450#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,457 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:47:58,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,469 INFO L290 TraceCheckUtils]: 0: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {938#true} is VALID [2022-02-20 16:47:58,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {938#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {938#true} is VALID [2022-02-20 16:47:58,469 INFO L290 TraceCheckUtils]: 3: Hoare triple {938#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {938#true} is VALID [2022-02-20 16:47:58,469 INFO L290 TraceCheckUtils]: 4: Hoare triple {938#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,470 INFO L290 TraceCheckUtils]: 5: Hoare triple {938#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {938#true} is VALID [2022-02-20 16:47:58,470 INFO L290 TraceCheckUtils]: 6: Hoare triple {938#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:58,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:58,471 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {938#true} {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} #452#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} is VALID [2022-02-20 16:47:58,473 INFO L272 TraceCheckUtils]: 1: Hoare triple {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:58,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,475 INFO L290 TraceCheckUtils]: 3: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,475 INFO L290 TraceCheckUtils]: 4: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,477 INFO L290 TraceCheckUtils]: 6: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,478 INFO L290 TraceCheckUtils]: 9: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume { :end_inline_dll_insert_slave } true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,479 INFO L290 TraceCheckUtils]: 10: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,480 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} #450#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,481 INFO L272 TraceCheckUtils]: 12: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:58,481 INFO L290 TraceCheckUtils]: 13: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {938#true} is VALID [2022-02-20 16:47:58,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {938#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {938#true} is VALID [2022-02-20 16:47:58,481 INFO L290 TraceCheckUtils]: 16: Hoare triple {938#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {938#true} is VALID [2022-02-20 16:47:58,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {938#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {938#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {938#true} is VALID [2022-02-20 16:47:58,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {938#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:58,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:58,483 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {938#true} {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} #452#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,484 INFO L290 TraceCheckUtils]: 24: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume !(0 != #t~nondet9);havoc #t~nondet9; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume true; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,485 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} {938#true} #470#return; {968#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} is VALID [2022-02-20 16:47:58,485 INFO L290 TraceCheckUtils]: 0: Hoare triple {938#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {938#true} is VALID [2022-02-20 16:47:58,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {938#true} is VALID [2022-02-20 16:47:58,486 INFO L272 TraceCheckUtils]: 2: Hoare triple {938#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:58,487 INFO L290 TraceCheckUtils]: 3: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} is VALID [2022-02-20 16:47:58,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:58,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,489 INFO L290 TraceCheckUtils]: 6: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,489 INFO L290 TraceCheckUtils]: 7: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,490 INFO L290 TraceCheckUtils]: 8: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,490 INFO L290 TraceCheckUtils]: 9: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,491 INFO L290 TraceCheckUtils]: 10: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,491 INFO L290 TraceCheckUtils]: 11: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,492 INFO L290 TraceCheckUtils]: 12: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume { :end_inline_dll_insert_slave } true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,492 INFO L290 TraceCheckUtils]: 13: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,493 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} #450#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,494 INFO L272 TraceCheckUtils]: 15: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:47:58,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {973#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,494 INFO L290 TraceCheckUtils]: 17: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {938#true} is VALID [2022-02-20 16:47:58,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {938#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {938#true} is VALID [2022-02-20 16:47:58,495 INFO L290 TraceCheckUtils]: 19: Hoare triple {938#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {938#true} is VALID [2022-02-20 16:47:58,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {938#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,495 INFO L290 TraceCheckUtils]: 21: Hoare triple {938#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {938#true} is VALID [2022-02-20 16:47:58,495 INFO L290 TraceCheckUtils]: 22: Hoare triple {938#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,495 INFO L290 TraceCheckUtils]: 23: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:58,496 INFO L290 TraceCheckUtils]: 24: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:58,496 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {938#true} {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} #452#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,497 INFO L290 TraceCheckUtils]: 26: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,497 INFO L290 TraceCheckUtils]: 27: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume !(0 != #t~nondet9);havoc #t~nondet9; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,497 INFO L290 TraceCheckUtils]: 28: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,497 INFO L290 TraceCheckUtils]: 29: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume true; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,498 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} {938#true} #470#return; {968#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} is VALID [2022-02-20 16:47:58,498 INFO L290 TraceCheckUtils]: 31: Hoare triple {968#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {969#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} is VALID [2022-02-20 16:47:58,499 INFO L290 TraceCheckUtils]: 32: Hoare triple {969#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {970#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} is VALID [2022-02-20 16:47:58,500 INFO L272 TraceCheckUtils]: 33: Hoare triple {970#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {971#(not (= |inspect_base_#in~dll.base| 0))} is VALID [2022-02-20 16:47:58,500 INFO L290 TraceCheckUtils]: 34: Hoare triple {971#(not (= |inspect_base_#in~dll.base| 0))} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {972#(not (= inspect_base_~dll.base 0))} is VALID [2022-02-20 16:47:58,501 INFO L290 TraceCheckUtils]: 35: Hoare triple {972#(not (= inspect_base_~dll.base 0))} assume ~dll.base == 0 && ~dll.offset == 0; {939#false} is VALID [2022-02-20 16:47:58,501 INFO L272 TraceCheckUtils]: 36: Hoare triple {939#false} call fail(); {939#false} is VALID [2022-02-20 16:47:58,501 INFO L290 TraceCheckUtils]: 37: Hoare triple {939#false} assume !false; {939#false} is VALID [2022-02-20 16:47:58,502 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 16:47:58,502 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:47:58,502 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [398022019] [2022-02-20 16:47:58,502 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [398022019] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:47:58,502 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [595318422] [2022-02-20 16:47:58,503 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:47:58,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:47:58,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:47:58,504 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:47:58,505 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 16:47:58,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,611 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 16:47:58,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:47:58,640 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:47:58,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {938#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {938#true} is VALID [2022-02-20 16:47:58,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {938#true} is VALID [2022-02-20 16:47:58,983 INFO L272 TraceCheckUtils]: 2: Hoare triple {938#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {938#true} is VALID [2022-02-20 16:47:58,984 INFO L290 TraceCheckUtils]: 3: Hoare triple {938#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} is VALID [2022-02-20 16:47:58,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {938#true} is VALID [2022-02-20 16:47:58,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {938#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,986 INFO L290 TraceCheckUtils]: 7: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,987 INFO L290 TraceCheckUtils]: 8: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,987 INFO L290 TraceCheckUtils]: 9: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,988 INFO L290 TraceCheckUtils]: 10: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,990 INFO L290 TraceCheckUtils]: 12: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume { :end_inline_dll_insert_slave } true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,990 INFO L290 TraceCheckUtils]: 13: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:58,993 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} {974#(and (= dll_create_generic_~insert_fnc.base |dll_create_generic_#in~insert_fnc.base|) (= |dll_create_generic_#in~insert_fnc.offset| dll_create_generic_~insert_fnc.offset))} #450#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,993 INFO L272 TraceCheckUtils]: 15: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {938#true} is VALID [2022-02-20 16:47:58,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {938#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:58,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {938#true} is VALID [2022-02-20 16:47:58,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {938#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {938#true} is VALID [2022-02-20 16:47:58,994 INFO L290 TraceCheckUtils]: 19: Hoare triple {938#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {938#true} is VALID [2022-02-20 16:47:58,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {938#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,994 INFO L290 TraceCheckUtils]: 21: Hoare triple {938#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {938#true} is VALID [2022-02-20 16:47:58,994 INFO L290 TraceCheckUtils]: 22: Hoare triple {938#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:58,994 INFO L290 TraceCheckUtils]: 23: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:58,994 INFO L290 TraceCheckUtils]: 24: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:58,995 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {938#true} {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} #452#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,995 INFO L290 TraceCheckUtils]: 26: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume !(0 != #t~nondet9);havoc #t~nondet9; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,996 INFO L290 TraceCheckUtils]: 28: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,996 INFO L290 TraceCheckUtils]: 29: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume true; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:58,999 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} {938#true} #470#return; {939#false} is VALID [2022-02-20 16:47:59,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {939#false} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {939#false} is VALID [2022-02-20 16:47:59,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {939#false} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {939#false} is VALID [2022-02-20 16:47:59,000 INFO L272 TraceCheckUtils]: 33: Hoare triple {939#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {939#false} is VALID [2022-02-20 16:47:59,000 INFO L290 TraceCheckUtils]: 34: Hoare triple {939#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {939#false} is VALID [2022-02-20 16:47:59,000 INFO L290 TraceCheckUtils]: 35: Hoare triple {939#false} assume ~dll.base == 0 && ~dll.offset == 0; {939#false} is VALID [2022-02-20 16:47:59,000 INFO L272 TraceCheckUtils]: 36: Hoare triple {939#false} call fail(); {939#false} is VALID [2022-02-20 16:47:59,000 INFO L290 TraceCheckUtils]: 37: Hoare triple {939#false} assume !false; {939#false} is VALID [2022-02-20 16:47:59,001 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 16:47:59,001 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:47:59,319 INFO L290 TraceCheckUtils]: 37: Hoare triple {939#false} assume !false; {939#false} is VALID [2022-02-20 16:47:59,319 INFO L272 TraceCheckUtils]: 36: Hoare triple {939#false} call fail(); {939#false} is VALID [2022-02-20 16:47:59,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {939#false} assume ~dll.base == 0 && ~dll.offset == 0; {939#false} is VALID [2022-02-20 16:47:59,319 INFO L290 TraceCheckUtils]: 34: Hoare triple {939#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {939#false} is VALID [2022-02-20 16:47:59,319 INFO L272 TraceCheckUtils]: 33: Hoare triple {939#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {939#false} is VALID [2022-02-20 16:47:59,320 INFO L290 TraceCheckUtils]: 32: Hoare triple {939#false} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {939#false} is VALID [2022-02-20 16:47:59,320 INFO L290 TraceCheckUtils]: 31: Hoare triple {939#false} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {939#false} is VALID [2022-02-20 16:47:59,320 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} {938#true} #470#return; {939#false} is VALID [2022-02-20 16:47:59,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume true; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:59,327 INFO L290 TraceCheckUtils]: 28: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:59,327 INFO L290 TraceCheckUtils]: 27: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume !(0 != #t~nondet9);havoc #t~nondet9; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:59,328 INFO L290 TraceCheckUtils]: 26: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:59,328 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {938#true} {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} #452#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:59,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {938#true} assume true; {938#true} is VALID [2022-02-20 16:47:59,329 INFO L290 TraceCheckUtils]: 23: Hoare triple {938#true} assume { :end_inline_dll_insert_slave } true; {938#true} is VALID [2022-02-20 16:47:59,329 INFO L290 TraceCheckUtils]: 22: Hoare triple {938#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:59,329 INFO L290 TraceCheckUtils]: 21: Hoare triple {938#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {938#true} is VALID [2022-02-20 16:47:59,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {938#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {938#true} is VALID [2022-02-20 16:47:59,329 INFO L290 TraceCheckUtils]: 19: Hoare triple {938#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {938#true} is VALID [2022-02-20 16:47:59,330 INFO L290 TraceCheckUtils]: 18: Hoare triple {938#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {938#true} is VALID [2022-02-20 16:47:59,330 INFO L290 TraceCheckUtils]: 17: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {938#true} is VALID [2022-02-20 16:47:59,330 INFO L290 TraceCheckUtils]: 16: Hoare triple {938#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:59,330 INFO L272 TraceCheckUtils]: 15: Hoare triple {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {938#true} is VALID [2022-02-20 16:47:59,331 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} {1183#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (and (= dll_create_generic_~insert_fnc.offset |#funAddr~dll_insert_master.offset|) (= dll_create_generic_~insert_fnc.base |#funAddr~dll_insert_master.base|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} #450#return; {985#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:59,332 INFO L290 TraceCheckUtils]: 13: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,332 INFO L290 TraceCheckUtils]: 12: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume { :end_inline_dll_insert_slave } true; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,333 INFO L290 TraceCheckUtils]: 10: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,335 INFO L290 TraceCheckUtils]: 6: Hoare triple {938#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {996#(or (<= (+ |#funAddr~dll_insert_master.base| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|) (not (<= |#funAddr~dll_insert_master.base| |##fun~$Pointer$~TO~VOID_#in~#fp#1.base|)) (not (<= |#funAddr~dll_insert_master.offset| |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|)) (<= (+ |#funAddr~dll_insert_master.offset| 1) |##fun~$Pointer$~TO~VOID_#in~#fp#1.offset|))} is VALID [2022-02-20 16:47:59,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {938#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {938#true} is VALID [2022-02-20 16:47:59,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {1183#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (and (= dll_create_generic_~insert_fnc.offset |#funAddr~dll_insert_master.offset|) (= dll_create_generic_~insert_fnc.base |#funAddr~dll_insert_master.base|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {938#true} is VALID [2022-02-20 16:47:59,340 INFO L290 TraceCheckUtils]: 3: Hoare triple {938#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {1183#(or (not (= |dll_create_generic_#in~insert_fnc.offset| |#funAddr~dll_insert_master.offset|)) (and (= dll_create_generic_~insert_fnc.offset |#funAddr~dll_insert_master.offset|) (= dll_create_generic_~insert_fnc.base |#funAddr~dll_insert_master.base|)) (not (= |dll_create_generic_#in~insert_fnc.base| |#funAddr~dll_insert_master.base|)))} is VALID [2022-02-20 16:47:59,340 INFO L272 TraceCheckUtils]: 2: Hoare triple {938#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {938#true} is VALID [2022-02-20 16:47:59,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {938#true} is VALID [2022-02-20 16:47:59,341 INFO L290 TraceCheckUtils]: 0: Hoare triple {938#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {938#true} is VALID [2022-02-20 16:47:59,341 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 16:47:59,342 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [595318422] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:47:59,344 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:47:59,344 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 5, 5] total 12 [2022-02-20 16:47:59,344 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173886574] [2022-02-20 16:47:59,345 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:47:59,346 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 38 [2022-02-20 16:47:59,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:47:59,348 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:47:59,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:47:59,378 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 16:47:59,378 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:47:59,379 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 16:47:59,379 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-02-20 16:47:59,379 INFO L87 Difference]: Start difference. First operand 120 states and 149 transitions. Second operand has 12 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:00,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:00,742 INFO L93 Difference]: Finished difference Result 250 states and 324 transitions. [2022-02-20 16:48:00,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:48:00,742 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 38 [2022-02-20 16:48:00,743 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:00,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:00,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 324 transitions. [2022-02-20 16:48:00,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:00,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 324 transitions. [2022-02-20 16:48:00,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 324 transitions. [2022-02-20 16:48:00,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 324 edges. 324 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:00,987 INFO L225 Difference]: With dead ends: 250 [2022-02-20 16:48:00,987 INFO L226 Difference]: Without dead ends: 133 [2022-02-20 16:48:00,989 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 77 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2022-02-20 16:48:00,990 INFO L933 BasicCegarLoop]: 138 mSDtfsCounter, 45 mSDsluCounter, 866 mSDsCounter, 0 mSdLazyCounter, 485 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 1004 SdHoareTripleChecker+Invalid, 521 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 485 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:00,991 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 1004 Invalid, 521 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 485 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 16:48:00,992 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-02-20 16:48:01,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 133. [2022-02-20 16:48:01,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:01,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 133 states, 98 states have (on average 1.2653061224489797) internal successors, (124), 116 states have internal predecessors, (124), 27 states have call successors, (27), 8 states have call predecessors, (27), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 16:48:01,009 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 133 states, 98 states have (on average 1.2653061224489797) internal successors, (124), 116 states have internal predecessors, (124), 27 states have call successors, (27), 8 states have call predecessors, (27), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 16:48:01,009 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 133 states, 98 states have (on average 1.2653061224489797) internal successors, (124), 116 states have internal predecessors, (124), 27 states have call successors, (27), 8 states have call predecessors, (27), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 16:48:01,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:01,013 INFO L93 Difference]: Finished difference Result 133 states and 164 transitions. [2022-02-20 16:48:01,013 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-02-20 16:48:01,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:01,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:01,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 98 states have (on average 1.2653061224489797) internal successors, (124), 116 states have internal predecessors, (124), 27 states have call successors, (27), 8 states have call predecessors, (27), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 133 states. [2022-02-20 16:48:01,015 INFO L87 Difference]: Start difference. First operand has 133 states, 98 states have (on average 1.2653061224489797) internal successors, (124), 116 states have internal predecessors, (124), 27 states have call successors, (27), 8 states have call predecessors, (27), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 133 states. [2022-02-20 16:48:01,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:01,026 INFO L93 Difference]: Finished difference Result 133 states and 164 transitions. [2022-02-20 16:48:01,027 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-02-20 16:48:01,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:01,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:01,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:01,028 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:01,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 98 states have (on average 1.2653061224489797) internal successors, (124), 116 states have internal predecessors, (124), 27 states have call successors, (27), 8 states have call predecessors, (27), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 16:48:01,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 164 transitions. [2022-02-20 16:48:01,032 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 164 transitions. Word has length 38 [2022-02-20 16:48:01,032 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:01,032 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 164 transitions. [2022-02-20 16:48:01,032 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 16:48:01,032 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-02-20 16:48:01,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-02-20 16:48:01,034 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:01,034 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 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] [2022-02-20 16:48:01,053 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:01,247 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:01,248 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:01,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:01,248 INFO L85 PathProgramCache]: Analyzing trace with hash 800158065, now seen corresponding path program 1 times [2022-02-20 16:48:01,248 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:01,248 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1270526640] [2022-02-20 16:48:01,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:01,248 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:01,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,431 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:01,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,592 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:01,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,642 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:01,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:01,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,771 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:01,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:01,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,798 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,800 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,800 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,801 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,801 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,803 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:01,803 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:48:01,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,825 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,825 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,825 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,826 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:01,826 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,827 INFO L272 TraceCheckUtils]: 1: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,827 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,828 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,828 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,828 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,829 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:01,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,830 INFO L290 TraceCheckUtils]: 13: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,830 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:01,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:01,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:01,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,832 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:01,834 INFO L272 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,834 INFO L272 TraceCheckUtils]: 2: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,836 INFO L290 TraceCheckUtils]: 3: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,836 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,837 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,838 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,838 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,838 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:01,839 INFO L272 TraceCheckUtils]: 13: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,839 INFO L290 TraceCheckUtils]: 14: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,839 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:01,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:01,841 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:01,841 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,841 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:01,841 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:01,841 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,842 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2030#true} {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} #448#return; {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:01,842 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:01,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:01,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:01,844 INFO L290 TraceCheckUtils]: 3: Hoare triple {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:01,844 INFO L290 TraceCheckUtils]: 4: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:01,845 INFO L272 TraceCheckUtils]: 5: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,846 INFO L272 TraceCheckUtils]: 6: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,846 INFO L290 TraceCheckUtils]: 7: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,846 INFO L272 TraceCheckUtils]: 8: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,851 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,851 INFO L290 TraceCheckUtils]: 12: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,851 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,851 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,852 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,852 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:01,852 INFO L272 TraceCheckUtils]: 19: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:01,854 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:01,855 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,855 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} #448#return; {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:01,856 INFO L290 TraceCheckUtils]: 38: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:01,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:01,857 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:01,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:01,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:01,859 INFO L272 TraceCheckUtils]: 2: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,860 INFO L290 TraceCheckUtils]: 3: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:01,861 INFO L290 TraceCheckUtils]: 4: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:01,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:01,863 INFO L290 TraceCheckUtils]: 6: Hoare triple {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:01,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:01,865 INFO L272 TraceCheckUtils]: 8: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,865 INFO L272 TraceCheckUtils]: 9: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,866 INFO L290 TraceCheckUtils]: 10: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,866 INFO L272 TraceCheckUtils]: 11: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,867 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:01,868 INFO L272 TraceCheckUtils]: 22: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:01,868 INFO L290 TraceCheckUtils]: 23: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,868 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,868 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:01,869 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:01,870 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:01,870 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:01,870 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,870 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:01,870 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:01,870 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:01,871 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2030#true} {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} #448#return; {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:01,871 INFO L290 TraceCheckUtils]: 41: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:01,872 INFO L290 TraceCheckUtils]: 42: Hoare triple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:01,872 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:01,872 INFO L290 TraceCheckUtils]: 44: Hoare triple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} assume true; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:01,873 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {2138#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} is VALID [2022-02-20 16:48:01,874 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 16:48:01,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:01,971 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:01,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:02,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:02,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:02,203 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:02,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:02,217 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:02,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:02,224 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,224 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,225 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,225 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,225 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,225 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,225 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:48:02,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:02,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,232 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,233 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,233 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,233 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,234 INFO L272 TraceCheckUtils]: 1: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,235 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,236 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,236 INFO L272 TraceCheckUtils]: 12: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,238 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,238 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,238 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,238 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,238 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,238 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,240 INFO L272 TraceCheckUtils]: 2: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,240 INFO L290 TraceCheckUtils]: 3: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,240 INFO L290 TraceCheckUtils]: 4: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,241 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,241 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,241 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,241 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,242 INFO L272 TraceCheckUtils]: 13: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,242 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,242 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,243 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,244 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,244 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:02,244 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,245 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2030#true} {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,246 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,248 INFO L290 TraceCheckUtils]: 3: Hoare triple {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,248 INFO L290 TraceCheckUtils]: 4: Hoare triple {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,249 INFO L272 TraceCheckUtils]: 5: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,251 INFO L272 TraceCheckUtils]: 8: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,251 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,251 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,252 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,252 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,253 INFO L272 TraceCheckUtils]: 19: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,253 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,253 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,253 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,253 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,254 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,255 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,255 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,255 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:02,255 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,256 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,256 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,258 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:02,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,259 INFO L272 TraceCheckUtils]: 2: Hoare triple {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,260 INFO L290 TraceCheckUtils]: 3: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,260 INFO L290 TraceCheckUtils]: 4: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,262 INFO L290 TraceCheckUtils]: 6: Hoare triple {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,263 INFO L290 TraceCheckUtils]: 7: Hoare triple {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,263 INFO L272 TraceCheckUtils]: 8: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,264 INFO L272 TraceCheckUtils]: 9: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,264 INFO L290 TraceCheckUtils]: 10: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,265 INFO L272 TraceCheckUtils]: 11: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,266 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,266 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,267 INFO L272 TraceCheckUtils]: 22: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,267 INFO L290 TraceCheckUtils]: 23: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,268 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,269 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,269 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,269 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,269 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,269 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:02,269 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,270 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2030#true} {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,271 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,271 INFO L290 TraceCheckUtils]: 42: Hoare triple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,272 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:02,272 INFO L290 TraceCheckUtils]: 44: Hoare triple {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} assume true; {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:02,273 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} #452#return; {2031#false} is VALID [2022-02-20 16:48:02,274 INFO L290 TraceCheckUtils]: 0: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2138#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:48:02,275 INFO L272 TraceCheckUtils]: 1: Hoare triple {2138#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,275 INFO L290 TraceCheckUtils]: 3: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,277 INFO L290 TraceCheckUtils]: 6: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,278 INFO L290 TraceCheckUtils]: 8: Hoare triple {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:02,279 INFO L290 TraceCheckUtils]: 9: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:02,279 INFO L272 TraceCheckUtils]: 10: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,280 INFO L272 TraceCheckUtils]: 11: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,281 INFO L272 TraceCheckUtils]: 13: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,281 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,281 INFO L290 TraceCheckUtils]: 16: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,282 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,282 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,282 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,282 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,282 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,282 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,283 INFO L272 TraceCheckUtils]: 24: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,284 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,285 INFO L290 TraceCheckUtils]: 37: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,285 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,285 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,285 INFO L290 TraceCheckUtils]: 40: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:02,285 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,286 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2030#true} {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} #448#return; {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:02,287 INFO L290 TraceCheckUtils]: 43: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,287 INFO L290 TraceCheckUtils]: 44: Hoare triple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,288 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:02,288 INFO L290 TraceCheckUtils]: 46: Hoare triple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} assume true; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:02,289 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {2138#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} is VALID [2022-02-20 16:48:02,290 INFO L272 TraceCheckUtils]: 48: Hoare triple {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,290 INFO L290 TraceCheckUtils]: 49: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,291 INFO L290 TraceCheckUtils]: 50: Hoare triple {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,291 INFO L272 TraceCheckUtils]: 51: Hoare triple {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,292 INFO L290 TraceCheckUtils]: 52: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,293 INFO L290 TraceCheckUtils]: 53: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,293 INFO L290 TraceCheckUtils]: 54: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,294 INFO L290 TraceCheckUtils]: 55: Hoare triple {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,295 INFO L290 TraceCheckUtils]: 56: Hoare triple {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,295 INFO L272 TraceCheckUtils]: 57: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,296 INFO L272 TraceCheckUtils]: 58: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,296 INFO L290 TraceCheckUtils]: 59: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,297 INFO L272 TraceCheckUtils]: 60: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,297 INFO L290 TraceCheckUtils]: 61: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,297 INFO L290 TraceCheckUtils]: 62: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L290 TraceCheckUtils]: 63: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L290 TraceCheckUtils]: 64: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L290 TraceCheckUtils]: 65: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L290 TraceCheckUtils]: 66: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L290 TraceCheckUtils]: 67: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L290 TraceCheckUtils]: 68: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L290 TraceCheckUtils]: 69: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,298 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,299 INFO L272 TraceCheckUtils]: 71: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,299 INFO L290 TraceCheckUtils]: 72: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 73: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 74: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 75: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 76: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 77: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 78: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 79: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L290 TraceCheckUtils]: 80: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,300 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,301 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,301 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,301 INFO L290 TraceCheckUtils]: 84: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,301 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,301 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,301 INFO L290 TraceCheckUtils]: 87: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:02,301 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,302 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {2030#true} {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,303 INFO L290 TraceCheckUtils]: 90: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,303 INFO L290 TraceCheckUtils]: 91: Hoare triple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,304 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:02,304 INFO L290 TraceCheckUtils]: 93: Hoare triple {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} assume true; {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:02,305 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} #452#return; {2031#false} is VALID [2022-02-20 16:48:02,305 INFO L290 TraceCheckUtils]: 95: Hoare triple {2031#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2031#false} is VALID [2022-02-20 16:48:02,305 INFO L290 TraceCheckUtils]: 96: Hoare triple {2031#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {2031#false} is VALID [2022-02-20 16:48:02,305 INFO L290 TraceCheckUtils]: 97: Hoare triple {2031#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2031#false} is VALID [2022-02-20 16:48:02,305 INFO L290 TraceCheckUtils]: 98: Hoare triple {2031#false} assume true; {2031#false} is VALID [2022-02-20 16:48:02,306 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {2031#false} {2030#true} #470#return; {2132#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} is VALID [2022-02-20 16:48:02,306 INFO L290 TraceCheckUtils]: 0: Hoare triple {2030#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {2030#true} is VALID [2022-02-20 16:48:02,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {2030#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,307 INFO L272 TraceCheckUtils]: 2: Hoare triple {2030#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,307 INFO L290 TraceCheckUtils]: 3: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2138#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} is VALID [2022-02-20 16:48:02,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {2138#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,309 INFO L290 TraceCheckUtils]: 6: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,310 INFO L272 TraceCheckUtils]: 7: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,311 INFO L290 TraceCheckUtils]: 10: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,312 INFO L290 TraceCheckUtils]: 11: Hoare triple {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:02,312 INFO L290 TraceCheckUtils]: 12: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:02,313 INFO L272 TraceCheckUtils]: 13: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,314 INFO L272 TraceCheckUtils]: 14: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,315 INFO L272 TraceCheckUtils]: 16: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,315 INFO L290 TraceCheckUtils]: 17: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,315 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,315 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,315 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,315 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,316 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,316 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,316 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,316 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,317 INFO L272 TraceCheckUtils]: 27: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,317 INFO L290 TraceCheckUtils]: 28: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,317 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,317 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,317 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,317 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,317 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,317 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L290 TraceCheckUtils]: 40: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,318 INFO L290 TraceCheckUtils]: 43: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:02,319 INFO L290 TraceCheckUtils]: 44: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,319 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2030#true} {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} #448#return; {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:02,320 INFO L290 TraceCheckUtils]: 46: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,320 INFO L290 TraceCheckUtils]: 47: Hoare triple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,321 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:02,321 INFO L290 TraceCheckUtils]: 49: Hoare triple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} assume true; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:02,322 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {2138#(<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|)} #450#return; {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} is VALID [2022-02-20 16:48:02,323 INFO L272 TraceCheckUtils]: 51: Hoare triple {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,324 INFO L290 TraceCheckUtils]: 52: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,324 INFO L290 TraceCheckUtils]: 53: Hoare triple {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:02,325 INFO L272 TraceCheckUtils]: 54: Hoare triple {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,325 INFO L290 TraceCheckUtils]: 55: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,326 INFO L290 TraceCheckUtils]: 56: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,327 INFO L290 TraceCheckUtils]: 57: Hoare triple {2402#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,328 INFO L290 TraceCheckUtils]: 58: Hoare triple {2403#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,328 INFO L290 TraceCheckUtils]: 59: Hoare triple {2404#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,329 INFO L272 TraceCheckUtils]: 60: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,330 INFO L272 TraceCheckUtils]: 61: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,330 INFO L290 TraceCheckUtils]: 62: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,331 INFO L272 TraceCheckUtils]: 63: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,331 INFO L290 TraceCheckUtils]: 64: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,331 INFO L290 TraceCheckUtils]: 65: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,331 INFO L290 TraceCheckUtils]: 66: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,331 INFO L290 TraceCheckUtils]: 67: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,331 INFO L290 TraceCheckUtils]: 68: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,331 INFO L290 TraceCheckUtils]: 69: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,331 INFO L290 TraceCheckUtils]: 70: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,332 INFO L290 TraceCheckUtils]: 71: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,332 INFO L290 TraceCheckUtils]: 72: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,332 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:02,333 INFO L272 TraceCheckUtils]: 74: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:02,333 INFO L290 TraceCheckUtils]: 75: Hoare triple {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,333 INFO L290 TraceCheckUtils]: 76: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,333 INFO L290 TraceCheckUtils]: 77: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:02,333 INFO L290 TraceCheckUtils]: 78: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:02,333 INFO L290 TraceCheckUtils]: 79: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,333 INFO L290 TraceCheckUtils]: 80: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:02,333 INFO L290 TraceCheckUtils]: 81: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L290 TraceCheckUtils]: 86: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L290 TraceCheckUtils]: 87: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {2030#true} {2137#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {2030#true} is VALID [2022-02-20 16:48:02,334 INFO L290 TraceCheckUtils]: 90: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:02,335 INFO L290 TraceCheckUtils]: 91: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:02,335 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {2030#true} {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:02,336 INFO L290 TraceCheckUtils]: 93: Hoare triple {2405#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,336 INFO L290 TraceCheckUtils]: 94: Hoare triple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:02,337 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {2438#(or (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2359#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:02,338 INFO L290 TraceCheckUtils]: 96: Hoare triple {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} assume true; {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:02,338 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {2401#(or (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} {2185#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} #452#return; {2031#false} is VALID [2022-02-20 16:48:02,339 INFO L290 TraceCheckUtils]: 98: Hoare triple {2031#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2031#false} is VALID [2022-02-20 16:48:02,339 INFO L290 TraceCheckUtils]: 99: Hoare triple {2031#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {2031#false} is VALID [2022-02-20 16:48:02,339 INFO L290 TraceCheckUtils]: 100: Hoare triple {2031#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2031#false} is VALID [2022-02-20 16:48:02,339 INFO L290 TraceCheckUtils]: 101: Hoare triple {2031#false} assume true; {2031#false} is VALID [2022-02-20 16:48:02,339 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {2031#false} {2030#true} #470#return; {2132#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} is VALID [2022-02-20 16:48:02,339 INFO L290 TraceCheckUtils]: 103: Hoare triple {2132#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {2133#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} is VALID [2022-02-20 16:48:02,340 INFO L290 TraceCheckUtils]: 104: Hoare triple {2133#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {2134#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} is VALID [2022-02-20 16:48:02,340 INFO L272 TraceCheckUtils]: 105: Hoare triple {2134#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {2135#(not (= |inspect_base_#in~dll.base| 0))} is VALID [2022-02-20 16:48:02,341 INFO L290 TraceCheckUtils]: 106: Hoare triple {2135#(not (= |inspect_base_#in~dll.base| 0))} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {2136#(not (= inspect_base_~dll.base 0))} is VALID [2022-02-20 16:48:02,341 INFO L290 TraceCheckUtils]: 107: Hoare triple {2136#(not (= inspect_base_~dll.base 0))} assume ~dll.base == 0 && ~dll.offset == 0; {2031#false} is VALID [2022-02-20 16:48:02,341 INFO L272 TraceCheckUtils]: 108: Hoare triple {2031#false} call fail(); {2031#false} is VALID [2022-02-20 16:48:02,341 INFO L290 TraceCheckUtils]: 109: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2022-02-20 16:48:02,342 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 27 proven. 23 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 16:48:02,342 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:02,342 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1270526640] [2022-02-20 16:48:02,342 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1270526640] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:02,342 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1313034357] [2022-02-20 16:48:02,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:02,342 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:02,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:02,346 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:48:02,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 16:48:02,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:02,579 INFO L263 TraceCheckSpWp]: Trace formula consists of 948 conjuncts, 45 conjunts are in the unsatisfiable core [2022-02-20 16:48:02,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:02,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:02,983 INFO L356 Elim1Store]: treesize reduction 26, result has 42.2 percent of original size [2022-02-20 16:48:02,983 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 74 [2022-02-20 16:48:02,991 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 8 treesize of output 7 [2022-02-20 16:48:02,998 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 12 treesize of output 11 [2022-02-20 16:48:03,065 INFO L356 Elim1Store]: treesize reduction 33, result has 2.9 percent of original size [2022-02-20 16:48:03,066 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 82 treesize of output 34 [2022-02-20 16:48:03,068 INFO L390 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 22 treesize of output 16 [2022-02-20 16:48:03,092 WARN L860 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$.base| |c_dll_insert_master_#in~dll#1.base|) |c_dll_insert_master_#in~dll#1.offset|))) (let ((.cse1 (not (= .cse2 0)))) (or (and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_DerPreprocessor_2 (Array Int Int))) (let ((.cse0 (select (select |c_#memory_$Pointer$.base| |c_dll_insert_master_#in~dll#1.base|) |c_dll_insert_master_#in~dll#1.offset|))) (and (= (select v_DerPreprocessor_2 |c_dll_insert_master_#in~dll#1.offset|) .cse0) (= (select (store (store (store (store |c_#memory_$Pointer$.base| .cse0 v_DerPreprocessor_1) |c_dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) .cse0 v_DerPreprocessor_1) |c_dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) .cse0) v_DerPreprocessor_1)))) .cse1) (and .cse1 (not (= |c_dll_insert_master_#in~dll#1.base| .cse2)))))) is different from true [2022-02-20 16:48:03,202 INFO L390 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 16 treesize of output 8 [2022-02-20 16:48:03,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {2030#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {2030#true} is VALID [2022-02-20 16:48:03,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {2030#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,258 INFO L272 TraceCheckUtils]: 2: Hoare triple {2030#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {2030#true} is VALID [2022-02-20 16:48:03,258 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2499#(= |dll_create_generic_~#dll~0.offset| 0)} is VALID [2022-02-20 16:48:03,258 INFO L272 TraceCheckUtils]: 4: Hoare triple {2499#(= |dll_create_generic_~#dll~0.offset| 0)} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:03,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,258 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L272 TraceCheckUtils]: 7: Hoare triple {2030#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 12: Hoare triple {2030#true} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L272 TraceCheckUtils]: 13: Hoare triple {2030#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L272 TraceCheckUtils]: 14: Hoare triple {2030#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L272 TraceCheckUtils]: 16: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,259 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L272 TraceCheckUtils]: 27: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:03,260 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 40: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 43: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 44: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2030#true} {2030#true} #448#return; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 46: Hoare triple {2030#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 47: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2030#true} {2030#true} #456#return; {2030#true} is VALID [2022-02-20 16:48:03,261 INFO L290 TraceCheckUtils]: 49: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,262 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2030#true} {2499#(= |dll_create_generic_~#dll~0.offset| 0)} #450#return; {2499#(= |dll_create_generic_~#dll~0.offset| 0)} is VALID [2022-02-20 16:48:03,264 INFO L272 TraceCheckUtils]: 51: Hoare triple {2499#(= |dll_create_generic_~#dll~0.offset| 0)} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:03,264 INFO L290 TraceCheckUtils]: 52: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:03,265 INFO L290 TraceCheckUtils]: 53: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:03,265 INFO L272 TraceCheckUtils]: 54: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2030#true} is VALID [2022-02-20 16:48:03,265 INFO L290 TraceCheckUtils]: 55: Hoare triple {2030#true} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:03,265 INFO L290 TraceCheckUtils]: 56: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:03,266 INFO L290 TraceCheckUtils]: 57: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 58: Hoare triple {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 59: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:03,267 INFO L272 TraceCheckUtils]: 60: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L272 TraceCheckUtils]: 61: Hoare triple {2030#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 62: Hoare triple {2030#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L272 TraceCheckUtils]: 63: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 64: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 65: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 66: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 67: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 68: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,267 INFO L290 TraceCheckUtils]: 69: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 70: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 71: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 72: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L272 TraceCheckUtils]: 74: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 75: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 76: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 77: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 78: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 79: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 80: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 81: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 86: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 87: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:03,268 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,269 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:48:03,269 INFO L290 TraceCheckUtils]: 90: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:03,269 INFO L290 TraceCheckUtils]: 91: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:03,269 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {2030#true} {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} #448#return; {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:03,272 INFO L290 TraceCheckUtils]: 93: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2770#(or (and (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (not (= |dll_insert_master_#in~dll#1.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))) (and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_DerPreprocessor_2 (Array Int Int))) (and (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) (select v_DerPreprocessor_2 |dll_insert_master_#in~dll#1.offset|)) (= (select (store (store (store (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_1))) (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))))} is VALID [2022-02-20 16:48:03,273 INFO L290 TraceCheckUtils]: 94: Hoare triple {2770#(or (and (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (not (= |dll_insert_master_#in~dll#1.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))) (and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_DerPreprocessor_2 (Array Int Int))) (and (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) (select v_DerPreprocessor_2 |dll_insert_master_#in~dll#1.offset|)) (= (select (store (store (store (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_1))) (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))))} assume true; {2770#(or (and (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (not (= |dll_insert_master_#in~dll#1.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))) (and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_DerPreprocessor_2 (Array Int Int))) (and (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) (select v_DerPreprocessor_2 |dll_insert_master_#in~dll#1.offset|)) (= (select (store (store (store (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_1))) (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))))} is VALID [2022-02-20 16:48:03,274 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {2770#(or (and (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (not (= |dll_insert_master_#in~dll#1.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)))) (and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_DerPreprocessor_2 (Array Int Int))) (and (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) (select v_DerPreprocessor_2 |dll_insert_master_#in~dll#1.offset|)) (= (select (store (store (store (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) v_DerPreprocessor_1) |dll_insert_master_#in~dll#1.base| v_DerPreprocessor_2) (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|)) v_DerPreprocessor_1))) (not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))))} {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:03,274 INFO L290 TraceCheckUtils]: 96: Hoare triple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} assume true; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:03,275 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {2499#(= |dll_create_generic_~#dll~0.offset| 0)} #452#return; {2783#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (= |dll_create_generic_~#dll~0.offset| 0))} is VALID [2022-02-20 16:48:03,275 INFO L290 TraceCheckUtils]: 98: Hoare triple {2783#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (= |dll_create_generic_~#dll~0.offset| 0))} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2783#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (= |dll_create_generic_~#dll~0.offset| 0))} is VALID [2022-02-20 16:48:03,276 INFO L290 TraceCheckUtils]: 99: Hoare triple {2783#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (= |dll_create_generic_~#dll~0.offset| 0))} assume !(0 != #t~nondet9);havoc #t~nondet9; {2783#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (= |dll_create_generic_~#dll~0.offset| 0))} is VALID [2022-02-20 16:48:03,276 INFO L290 TraceCheckUtils]: 100: Hoare triple {2783#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (= |dll_create_generic_~#dll~0.offset| 0))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2793#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:48:03,276 INFO L290 TraceCheckUtils]: 101: Hoare triple {2793#(not (= |dll_create_generic_#res.base| 0))} assume true; {2793#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:48:03,277 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {2793#(not (= |dll_create_generic_#res.base| 0))} {2030#true} #470#return; {2132#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} is VALID [2022-02-20 16:48:03,278 INFO L290 TraceCheckUtils]: 103: Hoare triple {2132#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {2133#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} is VALID [2022-02-20 16:48:03,278 INFO L290 TraceCheckUtils]: 104: Hoare triple {2133#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {2134#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} is VALID [2022-02-20 16:48:03,279 INFO L272 TraceCheckUtils]: 105: Hoare triple {2134#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {2135#(not (= |inspect_base_#in~dll.base| 0))} is VALID [2022-02-20 16:48:03,279 INFO L290 TraceCheckUtils]: 106: Hoare triple {2135#(not (= |inspect_base_#in~dll.base| 0))} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {2136#(not (= inspect_base_~dll.base 0))} is VALID [2022-02-20 16:48:03,279 INFO L290 TraceCheckUtils]: 107: Hoare triple {2136#(not (= inspect_base_~dll.base 0))} assume ~dll.base == 0 && ~dll.offset == 0; {2031#false} is VALID [2022-02-20 16:48:03,279 INFO L272 TraceCheckUtils]: 108: Hoare triple {2031#false} call fail(); {2031#false} is VALID [2022-02-20 16:48:03,279 INFO L290 TraceCheckUtils]: 109: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2022-02-20 16:48:03,280 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 33 proven. 5 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-02-20 16:48:03,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:04,154 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:04,155 INFO L390 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 218 treesize of output 215 [2022-02-20 16:48:04,166 INFO L390 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 250 treesize of output 242 [2022-02-20 16:48:04,177 INFO L390 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 242 treesize of output 238 [2022-02-20 16:48:04,312 INFO L390 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 6 treesize of output 4 [2022-02-20 16:48:04,319 INFO L390 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 20 treesize of output 18 [2022-02-20 16:48:04,354 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:48:04,354 INFO L390 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 104 treesize of output 107 [2022-02-20 16:48:04,369 INFO L390 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 120 treesize of output 116 [2022-02-20 16:48:04,375 INFO L390 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 116 treesize of output 114 [2022-02-20 16:48:04,422 INFO L390 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 6 treesize of output 4 [2022-02-20 16:48:04,429 INFO L390 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 20 treesize of output 18 [2022-02-20 16:48:04,784 INFO L290 TraceCheckUtils]: 109: Hoare triple {2031#false} assume !false; {2031#false} is VALID [2022-02-20 16:48:04,784 INFO L272 TraceCheckUtils]: 108: Hoare triple {2031#false} call fail(); {2031#false} is VALID [2022-02-20 16:48:04,785 INFO L290 TraceCheckUtils]: 107: Hoare triple {2136#(not (= inspect_base_~dll.base 0))} assume ~dll.base == 0 && ~dll.offset == 0; {2031#false} is VALID [2022-02-20 16:48:04,785 INFO L290 TraceCheckUtils]: 106: Hoare triple {2135#(not (= |inspect_base_#in~dll.base| 0))} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {2136#(not (= inspect_base_~dll.base 0))} is VALID [2022-02-20 16:48:04,786 INFO L272 TraceCheckUtils]: 105: Hoare triple {2134#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {2135#(not (= |inspect_base_#in~dll.base| 0))} is VALID [2022-02-20 16:48:04,786 INFO L290 TraceCheckUtils]: 104: Hoare triple {2133#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {2134#(not (= |ULTIMATE.start_inspect_full_~dll#1.base| 0))} is VALID [2022-02-20 16:48:04,786 INFO L290 TraceCheckUtils]: 103: Hoare triple {2132#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {2133#(not (= |ULTIMATE.start_dll_create_master_#res#1.base| 0))} is VALID [2022-02-20 16:48:04,787 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {2793#(not (= |dll_create_generic_#res.base| 0))} {2030#true} #470#return; {2132#(not (= |ULTIMATE.start_dll_create_master_#t~ret21#1.base| 0))} is VALID [2022-02-20 16:48:04,787 INFO L290 TraceCheckUtils]: 101: Hoare triple {2793#(not (= |dll_create_generic_#res.base| 0))} assume true; {2793#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:48:04,787 INFO L290 TraceCheckUtils]: 100: Hoare triple {2851#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2793#(not (= |dll_create_generic_#res.base| 0))} is VALID [2022-02-20 16:48:04,788 INFO L290 TraceCheckUtils]: 99: Hoare triple {2851#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0))} assume !(0 != #t~nondet9);havoc #t~nondet9; {2851#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0))} is VALID [2022-02-20 16:48:04,788 INFO L290 TraceCheckUtils]: 98: Hoare triple {2851#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0))} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2851#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0))} is VALID [2022-02-20 16:48:04,789 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {2030#true} #452#return; {2851#(not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0))} is VALID [2022-02-20 16:48:04,789 INFO L290 TraceCheckUtils]: 96: Hoare triple {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} assume true; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:04,790 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {2274#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:04,790 INFO L290 TraceCheckUtils]: 94: Hoare triple {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} assume true; {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:04,791 INFO L290 TraceCheckUtils]: 93: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2310#(not (= (select (select |#memory_$Pointer$.base| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0))} is VALID [2022-02-20 16:48:04,791 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {2030#true} {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} #448#return; {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:04,791 INFO L290 TraceCheckUtils]: 91: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,791 INFO L290 TraceCheckUtils]: 90: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:04,791 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:48:04,791 INFO L290 TraceCheckUtils]: 88: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 87: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 86: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 85: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 83: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 82: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 81: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 80: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 79: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 78: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 77: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 76: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 75: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L272 TraceCheckUtils]: 74: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 72: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 71: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 70: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 69: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 68: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,792 INFO L290 TraceCheckUtils]: 67: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,793 INFO L290 TraceCheckUtils]: 66: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:04,793 INFO L290 TraceCheckUtils]: 65: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,793 INFO L290 TraceCheckUtils]: 64: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,793 INFO L272 TraceCheckUtils]: 63: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:04,793 INFO L290 TraceCheckUtils]: 62: Hoare triple {2030#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,793 INFO L272 TraceCheckUtils]: 61: Hoare triple {2030#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2030#true} is VALID [2022-02-20 16:48:04,793 INFO L272 TraceCheckUtils]: 60: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2030#true} is VALID [2022-02-20 16:48:04,799 INFO L290 TraceCheckUtils]: 59: Hoare triple {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:04,800 INFO L290 TraceCheckUtils]: 58: Hoare triple {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2277#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (not (= |dll_insert_master_~item~1#1.base| 0)))} is VALID [2022-02-20 16:48:04,800 INFO L290 TraceCheckUtils]: 57: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2276#(and (not (= |dll_insert_master_alloc_or_die_master_#res#1.base| 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:04,801 INFO L290 TraceCheckUtils]: 56: Hoare triple {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:04,801 INFO L290 TraceCheckUtils]: 55: Hoare triple {2030#true} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2275#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 0)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:04,801 INFO L272 TraceCheckUtils]: 54: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {2030#true} is VALID [2022-02-20 16:48:04,802 INFO L290 TraceCheckUtils]: 53: Hoare triple {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:04,802 INFO L290 TraceCheckUtils]: 52: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2232#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:04,802 INFO L272 TraceCheckUtils]: 51: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:04,802 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:04,802 INFO L290 TraceCheckUtils]: 49: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,803 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2030#true} {2030#true} #456#return; {2030#true} is VALID [2022-02-20 16:48:04,803 INFO L290 TraceCheckUtils]: 47: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,803 INFO L290 TraceCheckUtils]: 46: Hoare triple {2030#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,803 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2030#true} {2030#true} #448#return; {2030#true} is VALID [2022-02-20 16:48:04,803 INFO L290 TraceCheckUtils]: 44: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,803 INFO L290 TraceCheckUtils]: 43: Hoare triple {2030#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {2030#true} is VALID [2022-02-20 16:48:04,804 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2030#true} {2030#true} #446#return; {2030#true} is VALID [2022-02-20 16:48:04,804 INFO L290 TraceCheckUtils]: 41: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,804 INFO L290 TraceCheckUtils]: 40: Hoare triple {2030#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {2030#true} is VALID [2022-02-20 16:48:04,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {2030#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 38: Hoare triple {2030#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2030#true} {2030#true} #452#return; {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 36: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 35: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 32: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L290 TraceCheckUtils]: 28: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L272 TraceCheckUtils]: 27: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2030#true} {2030#true} #450#return; {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L290 TraceCheckUtils]: 25: Hoare triple {2030#true} assume true; {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L290 TraceCheckUtils]: 24: Hoare triple {2030#true} assume { :end_inline_dll_insert_slave } true; {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L290 TraceCheckUtils]: 23: Hoare triple {2030#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {2030#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:04,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {2030#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {2030#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {2030#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L290 TraceCheckUtils]: 17: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L272 TraceCheckUtils]: 16: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L290 TraceCheckUtils]: 15: Hoare triple {2030#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L272 TraceCheckUtils]: 14: Hoare triple {2030#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L272 TraceCheckUtils]: 13: Hoare triple {2030#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {2030#true} is VALID [2022-02-20 16:48:04,808 INFO L290 TraceCheckUtils]: 12: Hoare triple {2030#true} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {2030#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L290 TraceCheckUtils]: 10: Hoare triple {2030#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {2030#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {2030#true} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L272 TraceCheckUtils]: 7: Hoare triple {2030#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L290 TraceCheckUtils]: 6: Hoare triple {2030#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {2030#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L272 TraceCheckUtils]: 4: Hoare triple {2030#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {2030#true} is VALID [2022-02-20 16:48:04,809 INFO L290 TraceCheckUtils]: 3: Hoare triple {2030#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {2030#true} is VALID [2022-02-20 16:48:04,810 INFO L272 TraceCheckUtils]: 2: Hoare triple {2030#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {2030#true} is VALID [2022-02-20 16:48:04,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {2030#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {2030#true} is VALID [2022-02-20 16:48:04,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {2030#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {2030#true} is VALID [2022-02-20 16:48:04,810 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 32 proven. 2 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-02-20 16:48:04,810 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1313034357] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:48:04,810 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:48:04,811 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 16, 15] total 28 [2022-02-20 16:48:04,811 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1748495655] [2022-02-20 16:48:04,811 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:04,814 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 24 states have internal predecessors, (70), 11 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (18), 11 states have call predecessors, (18), 9 states have call successors, (18) Word has length 110 [2022-02-20 16:48:04,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:04,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 28 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 24 states have internal predecessors, (70), 11 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (18), 11 states have call predecessors, (18), 9 states have call successors, (18) [2022-02-20 16:48:05,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:05,007 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-02-20 16:48:05,007 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:05,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-02-20 16:48:05,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=645, Unknown=1, NotChecked=50, Total=756 [2022-02-20 16:48:05,008 INFO L87 Difference]: Start difference. First operand 133 states and 164 transitions. Second operand has 28 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 24 states have internal predecessors, (70), 11 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (18), 11 states have call predecessors, (18), 9 states have call successors, (18) [2022-02-20 16:48:09,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:09,477 INFO L93 Difference]: Finished difference Result 330 states and 410 transitions. [2022-02-20 16:48:09,477 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-02-20 16:48:09,478 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 24 states have internal predecessors, (70), 11 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (18), 11 states have call predecessors, (18), 9 states have call successors, (18) Word has length 110 [2022-02-20 16:48:09,478 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:09,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 24 states have internal predecessors, (70), 11 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (18), 11 states have call predecessors, (18), 9 states have call successors, (18) [2022-02-20 16:48:09,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 396 transitions. [2022-02-20 16:48:09,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 24 states have internal predecessors, (70), 11 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (18), 11 states have call predecessors, (18), 9 states have call successors, (18) [2022-02-20 16:48:09,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 396 transitions. [2022-02-20 16:48:09,491 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 396 transitions. [2022-02-20 16:48:09,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 396 edges. 393 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:09,742 INFO L225 Difference]: With dead ends: 330 [2022-02-20 16:48:09,742 INFO L226 Difference]: Without dead ends: 201 [2022-02-20 16:48:09,743 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 284 GetRequests, 239 SyntacticMatches, 1 SemanticMatches, 44 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=168, Invalid=1814, Unknown=2, NotChecked=86, Total=2070 [2022-02-20 16:48:09,743 INFO L933 BasicCegarLoop]: 133 mSDtfsCounter, 251 mSDsluCounter, 1935 mSDsCounter, 0 mSdLazyCounter, 1837 mSolverCounterSat, 69 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 253 SdHoareTripleChecker+Valid, 2068 SdHoareTripleChecker+Invalid, 2128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 69 IncrementalHoareTripleChecker+Valid, 1837 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 222 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:09,743 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [253 Valid, 2068 Invalid, 2128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [69 Valid, 1837 Invalid, 0 Unknown, 222 Unchecked, 1.6s Time] [2022-02-20 16:48:09,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2022-02-20 16:48:09,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 166. [2022-02-20 16:48:09,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:09,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand has 166 states, 126 states have (on average 1.253968253968254) internal successors, (158), 144 states have internal predecessors, (158), 29 states have call successors, (29), 10 states have call predecessors, (29), 10 states have return successors, (17), 13 states have call predecessors, (17), 15 states have call successors, (17) [2022-02-20 16:48:09,764 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand has 166 states, 126 states have (on average 1.253968253968254) internal successors, (158), 144 states have internal predecessors, (158), 29 states have call successors, (29), 10 states have call predecessors, (29), 10 states have return successors, (17), 13 states have call predecessors, (17), 15 states have call successors, (17) [2022-02-20 16:48:09,765 INFO L87 Difference]: Start difference. First operand 201 states. Second operand has 166 states, 126 states have (on average 1.253968253968254) internal successors, (158), 144 states have internal predecessors, (158), 29 states have call successors, (29), 10 states have call predecessors, (29), 10 states have return successors, (17), 13 states have call predecessors, (17), 15 states have call successors, (17) [2022-02-20 16:48:09,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:09,769 INFO L93 Difference]: Finished difference Result 201 states and 246 transitions. [2022-02-20 16:48:09,769 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 246 transitions. [2022-02-20 16:48:09,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:09,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:09,770 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 126 states have (on average 1.253968253968254) internal successors, (158), 144 states have internal predecessors, (158), 29 states have call successors, (29), 10 states have call predecessors, (29), 10 states have return successors, (17), 13 states have call predecessors, (17), 15 states have call successors, (17) Second operand 201 states. [2022-02-20 16:48:09,770 INFO L87 Difference]: Start difference. First operand has 166 states, 126 states have (on average 1.253968253968254) internal successors, (158), 144 states have internal predecessors, (158), 29 states have call successors, (29), 10 states have call predecessors, (29), 10 states have return successors, (17), 13 states have call predecessors, (17), 15 states have call successors, (17) Second operand 201 states. [2022-02-20 16:48:09,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:09,774 INFO L93 Difference]: Finished difference Result 201 states and 246 transitions. [2022-02-20 16:48:09,774 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 246 transitions. [2022-02-20 16:48:09,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:09,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:09,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:09,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:09,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 126 states have (on average 1.253968253968254) internal successors, (158), 144 states have internal predecessors, (158), 29 states have call successors, (29), 10 states have call predecessors, (29), 10 states have return successors, (17), 13 states have call predecessors, (17), 15 states have call successors, (17) [2022-02-20 16:48:09,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 204 transitions. [2022-02-20 16:48:09,778 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 204 transitions. Word has length 110 [2022-02-20 16:48:09,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:09,779 INFO L470 AbstractCegarLoop]: Abstraction has 166 states and 204 transitions. [2022-02-20 16:48:09,779 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 24 states have internal predecessors, (70), 11 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (18), 11 states have call predecessors, (18), 9 states have call successors, (18) [2022-02-20 16:48:09,779 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 204 transitions. [2022-02-20 16:48:09,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-02-20 16:48:09,780 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:09,780 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 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] [2022-02-20 16:48:09,799 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:09,993 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-02-20 16:48:09,994 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:09,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:09,994 INFO L85 PathProgramCache]: Analyzing trace with hash 614553281, now seen corresponding path program 1 times [2022-02-20 16:48:09,994 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:09,994 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [921817446] [2022-02-20 16:48:09,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:09,994 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:10,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,104 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:10,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:10,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,265 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:10,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,433 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:10,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,457 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:10,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:10,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,480 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,482 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:48:10,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,489 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,490 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,490 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,490 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,490 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,490 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,490 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,491 INFO L272 TraceCheckUtils]: 1: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,491 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,491 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,492 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,492 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,492 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,493 INFO L272 TraceCheckUtils]: 12: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,493 INFO L290 TraceCheckUtils]: 13: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,493 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L290 TraceCheckUtils]: 23: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,494 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,495 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,495 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,495 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,495 INFO L272 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,496 INFO L272 TraceCheckUtils]: 2: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,496 INFO L290 TraceCheckUtils]: 3: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L290 TraceCheckUtils]: 11: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,497 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,498 INFO L272 TraceCheckUtils]: 13: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,498 INFO L290 TraceCheckUtils]: 14: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 22: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,499 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,500 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,500 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,500 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,500 INFO L290 TraceCheckUtils]: 29: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,500 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,501 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4272#true} {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,501 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:10,504 INFO L290 TraceCheckUtils]: 3: Hoare triple {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,509 INFO L290 TraceCheckUtils]: 4: Hoare triple {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,509 INFO L272 TraceCheckUtils]: 5: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,511 INFO L272 TraceCheckUtils]: 8: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,511 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,511 INFO L290 TraceCheckUtils]: 11: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,511 INFO L290 TraceCheckUtils]: 12: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,512 INFO L290 TraceCheckUtils]: 13: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,512 INFO L290 TraceCheckUtils]: 14: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,512 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,512 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,513 INFO L272 TraceCheckUtils]: 19: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,513 INFO L290 TraceCheckUtils]: 22: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,513 INFO L290 TraceCheckUtils]: 23: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,513 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 27: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 28: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 32: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,514 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,515 INFO L290 TraceCheckUtils]: 35: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,515 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4272#true} {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,516 INFO L290 TraceCheckUtils]: 38: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,517 INFO L290 TraceCheckUtils]: 39: Hoare triple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} assume true; {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,518 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:10,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:10,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:10,519 INFO L272 TraceCheckUtils]: 2: Hoare triple {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,520 INFO L290 TraceCheckUtils]: 3: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,520 INFO L290 TraceCheckUtils]: 4: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:10,522 INFO L290 TraceCheckUtils]: 6: Hoare triple {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,523 INFO L290 TraceCheckUtils]: 7: Hoare triple {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,523 INFO L272 TraceCheckUtils]: 8: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,524 INFO L272 TraceCheckUtils]: 9: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,524 INFO L290 TraceCheckUtils]: 10: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,525 INFO L272 TraceCheckUtils]: 11: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,525 INFO L290 TraceCheckUtils]: 12: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,525 INFO L290 TraceCheckUtils]: 13: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,525 INFO L290 TraceCheckUtils]: 14: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,525 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,526 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,526 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,526 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,526 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,526 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,526 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,527 INFO L272 TraceCheckUtils]: 22: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,527 INFO L290 TraceCheckUtils]: 23: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,527 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,527 INFO L290 TraceCheckUtils]: 27: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 28: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 29: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 31: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 34: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,528 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,529 INFO L290 TraceCheckUtils]: 38: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,529 INFO L290 TraceCheckUtils]: 39: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,529 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4272#true} {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,530 INFO L290 TraceCheckUtils]: 41: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,531 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} assume true; {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,532 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:10,532 INFO L290 TraceCheckUtils]: 44: Hoare triple {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} assume true; {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:10,533 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} {4375#(and (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} #450#return; {4273#false} is VALID [2022-02-20 16:48:10,534 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 16:48:10,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,558 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:10,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:10,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,588 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:10,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,602 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:10,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,608 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,609 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:48:10,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,615 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,615 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,616 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,616 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L272 TraceCheckUtils]: 1: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,617 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L272 TraceCheckUtils]: 12: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 13: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 14: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,619 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,619 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,619 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L272 TraceCheckUtils]: 2: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 3: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L290 TraceCheckUtils]: 11: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,620 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,621 INFO L272 TraceCheckUtils]: 13: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,621 INFO L290 TraceCheckUtils]: 14: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,621 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,621 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,621 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,621 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 27: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 29: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4272#true} {4272#true} #448#return; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,622 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,623 INFO L272 TraceCheckUtils]: 5: Hoare triple {4272#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,623 INFO L272 TraceCheckUtils]: 6: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,623 INFO L290 TraceCheckUtils]: 7: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L272 TraceCheckUtils]: 8: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 11: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 12: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,625 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,625 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,625 INFO L272 TraceCheckUtils]: 19: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,625 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,625 INFO L290 TraceCheckUtils]: 22: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,625 INFO L290 TraceCheckUtils]: 23: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,625 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 28: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 35: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 36: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4272#true} {4272#true} #448#return; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 38: Hoare triple {4272#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 39: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4272#true} {4272#true} #456#return; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4272#true} is VALID [2022-02-20 16:48:10,627 INFO L272 TraceCheckUtils]: 2: Hoare triple {4272#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,627 INFO L290 TraceCheckUtils]: 3: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,627 INFO L290 TraceCheckUtils]: 4: Hoare triple {4272#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,627 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {4272#true} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,628 INFO L272 TraceCheckUtils]: 8: Hoare triple {4272#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,628 INFO L272 TraceCheckUtils]: 9: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L272 TraceCheckUtils]: 11: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 12: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,629 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L272 TraceCheckUtils]: 22: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 23: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 28: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 29: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,630 INFO L290 TraceCheckUtils]: 31: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 34: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 35: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 36: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 38: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 39: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4272#true} {4272#true} #448#return; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 41: Hoare triple {4272#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 42: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4272#true} {4272#true} #456#return; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L290 TraceCheckUtils]: 44: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,631 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4272#true} {4273#false} #452#return; {4273#false} is VALID [2022-02-20 16:48:10,632 INFO L290 TraceCheckUtils]: 0: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4375#(and (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} is VALID [2022-02-20 16:48:10,633 INFO L272 TraceCheckUtils]: 1: Hoare triple {4375#(and (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:10,633 INFO L290 TraceCheckUtils]: 3: Hoare triple {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:10,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,635 INFO L290 TraceCheckUtils]: 6: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:10,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,638 INFO L272 TraceCheckUtils]: 10: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,639 INFO L272 TraceCheckUtils]: 11: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,639 INFO L290 TraceCheckUtils]: 12: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,639 INFO L272 TraceCheckUtils]: 13: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 16: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L290 TraceCheckUtils]: 22: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,640 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L272 TraceCheckUtils]: 24: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 25: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 27: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 28: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 29: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 31: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 32: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 35: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 36: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 37: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 40: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,641 INFO L290 TraceCheckUtils]: 41: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,642 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4272#true} {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,643 INFO L290 TraceCheckUtils]: 43: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,643 INFO L290 TraceCheckUtils]: 44: Hoare triple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} assume true; {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,644 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:10,644 INFO L290 TraceCheckUtils]: 46: Hoare triple {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} assume true; {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:10,645 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} {4375#(and (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} #450#return; {4273#false} is VALID [2022-02-20 16:48:10,645 INFO L272 TraceCheckUtils]: 48: Hoare triple {4273#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,645 INFO L290 TraceCheckUtils]: 50: Hoare triple {4272#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4272#true} is VALID [2022-02-20 16:48:10,646 INFO L272 TraceCheckUtils]: 51: Hoare triple {4272#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,646 INFO L290 TraceCheckUtils]: 52: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,646 INFO L290 TraceCheckUtils]: 53: Hoare triple {4272#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,646 INFO L290 TraceCheckUtils]: 54: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,646 INFO L290 TraceCheckUtils]: 55: Hoare triple {4272#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,646 INFO L290 TraceCheckUtils]: 56: Hoare triple {4272#true} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,646 INFO L272 TraceCheckUtils]: 57: Hoare triple {4272#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,647 INFO L272 TraceCheckUtils]: 58: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,647 INFO L290 TraceCheckUtils]: 59: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L272 TraceCheckUtils]: 60: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 61: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 62: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 63: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 64: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 65: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 66: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 67: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,648 INFO L290 TraceCheckUtils]: 68: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,649 INFO L290 TraceCheckUtils]: 69: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,649 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,649 INFO L272 TraceCheckUtils]: 71: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,649 INFO L290 TraceCheckUtils]: 72: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 73: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 74: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 75: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 76: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 77: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 78: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 79: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L290 TraceCheckUtils]: 80: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,650 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 82: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 83: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 84: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 85: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 87: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 88: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {4272#true} {4272#true} #448#return; {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 90: Hoare triple {4272#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,651 INFO L290 TraceCheckUtils]: 91: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,652 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4272#true} {4272#true} #456#return; {4272#true} is VALID [2022-02-20 16:48:10,652 INFO L290 TraceCheckUtils]: 93: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,652 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {4272#true} {4273#false} #452#return; {4273#false} is VALID [2022-02-20 16:48:10,652 INFO L290 TraceCheckUtils]: 95: Hoare triple {4273#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#false} is VALID [2022-02-20 16:48:10,652 INFO L290 TraceCheckUtils]: 96: Hoare triple {4273#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#false} is VALID [2022-02-20 16:48:10,652 INFO L290 TraceCheckUtils]: 97: Hoare triple {4273#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4273#false} is VALID [2022-02-20 16:48:10,652 INFO L290 TraceCheckUtils]: 98: Hoare triple {4273#false} assume true; {4273#false} is VALID [2022-02-20 16:48:10,652 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {4273#false} {4272#true} #470#return; {4273#false} is VALID [2022-02-20 16:48:10,653 INFO L290 TraceCheckUtils]: 0: Hoare triple {4272#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {4272#true} is VALID [2022-02-20 16:48:10,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,672 INFO L272 TraceCheckUtils]: 2: Hoare triple {4272#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,673 INFO L290 TraceCheckUtils]: 3: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4375#(and (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} is VALID [2022-02-20 16:48:10,673 INFO L272 TraceCheckUtils]: 4: Hoare triple {4375#(and (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:10,674 INFO L290 TraceCheckUtils]: 6: Hoare triple {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:10,675 INFO L272 TraceCheckUtils]: 7: Hoare triple {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,676 INFO L290 TraceCheckUtils]: 9: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,677 INFO L290 TraceCheckUtils]: 10: Hoare triple {4511#(and (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_alloc_or_die_master_~ptr~1#1.base| 1) |#StackHeapBarrier|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:10,678 INFO L290 TraceCheckUtils]: 11: Hoare triple {4512#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (or (= (select |#memory_$Pointer$.base| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|) (or (= (select |#memory_$Pointer$.offset| |dll_insert_master_~dll#1.base|) (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,678 INFO L290 TraceCheckUtils]: 12: Hoare triple {4513#(and (or (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.base|) (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) |dll_insert_master_~next~3#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|)) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,679 INFO L272 TraceCheckUtils]: 13: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,680 INFO L272 TraceCheckUtils]: 14: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,680 INFO L272 TraceCheckUtils]: 16: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,680 INFO L290 TraceCheckUtils]: 17: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,680 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L290 TraceCheckUtils]: 22: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L290 TraceCheckUtils]: 23: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L272 TraceCheckUtils]: 27: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,681 INFO L290 TraceCheckUtils]: 28: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L290 TraceCheckUtils]: 29: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,681 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 31: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 32: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 34: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 35: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 36: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 38: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 39: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 40: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 41: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 43: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,682 INFO L290 TraceCheckUtils]: 44: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,683 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4272#true} {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:10,683 INFO L290 TraceCheckUtils]: 46: Hoare triple {4514#(and (or (and (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|)) (<= (+ |dll_insert_master_~dll#1.base| 1) |#StackHeapBarrier|) (and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_~dll#1.base|) |dll_insert_master_~dll#1.offset|) 0)))) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,684 INFO L290 TraceCheckUtils]: 47: Hoare triple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} assume true; {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} is VALID [2022-02-20 16:48:10,684 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4547#(or (not (= (select (select |old(#memory_$Pointer$.base)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)) (<= (+ |dll_insert_master_#in~dll#1.base| 1) |#StackHeapBarrier|) (not (= (select (select |old(#memory_$Pointer$.offset)| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)))} {4468#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:10,685 INFO L290 TraceCheckUtils]: 49: Hoare triple {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} assume true; {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 16:48:10,686 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4510#(or (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))) (not (= (select (select |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (<= (+ |##fun~$Pointer$~TO~VOID_#in~10#1.base| 1) |#StackHeapBarrier|))} {4375#(and (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (<= (+ |#StackHeapBarrier| 1) |dll_create_generic_~#dll~0.base|))} #450#return; {4273#false} is VALID [2022-02-20 16:48:10,686 INFO L272 TraceCheckUtils]: 51: Hoare triple {4273#false} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,686 INFO L290 TraceCheckUtils]: 52: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,686 INFO L290 TraceCheckUtils]: 53: Hoare triple {4272#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4272#true} is VALID [2022-02-20 16:48:10,686 INFO L272 TraceCheckUtils]: 54: Hoare triple {4272#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,686 INFO L290 TraceCheckUtils]: 55: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,686 INFO L290 TraceCheckUtils]: 56: Hoare triple {4272#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,686 INFO L290 TraceCheckUtils]: 57: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,687 INFO L290 TraceCheckUtils]: 58: Hoare triple {4272#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,687 INFO L290 TraceCheckUtils]: 59: Hoare triple {4272#true} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,687 INFO L272 TraceCheckUtils]: 60: Hoare triple {4272#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,687 INFO L272 TraceCheckUtils]: 61: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 62: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,688 INFO L272 TraceCheckUtils]: 63: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 64: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 65: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 66: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 67: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 68: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 69: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,688 INFO L290 TraceCheckUtils]: 70: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,689 INFO L290 TraceCheckUtils]: 71: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,689 INFO L290 TraceCheckUtils]: 72: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,689 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:10,689 INFO L272 TraceCheckUtils]: 74: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:10,689 INFO L290 TraceCheckUtils]: 75: Hoare triple {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,689 INFO L290 TraceCheckUtils]: 76: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,689 INFO L290 TraceCheckUtils]: 77: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:10,689 INFO L290 TraceCheckUtils]: 78: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 79: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 80: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 81: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 82: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 83: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 85: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 86: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 87: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:10,690 INFO L290 TraceCheckUtils]: 88: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {4272#true} {4374#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 90: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 91: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4272#true} {4272#true} #448#return; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 93: Hoare triple {4272#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 94: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {4272#true} {4272#true} #456#return; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 96: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:10,691 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {4272#true} {4273#false} #452#return; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 98: Hoare triple {4273#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 99: Hoare triple {4273#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 100: Hoare triple {4273#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 101: Hoare triple {4273#false} assume true; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {4273#false} {4272#true} #470#return; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 103: Hoare triple {4273#false} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 104: Hoare triple {4273#false} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L272 TraceCheckUtils]: 105: Hoare triple {4273#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 106: Hoare triple {4273#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 107: Hoare triple {4273#false} assume !(~dll.base == 0 && ~dll.offset == 0); {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 108: Hoare triple {4273#false} goto; {4273#false} is VALID [2022-02-20 16:48:10,691 INFO L290 TraceCheckUtils]: 109: Hoare triple {4273#false} call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~dll.base, ~dll.offset, 4); {4273#false} is VALID [2022-02-20 16:48:10,692 INFO L290 TraceCheckUtils]: 110: Hoare triple {4273#false} assume #t~mem22.base == 0 && #t~mem22.offset == 0;havoc #t~mem22.base, #t~mem22.offset; {4273#false} is VALID [2022-02-20 16:48:10,692 INFO L272 TraceCheckUtils]: 111: Hoare triple {4273#false} call fail(); {4273#false} is VALID [2022-02-20 16:48:10,692 INFO L290 TraceCheckUtils]: 112: Hoare triple {4273#false} assume !false; {4273#false} is VALID [2022-02-20 16:48:10,692 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 15 proven. 23 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-02-20 16:48:10,692 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:48:10,692 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [921817446] [2022-02-20 16:48:10,692 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [921817446] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:10,692 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [370746265] [2022-02-20 16:48:10,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:10,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:10,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:48:10,693 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:48:10,694 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 16:48:10,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:10,966 INFO L263 TraceCheckSpWp]: Trace formula consists of 972 conjuncts, 55 conjunts are in the unsatisfiable core [2022-02-20 16:48:11,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:11,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:48:11,285 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 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 11 treesize of output 7 [2022-02-20 16:48:11,393 INFO L390 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 8 treesize of output 4 [2022-02-20 16:48:11,654 WARN L860 $PredicateComparison]: unable to prove that (exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |c_#StackHeapBarrier|) (= |c_##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base| (select (select (store |c_old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|)))) is different from true [2022-02-20 16:48:11,707 WARN L860 $PredicateComparison]: unable to prove that (exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |c_#StackHeapBarrier|) (= (select (select (store |c_old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))) is different from true [2022-02-20 16:48:11,911 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:48:11,957 INFO L290 TraceCheckUtils]: 0: Hoare triple {4272#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2); {4272#true} is VALID [2022-02-20 16:48:11,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {4272#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset, main_~dll~1#1.base, main_~dll~1#1.offset;assume { :begin_inline_dll_create_master } true;havoc dll_create_master_#res#1.base, dll_create_master_#res#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L272 TraceCheckUtils]: 2: Hoare triple {4272#true} call dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset := dll_create_generic(#funAddr~dll_insert_master.base, #funAddr~dll_insert_master.offset); {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L290 TraceCheckUtils]: 3: Hoare triple {4272#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {4272#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L290 TraceCheckUtils]: 6: Hoare triple {4272#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L272 TraceCheckUtils]: 7: Hoare triple {4272#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#true} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {4272#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:11,958 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L290 TraceCheckUtils]: 11: Hoare triple {4272#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {4272#true} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L272 TraceCheckUtils]: 13: Hoare triple {4272#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L272 TraceCheckUtils]: 14: Hoare triple {4272#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {4272#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L272 TraceCheckUtils]: 16: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L290 TraceCheckUtils]: 17: Hoare triple {4272#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L290 TraceCheckUtils]: 20: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L290 TraceCheckUtils]: 21: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L290 TraceCheckUtils]: 22: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L290 TraceCheckUtils]: 23: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L272 TraceCheckUtils]: 27: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4272#true} is VALID [2022-02-20 16:48:11,960 INFO L290 TraceCheckUtils]: 28: Hoare triple {4272#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {4272#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 32: Hoare triple {4272#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 34: Hoare triple {4272#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 35: Hoare triple {4272#true} assume { :end_inline_dll_insert_slave } true; {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L290 TraceCheckUtils]: 36: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:11,961 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4272#true} {4272#true} #452#return; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {4272#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 39: Hoare triple {4272#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 40: Hoare triple {4272#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 41: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4272#true} {4272#true} #446#return; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 43: Hoare triple {4272#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 44: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4272#true} {4272#true} #448#return; {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 46: Hoare triple {4272#true} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,962 INFO L290 TraceCheckUtils]: 47: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4272#true} {4272#true} #456#return; {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L290 TraceCheckUtils]: 49: Hoare triple {4272#true} assume true; {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4272#true} {4272#true} #450#return; {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L272 TraceCheckUtils]: 51: Hoare triple {4272#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L290 TraceCheckUtils]: 52: Hoare triple {4272#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L290 TraceCheckUtils]: 53: Hoare triple {4272#true} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L272 TraceCheckUtils]: 54: Hoare triple {4272#true} call dll_insert_master(#~10#1.base, #~10#1.offset); {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L290 TraceCheckUtils]: 55: Hoare triple {4272#true} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L290 TraceCheckUtils]: 56: Hoare triple {4272#true} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {4272#true} is VALID [2022-02-20 16:48:11,963 INFO L290 TraceCheckUtils]: 57: Hoare triple {4272#true} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {4272#true} is VALID [2022-02-20 16:48:11,964 INFO L290 TraceCheckUtils]: 58: Hoare triple {4272#true} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,964 INFO L290 TraceCheckUtils]: 59: Hoare triple {4272#true} assume ~next~3#1.base != 0 || ~next~3#1.offset != 0;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~next~3#1.base, 4 + ~next~3#1.offset, 4); {4272#true} is VALID [2022-02-20 16:48:11,964 INFO L272 TraceCheckUtils]: 60: Hoare triple {4272#true} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {4272#true} is VALID [2022-02-20 16:48:11,964 INFO L272 TraceCheckUtils]: 61: Hoare triple {4272#true} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {4272#true} is VALID [2022-02-20 16:48:11,964 INFO L290 TraceCheckUtils]: 62: Hoare triple {4272#true} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {4906#(and (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} is VALID [2022-02-20 16:48:11,965 INFO L272 TraceCheckUtils]: 63: Hoare triple {4906#(and (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4272#true} is VALID [2022-02-20 16:48:11,965 INFO L290 TraceCheckUtils]: 64: Hoare triple {4272#true} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4913#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:11,965 INFO L290 TraceCheckUtils]: 65: Hoare triple {4913#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4917#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (not (= 0 |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))} is VALID [2022-02-20 16:48:11,966 INFO L290 TraceCheckUtils]: 66: Hoare triple {4917#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (not (= 0 |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4917#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (not (= 0 |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))} is VALID [2022-02-20 16:48:11,966 INFO L290 TraceCheckUtils]: 67: Hoare triple {4917#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|) (not (= 0 |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|)))} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4924#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (not (= |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_#res#1.base| 0)) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} is VALID [2022-02-20 16:48:11,967 INFO L290 TraceCheckUtils]: 68: Hoare triple {4924#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (not (= |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_#res#1.base| 0)) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4928#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (not (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~item~0#1.base| 0)) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} is VALID [2022-02-20 16:48:11,967 INFO L290 TraceCheckUtils]: 69: Hoare triple {4928#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (not (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~item~0#1.base| 0)) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4928#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (not (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~item~0#1.base| 0)) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} is VALID [2022-02-20 16:48:11,968 INFO L290 TraceCheckUtils]: 70: Hoare triple {4928#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (not (= |##fun~$Pointer$~TO~VOID_dll_insert_slave_~item~0#1.base| 0)) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4935#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:11,968 INFO L290 TraceCheckUtils]: 71: Hoare triple {4935#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} assume { :end_inline_dll_insert_slave } true; {4935#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:11,969 INFO L290 TraceCheckUtils]: 72: Hoare triple {4935#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} assume true; {4935#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} is VALID [2022-02-20 16:48:11,969 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4935#(not (= (select (select |#memory_$Pointer$.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0))} {4906#(and (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} #450#return; {4945#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} is VALID [2022-02-20 16:48:11,970 INFO L272 TraceCheckUtils]: 74: Hoare triple {4945#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {4949#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2022-02-20 16:48:11,970 INFO L290 TraceCheckUtils]: 75: Hoare triple {4949#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {4953#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:11,971 INFO L290 TraceCheckUtils]: 76: Hoare triple {4953#(and (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {4957#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} is VALID [2022-02-20 16:48:11,971 INFO L290 TraceCheckUtils]: 77: Hoare triple {4957#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {4957#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} is VALID [2022-02-20 16:48:11,972 INFO L290 TraceCheckUtils]: 78: Hoare triple {4957#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {4964#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (<= |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_#res#1.base| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702)))) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} is VALID [2022-02-20 16:48:11,973 INFO L290 TraceCheckUtils]: 79: Hoare triple {4964#(and (= |##fun~$Pointer$~TO~VOID_#in~10#1.offset| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.offset|) (exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (<= |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_#res#1.base| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base|) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702)))) (= |##fun~$Pointer$~TO~VOID_#in~10#1.base| |##fun~$Pointer$~TO~VOID_dll_insert_slave_~dll#1.base|))} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {4968#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)))} is VALID [2022-02-20 16:48:11,974 INFO L290 TraceCheckUtils]: 80: Hoare triple {4968#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|) (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) |##fun~$Pointer$~TO~VOID_dll_insert_slave_~next~0#1.base|)))} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:11,975 INFO L290 TraceCheckUtils]: 81: Hoare triple {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:11,975 INFO L290 TraceCheckUtils]: 82: Hoare triple {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} assume { :end_inline_dll_insert_slave } true; {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:11,976 INFO L290 TraceCheckUtils]: 83: Hoare triple {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} assume true; {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} is VALID [2022-02-20 16:48:11,977 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {4972#(exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (= (select (select (store |old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0) (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |#StackHeapBarrier|)))} {4945#(and (not (= (select (select |#memory_$Pointer$.base| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0)) (< |#StackHeapBarrier| |dll_create_generic_~#dll~0.base|) (= |dll_create_generic_~#dll~0.offset| 0))} #452#return; {4273#false} is VALID [2022-02-20 16:48:11,977 INFO L290 TraceCheckUtils]: 85: Hoare triple {4273#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#false} is VALID [2022-02-20 16:48:11,977 INFO L290 TraceCheckUtils]: 86: Hoare triple {4273#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L290 TraceCheckUtils]: 87: Hoare triple {4273#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L290 TraceCheckUtils]: 88: Hoare triple {4273#false} assume true; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {4273#false} {4272#true} #446#return; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L290 TraceCheckUtils]: 90: Hoare triple {4273#false} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L290 TraceCheckUtils]: 91: Hoare triple {4273#false} assume true; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {4273#false} {4272#true} #448#return; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L290 TraceCheckUtils]: 93: Hoare triple {4273#false} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L290 TraceCheckUtils]: 94: Hoare triple {4273#false} assume true; {4273#false} is VALID [2022-02-20 16:48:11,978 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {4273#false} {4272#true} #456#return; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L290 TraceCheckUtils]: 96: Hoare triple {4273#false} assume true; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {4273#false} {4272#true} #452#return; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L290 TraceCheckUtils]: 98: Hoare triple {4273#false} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L290 TraceCheckUtils]: 99: Hoare triple {4273#false} assume !(0 != #t~nondet9);havoc #t~nondet9; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L290 TraceCheckUtils]: 100: Hoare triple {4273#false} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L290 TraceCheckUtils]: 101: Hoare triple {4273#false} assume true; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {4273#false} {4272#true} #470#return; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L290 TraceCheckUtils]: 103: Hoare triple {4273#false} dll_create_master_#res#1.base, dll_create_master_#res#1.offset := dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset;havoc dll_create_master_#t~ret21#1.base, dll_create_master_#t~ret21#1.offset; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L290 TraceCheckUtils]: 104: Hoare triple {4273#false} main_#t~ret46#1.base, main_#t~ret46#1.offset := dll_create_master_#res#1.base, dll_create_master_#res#1.offset;assume { :end_inline_dll_create_master } true;main_~dll~1#1.base, main_~dll~1#1.offset := main_#t~ret46#1.base, main_#t~ret46#1.offset;havoc main_#t~ret46#1.base, main_#t~ret46#1.offset;assume { :begin_inline_inspect_full } true;inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset := main_~dll~1#1.base, main_~dll~1#1.offset;havoc inspect_full_#t~mem32#1.base, inspect_full_#t~mem32#1.offset, inspect_full_#t~mem33#1.base, inspect_full_#t~mem33#1.offset, inspect_full_#t~mem34#1.base, inspect_full_#t~mem34#1.offset, inspect_full_#t~mem35#1.base, inspect_full_#t~mem35#1.offset, inspect_full_#t~mem37#1.base, inspect_full_#t~mem37#1.offset, inspect_full_#t~mem38#1.base, inspect_full_#t~mem38#1.offset, inspect_full_#t~mem39#1.base, inspect_full_#t~mem39#1.offset, inspect_full_#t~mem40#1.base, inspect_full_#t~mem40#1.offset, inspect_full_#t~mem41#1.base, inspect_full_#t~mem41#1.offset, inspect_full_#t~mem36#1.base, inspect_full_#t~mem36#1.offset, inspect_full_#t~mem31#1.base, inspect_full_#t~mem31#1.offset, inspect_full_~pos~0#1.base, inspect_full_~pos~0#1.offset, inspect_full_~dll#1.base, inspect_full_~dll#1.offset;inspect_full_~dll#1.base, inspect_full_~dll#1.offset := inspect_full_#in~dll#1.base, inspect_full_#in~dll#1.offset; {4273#false} is VALID [2022-02-20 16:48:11,979 INFO L272 TraceCheckUtils]: 105: Hoare triple {4273#false} call inspect_base(inspect_full_~dll#1.base, inspect_full_~dll#1.offset); {4273#false} is VALID [2022-02-20 16:48:11,980 INFO L290 TraceCheckUtils]: 106: Hoare triple {4273#false} ~dll.base, ~dll.offset := #in~dll.base, #in~dll.offset; {4273#false} is VALID [2022-02-20 16:48:11,980 INFO L290 TraceCheckUtils]: 107: Hoare triple {4273#false} assume !(~dll.base == 0 && ~dll.offset == 0); {4273#false} is VALID [2022-02-20 16:48:11,980 INFO L290 TraceCheckUtils]: 108: Hoare triple {4273#false} goto; {4273#false} is VALID [2022-02-20 16:48:11,980 INFO L290 TraceCheckUtils]: 109: Hoare triple {4273#false} call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~dll.base, ~dll.offset, 4); {4273#false} is VALID [2022-02-20 16:48:11,980 INFO L290 TraceCheckUtils]: 110: Hoare triple {4273#false} assume #t~mem22.base == 0 && #t~mem22.offset == 0;havoc #t~mem22.base, #t~mem22.offset; {4273#false} is VALID [2022-02-20 16:48:11,980 INFO L272 TraceCheckUtils]: 111: Hoare triple {4273#false} call fail(); {4273#false} is VALID [2022-02-20 16:48:11,980 INFO L290 TraceCheckUtils]: 112: Hoare triple {4273#false} assume !false; {4273#false} is VALID [2022-02-20 16:48:11,981 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 80 proven. 3 refuted. 0 times theorem prover too weak. 46 trivial. 5 not checked. [2022-02-20 16:48:11,981 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:48:12,382 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:12,763 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:13,127 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:13,484 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:13,863 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:14,096 WARN L756 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-02-20 16:48:14,174 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base_139| Int) (v_ArrVal_2742 (Array Int Int))) (or (not (< |v_##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base_139| |c_#StackHeapBarrier|)) (not (= (select (select (store |c_#memory_$Pointer$.base| |v_##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base_139| v_ArrVal_2742) |c_dll_create_generic_~#dll~0.base|) |c_dll_create_generic_~#dll~0.offset|) 0)))) is different from false [2022-02-20 16:48:14,175 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [370746265] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:48:14,176 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:48:14,176 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 15] total 24 [2022-02-20 16:48:14,176 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [337130110] [2022-02-20 16:48:14,176 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:48:14,179 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 21 states have (on average 3.619047619047619) internal successors, (76), 21 states have internal predecessors, (76), 8 states have call successors, (20), 4 states have call predecessors, (20), 6 states have return successors, (17), 5 states have call predecessors, (17), 8 states have call successors, (17) Word has length 113 [2022-02-20 16:48:14,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:48:14,273 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 24 states, 21 states have (on average 3.619047619047619) internal successors, (76), 21 states have internal predecessors, (76), 8 states have call successors, (20), 4 states have call predecessors, (20), 6 states have return successors, (17), 5 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 16:48:14,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:14,348 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-02-20 16:48:14,348 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:48:14,349 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-02-20 16:48:14,349 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=414, Unknown=3, NotChecked=126, Total=600 [2022-02-20 16:48:14,349 INFO L87 Difference]: Start difference. First operand 166 states and 204 transitions. Second operand has 24 states, 21 states have (on average 3.619047619047619) internal successors, (76), 21 states have internal predecessors, (76), 8 states have call successors, (20), 4 states have call predecessors, (20), 6 states have return successors, (17), 5 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 16:48:14,822 WARN L860 $PredicateComparison]: unable to prove that (and (not (= (select (select |c_#memory_$Pointer$.base| |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)) (exists ((v_ArrVal_2702 (Array Int Int)) (|##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| Int)) (and (< |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| |c_#StackHeapBarrier|) (= (select (select (store |c_old(#memory_$Pointer$.base)| |##fun~$Pointer$~TO~VOID_alloc_or_die_slave_~ptr~0#1.base| v_ArrVal_2702) |c_##fun~$Pointer$~TO~VOID_#in~10#1.base|) |c_##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)))) is different from true [2022-02-20 16:48:17,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:17,092 INFO L93 Difference]: Finished difference Result 338 states and 426 transitions. [2022-02-20 16:48:17,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-20 16:48:17,093 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 21 states have (on average 3.619047619047619) internal successors, (76), 21 states have internal predecessors, (76), 8 states have call successors, (20), 4 states have call predecessors, (20), 6 states have return successors, (17), 5 states have call predecessors, (17), 8 states have call successors, (17) Word has length 113 [2022-02-20 16:48:17,093 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:48:17,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 21 states have (on average 3.619047619047619) internal successors, (76), 21 states have internal predecessors, (76), 8 states have call successors, (20), 4 states have call predecessors, (20), 6 states have return successors, (17), 5 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 16:48:17,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 334 transitions. [2022-02-20 16:48:17,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 21 states have (on average 3.619047619047619) internal successors, (76), 21 states have internal predecessors, (76), 8 states have call successors, (20), 4 states have call predecessors, (20), 6 states have return successors, (17), 5 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 16:48:17,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 334 transitions. [2022-02-20 16:48:17,102 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 334 transitions. [2022-02-20 16:48:17,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 334 edges. 334 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:48:17,336 INFO L225 Difference]: With dead ends: 338 [2022-02-20 16:48:17,336 INFO L226 Difference]: Without dead ends: 180 [2022-02-20 16:48:17,337 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 194 GetRequests, 157 SyntacticMatches, 0 SemanticMatches, 37 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=144, Invalid=1054, Unknown=8, NotChecked=276, Total=1482 [2022-02-20 16:48:17,337 INFO L933 BasicCegarLoop]: 126 mSDtfsCounter, 55 mSDsluCounter, 1146 mSDsCounter, 0 mSdLazyCounter, 1139 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 1272 SdHoareTripleChecker+Invalid, 1606 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 1139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 424 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 16:48:17,338 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 1272 Invalid, 1606 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 1139 Invalid, 0 Unknown, 424 Unchecked, 0.9s Time] [2022-02-20 16:48:17,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2022-02-20 16:48:17,372 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 171. [2022-02-20 16:48:17,372 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:48:17,374 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand has 171 states, 129 states have (on average 1.248062015503876) internal successors, (161), 148 states have internal predecessors, (161), 30 states have call successors, (30), 10 states have call predecessors, (30), 11 states have return successors, (19), 14 states have call predecessors, (19), 16 states have call successors, (19) [2022-02-20 16:48:17,375 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand has 171 states, 129 states have (on average 1.248062015503876) internal successors, (161), 148 states have internal predecessors, (161), 30 states have call successors, (30), 10 states have call predecessors, (30), 11 states have return successors, (19), 14 states have call predecessors, (19), 16 states have call successors, (19) [2022-02-20 16:48:17,375 INFO L87 Difference]: Start difference. First operand 180 states. Second operand has 171 states, 129 states have (on average 1.248062015503876) internal successors, (161), 148 states have internal predecessors, (161), 30 states have call successors, (30), 10 states have call predecessors, (30), 11 states have return successors, (19), 14 states have call predecessors, (19), 16 states have call successors, (19) [2022-02-20 16:48:17,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:17,380 INFO L93 Difference]: Finished difference Result 180 states and 222 transitions. [2022-02-20 16:48:17,380 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 222 transitions. [2022-02-20 16:48:17,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:17,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:17,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 171 states, 129 states have (on average 1.248062015503876) internal successors, (161), 148 states have internal predecessors, (161), 30 states have call successors, (30), 10 states have call predecessors, (30), 11 states have return successors, (19), 14 states have call predecessors, (19), 16 states have call successors, (19) Second operand 180 states. [2022-02-20 16:48:17,381 INFO L87 Difference]: Start difference. First operand has 171 states, 129 states have (on average 1.248062015503876) internal successors, (161), 148 states have internal predecessors, (161), 30 states have call successors, (30), 10 states have call predecessors, (30), 11 states have return successors, (19), 14 states have call predecessors, (19), 16 states have call successors, (19) Second operand 180 states. [2022-02-20 16:48:17,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:48:17,385 INFO L93 Difference]: Finished difference Result 180 states and 222 transitions. [2022-02-20 16:48:17,385 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 222 transitions. [2022-02-20 16:48:17,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:48:17,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:48:17,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:48:17,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:48:17,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 171 states, 129 states have (on average 1.248062015503876) internal successors, (161), 148 states have internal predecessors, (161), 30 states have call successors, (30), 10 states have call predecessors, (30), 11 states have return successors, (19), 14 states have call predecessors, (19), 16 states have call successors, (19) [2022-02-20 16:48:17,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 210 transitions. [2022-02-20 16:48:17,398 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 210 transitions. Word has length 113 [2022-02-20 16:48:17,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:48:17,398 INFO L470 AbstractCegarLoop]: Abstraction has 171 states and 210 transitions. [2022-02-20 16:48:17,398 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 21 states have (on average 3.619047619047619) internal successors, (76), 21 states have internal predecessors, (76), 8 states have call successors, (20), 4 states have call predecessors, (20), 6 states have return successors, (17), 5 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 16:48:17,398 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 210 transitions. [2022-02-20 16:48:17,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-02-20 16:48:17,399 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:48:17,399 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 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] [2022-02-20 16:48:17,425 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 16:48:17,599 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:48:17,600 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting failErr0ASSERT_VIOLATIONERROR_FUNCTION === [failErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:48:17,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:48:17,600 INFO L85 PathProgramCache]: Analyzing trace with hash 522299907, now seen corresponding path program 1 times [2022-02-20 16:48:17,600 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:48:17,600 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [141256644] [2022-02-20 16:48:17,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:48:17,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:48:17,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:17,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:18,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,163 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:18,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,209 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:18,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:18,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,333 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:18,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 16:48:18,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,359 INFO L290 TraceCheckUtils]: 0: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 3: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 4: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 5: Hoare triple {6252#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 6: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 7: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,360 INFO L290 TraceCheckUtils]: 8: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,361 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6252#true} {6252#true} #450#return; {6252#true} is VALID [2022-02-20 16:48:18,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 16:48:18,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,368 INFO L290 TraceCheckUtils]: 0: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,368 INFO L290 TraceCheckUtils]: 3: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,369 INFO L290 TraceCheckUtils]: 4: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {6252#true} assume dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, 4 + dll_insert_slave_~next~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,369 INFO L290 TraceCheckUtils]: 6: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,369 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6252#true} {6252#true} #452#return; {6252#true} is VALID [2022-02-20 16:48:18,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,370 INFO L272 TraceCheckUtils]: 1: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,370 INFO L290 TraceCheckUtils]: 3: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L290 TraceCheckUtils]: 4: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {6252#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L290 TraceCheckUtils]: 10: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,371 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6252#true} {6252#true} #450#return; {6252#true} is VALID [2022-02-20 16:48:18,372 INFO L272 TraceCheckUtils]: 12: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 16: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 17: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 18: Hoare triple {6252#true} assume dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, 4 + dll_insert_slave_~next~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 19: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,373 INFO L290 TraceCheckUtils]: 21: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,374 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6252#true} {6252#true} #452#return; {6252#true} is VALID [2022-02-20 16:48:18,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {6252#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6252#true} is VALID [2022-02-20 16:48:18,374 INFO L290 TraceCheckUtils]: 24: Hoare triple {6252#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6252#true} is VALID [2022-02-20 16:48:18,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {6252#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {6252#true} is VALID [2022-02-20 16:48:18,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,374 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6252#true} {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {6252#true} is VALID [2022-02-20 16:48:18,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,376 INFO L272 TraceCheckUtils]: 2: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,376 INFO L290 TraceCheckUtils]: 3: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,376 INFO L290 TraceCheckUtils]: 4: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,376 INFO L290 TraceCheckUtils]: 6: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,376 INFO L290 TraceCheckUtils]: 7: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,377 INFO L290 TraceCheckUtils]: 8: Hoare triple {6252#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6252#true} is VALID [2022-02-20 16:48:18,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,377 INFO L290 TraceCheckUtils]: 10: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,377 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6252#true} {6252#true} #450#return; {6252#true} is VALID [2022-02-20 16:48:18,378 INFO L272 TraceCheckUtils]: 13: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 18: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 19: Hoare triple {6252#true} assume dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, 4 + dll_insert_slave_~next~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 20: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 21: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 22: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6252#true} {6252#true} #452#return; {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 24: Hoare triple {6252#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 25: Hoare triple {6252#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6252#true} is VALID [2022-02-20 16:48:18,379 INFO L290 TraceCheckUtils]: 26: Hoare triple {6252#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {6252#true} is VALID [2022-02-20 16:48:18,380 INFO L290 TraceCheckUtils]: 27: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,380 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6252#true} {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {6252#true} is VALID [2022-02-20 16:48:18,380 INFO L290 TraceCheckUtils]: 29: Hoare triple {6252#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6252#true} is VALID [2022-02-20 16:48:18,380 INFO L290 TraceCheckUtils]: 30: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,381 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6252#true} {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {6501#(and (= |dll_insert_master_alloc_or_die_master_#res#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,383 INFO L290 TraceCheckUtils]: 3: Hoare triple {6501#(and (= |dll_insert_master_alloc_or_die_master_#res#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,383 INFO L290 TraceCheckUtils]: 4: Hoare triple {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,384 INFO L272 TraceCheckUtils]: 5: Hoare triple {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,386 INFO L272 TraceCheckUtils]: 8: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,386 INFO L290 TraceCheckUtils]: 10: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {6252#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6252#true} is VALID [2022-02-20 16:48:18,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,387 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6252#true} {6252#true} #450#return; {6252#true} is VALID [2022-02-20 16:48:18,388 INFO L272 TraceCheckUtils]: 19: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,388 INFO L290 TraceCheckUtils]: 20: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,388 INFO L290 TraceCheckUtils]: 21: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,388 INFO L290 TraceCheckUtils]: 22: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 25: Hoare triple {6252#true} assume dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, 4 + dll_insert_slave_~next~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 26: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 27: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 28: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6252#true} {6252#true} #452#return; {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 30: Hoare triple {6252#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {6252#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 32: Hoare triple {6252#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {6252#true} is VALID [2022-02-20 16:48:18,389 INFO L290 TraceCheckUtils]: 33: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,390 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6252#true} {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {6252#true} is VALID [2022-02-20 16:48:18,390 INFO L290 TraceCheckUtils]: 35: Hoare triple {6252#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6252#true} is VALID [2022-02-20 16:48:18,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,390 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6252#true} {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,391 INFO L290 TraceCheckUtils]: 38: Hoare triple {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} is VALID [2022-02-20 16:48:18,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} assume true; {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} is VALID [2022-02-20 16:48:18,392 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} {6457#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {6499#(= (select (select |#memory_$Pointer$.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)} is VALID [2022-02-20 16:48:18,393 INFO L290 TraceCheckUtils]: 0: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6457#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:18,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {6457#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} assume #in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset; {6457#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} is VALID [2022-02-20 16:48:18,394 INFO L272 TraceCheckUtils]: 2: Hoare triple {6457#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} call dll_insert_master(#~10#1.base, #~10#1.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,394 INFO L290 TraceCheckUtils]: 3: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~dll#1.base, ~dll#1.offset := #in~dll#1.base, #in~dll#1.offset;assume { :begin_inline_alloc_or_die_master } true;havoc alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset;call alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset := alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset;havoc alloc_or_die_master_#t~malloc4#1.base, alloc_or_die_master_#t~malloc4#1.offset; {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,395 INFO L290 TraceCheckUtils]: 4: Hoare triple {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(alloc_or_die_master_~ptr~1#1.base == 0 && alloc_or_die_master_~ptr~1#1.offset == 0); {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {6500#(and (= |dll_insert_master_alloc_or_die_master_~ptr~1#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 4 + alloc_or_die_master_~ptr~1#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_master_~ptr~1#1.base, 8 + alloc_or_die_master_~ptr~1#1.offset, 4);alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset := alloc_or_die_master_~ptr~1#1.base, alloc_or_die_master_~ptr~1#1.offset; {6501#(and (= |dll_insert_master_alloc_or_die_master_#res#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,396 INFO L290 TraceCheckUtils]: 6: Hoare triple {6501#(and (= |dll_insert_master_alloc_or_die_master_#res#1.offset| 0) (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #t~ret18#1.base, #t~ret18#1.offset := alloc_or_die_master_#res#1.base, alloc_or_die_master_#res#1.offset;assume { :end_inline_alloc_or_die_master } true;~item~1#1.base, ~item~1#1.offset := #t~ret18#1.base, #t~ret18#1.offset;havoc #t~ret18#1.base, #t~ret18#1.offset;call #t~mem19#1.base, #t~mem19#1.offset := read~$Pointer$(~dll#1.base, ~dll#1.offset, 4);~next~3#1.base, ~next~3#1.offset := #t~mem19#1.base, #t~mem19#1.offset;havoc #t~mem19#1.base, #t~mem19#1.offset;call write~$Pointer$(~next~3#1.base, ~next~3#1.offset, ~item~1#1.base, ~item~1#1.offset, 4); {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} assume !(~next~3#1.base != 0 || ~next~3#1.offset != 0); {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,397 INFO L272 TraceCheckUtils]: 8: Hoare triple {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call #t~ret20#1.base, #t~ret20#1.offset := dll_create_slave(); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,398 INFO L272 TraceCheckUtils]: 9: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} call #t~ret12.base, #t~ret12.offset := dll_create_generic(#funAddr~dll_insert_slave.base, #funAddr~dll_insert_slave.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,398 INFO L290 TraceCheckUtils]: 10: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~insert_fnc.base, ~insert_fnc.offset := #in~insert_fnc.base, #in~insert_fnc.offset;call ~#dll~0.base, ~#dll~0.offset := #Ultimate.allocOnStack(4);call write~init~$Pointer$(0, 0, ~#dll~0.base, ~#dll~0.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,398 INFO L272 TraceCheckUtils]: 11: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 16: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 17: Hoare triple {6252#true} assume !(dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0); {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 18: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 19: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,399 INFO L290 TraceCheckUtils]: 20: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,400 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6252#true} {6252#true} #450#return; {6252#true} is VALID [2022-02-20 16:48:18,400 INFO L272 TraceCheckUtils]: 22: Hoare triple {6252#true} call ##fun~$Pointer$~TO~VOID(~#dll~0.base, ~#dll~0.offset, ~insert_fnc.base, ~insert_fnc.offset); {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 23: Hoare triple {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #~10#1.base, #~10#1.offset := #in~10#1.base, #in~10#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 24: Hoare triple {6252#true} assume !(#in~#fp#1.base == #funAddr~dll_insert_master.base && #in~#fp#1.offset == #funAddr~dll_insert_master.offset);assume { :begin_inline_dll_insert_slave } true;dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset := #~10#1.base, #~10#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset, dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset;dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset := dll_insert_slave_#in~dll#1.base, dll_insert_slave_#in~dll#1.offset;assume { :begin_inline_alloc_or_die_slave } true;havoc alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset;call alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset := alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset;havoc alloc_or_die_slave_#t~malloc3#1.base, alloc_or_die_slave_#t~malloc3#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 25: Hoare triple {6252#true} assume !(alloc_or_die_slave_~ptr~0#1.base == 0 && alloc_or_die_slave_~ptr~0#1.offset == 0); {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 26: Hoare triple {6252#true} call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);call write~$Pointer$(0, 0, alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset, 4);alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset := alloc_or_die_slave_~ptr~0#1.base, alloc_or_die_slave_~ptr~0#1.offset; {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 27: Hoare triple {6252#true} dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset := alloc_or_die_slave_#res#1.base, alloc_or_die_slave_#res#1.offset;assume { :end_inline_alloc_or_die_slave } true;dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset := dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;havoc dll_insert_slave_#t~ret5#1.base, dll_insert_slave_#t~ret5#1.offset;call dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset := read~$Pointer$(dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4);dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset := dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;havoc dll_insert_slave_#t~mem6#1.base, dll_insert_slave_#t~mem6#1.offset;call write~$Pointer$(dll_insert_slave_~next~0#1.base, dll_insert_slave_~next~0#1.offset, dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 28: Hoare triple {6252#true} assume dll_insert_slave_~next~0#1.base != 0 || dll_insert_slave_~next~0#1.offset != 0;call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~next~0#1.base, 4 + dll_insert_slave_~next~0#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {6252#true} call write~$Pointer$(dll_insert_slave_~item~0#1.base, dll_insert_slave_~item~0#1.offset, dll_insert_slave_~dll#1.base, dll_insert_slave_~dll#1.offset, 4); {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {6252#true} assume { :end_inline_dll_insert_slave } true; {6252#true} is VALID [2022-02-20 16:48:18,401 INFO L290 TraceCheckUtils]: 31: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6252#true} {6252#true} #452#return; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L290 TraceCheckUtils]: 33: Hoare triple {6252#true} assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {6252#true} assume !(0 != #t~nondet9);havoc #t~nondet9; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {6252#true} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~#dll~0.base, ~#dll~0.offset, 4);#res.base, #res.offset := #t~mem11.base, #t~mem11.offset;havoc #t~mem11.base, #t~mem11.offset;call ULTIMATE.dealloc(~#dll~0.base, ~#dll~0.offset);havoc ~#dll~0.base, ~#dll~0.offset; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6252#true} {6360#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} #446#return; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L290 TraceCheckUtils]: 38: Hoare triple {6252#true} #res.base, #res.offset := #t~ret12.base, #t~ret12.offset;havoc #t~ret12.base, #t~ret12.offset; {6252#true} is VALID [2022-02-20 16:48:18,402 INFO L290 TraceCheckUtils]: 39: Hoare triple {6252#true} assume true; {6252#true} is VALID [2022-02-20 16:48:18,403 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6252#true} {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} #448#return; {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} is VALID [2022-02-20 16:48:18,404 INFO L290 TraceCheckUtils]: 41: Hoare triple {6502#(and (= |dll_insert_master_~dll#1.offset| |dll_insert_master_#in~dll#1.offset|) (= |dll_insert_master_~item~1#1.offset| 0) (= |dll_insert_master_~dll#1.base| |dll_insert_master_#in~dll#1.base|))} call write~$Pointer$(#t~ret20#1.base, #t~ret20#1.offset, ~item~1#1.base, 8 + ~item~1#1.offset, 4);havoc #t~ret20#1.base, #t~ret20#1.offset;call write~$Pointer$(~item~1#1.base, ~item~1#1.offset, ~dll#1.base, ~dll#1.offset, 4); {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} is VALID [2022-02-20 16:48:18,404 INFO L290 TraceCheckUtils]: 42: Hoare triple {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} assume true; {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} is VALID [2022-02-20 16:48:18,405 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6535#(= (select (select |#memory_$Pointer$.offset| |dll_insert_master_#in~dll#1.base|) |dll_insert_master_#in~dll#1.offset|) 0)} {6457#(and (= |##fun~$Pointer$~TO~VOID_#~10#1.base| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) (= |##fun~$Pointer$~TO~VOID_#~10#1.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.offset|))} #456#return; {6499#(= (select (select |#memory_$Pointer$.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)} is VALID [2022-02-20 16:48:18,405 INFO L290 TraceCheckUtils]: 44: Hoare triple {6499#(= (select (select |#memory_$Pointer$.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)} assume true; {6499#(= (select (select |#memory_$Pointer$.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)} is VALID [2022-02-20 16:48:18,406 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6499#(= (select (select |#memory_$Pointer$.offset| |##fun~$Pointer$~TO~VOID_#in~10#1.base|) |##fun~$Pointer$~TO~VOID_#in~10#1.offset|) 0)} {6361#(= |dll_create_generic_~#dll~0.offset| 0)} #450#return; {6408#(and (= (select (select |#memory_$Pointer$.offset| |dll_create_generic_~#dll~0.base|) |dll_create_generic_~#dll~0.offset|) 0) (= |dll_create_generic_~#dll~0.offset| 0))} is VALID [2022-02-20 16:48:18,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 16:48:18,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:18,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 16:48:18,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:19,036 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-20 16:48:19,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:48:19,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-02-20 16:48:19,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat